AEML SENR & Dept of Math SoPS Atmosphere & Environment Modelling Lab (AEML) School of Environment & Natural Resources (SENR) School of Physical Sciences (SoPS) bring to You A fully Practical Python Workshop Numerical Computation, Modelling and Simulation with PYTHON 15th April 2023, 9:00 AM to 5:15 PM Scan QR Code to Register Chief Patron : Prof. Surekha Dangwal, Vice Chancellor Organizers : Dr. Asha Ram Gairola HoD, Dept. of Math, SoPS Dr. Komal, Asst. Prof. Dr. Sarita, Asst. Prof. Dept of Math, SoPS Convenor : Dr. Ujjwal Kumar, Asst. Prof., SENR Room No. 320, Computer Centre, Academic Block III (Library Building), Doon University An Initiative by Department of Mathematics, School of Physical Sciences (SoPS) & Atmosphere and Environment Modelling Lab (AEML), School of Environment and Natural Resources (SENR) DOON UNIVERSITY Contact : aeml.senr@gmail.com Objective : The objective of this workshop is to equip the students/researchers to use PYTHON programming language for all kinds of numerical techniques and its applications in modelling. Numerical techniques are essential for all areas of research/industrial-projects wherever the mathematical modelling is involved. It encompasses application research areas such as weather forecasting, modelling of environmental systems (e.g., atmosphere, aquatic systems, lands and their interaction), modelling of biological systems (e.g., blood flow in veins), epidemiological study (modelling the spread of disease such as covid-19 spread), modelling the financial systems (e.g., Black–Scholes model for option prices), atoms/molecules interactions and many more. Why python? Firstly, it is available absolutely free of cost. One just needs a laptop/computer system and internet connection to download and install it. Using PYTHON modules keep us free from worries about arranging finance for software purchasing or running from one institute to another institute to use the software license for their specific features. Secondly, it is highly efficient and at par with the most of the commercially available softwares such as MATLAB, MATHEMATICA, MAPLE, IDL etc for most of their features, if not all. It is highly popular and one of the most widely used programming language in industry. It is one of the fastest growing as well as the top-most used programming language (as per the language rankings by Red monk). Moreover, Python can be easily used from “small scale laptop” to a very high scale “High Performance Computing (HPC)” systems while exploiting every bit of available corresponding hardware features. Pre-requisites: Since it is a one day fully practical workshop, it is expected that participants are familiar with the theoretical aspects of numerical techniques. Even if they are not familiar but interested, the workshop will prove to be useful for them because all of these will be explained in the workshop too. We assume that the participants have no familiarity with PYTHON at all. Therefore, we will start from the very basics of Python and move it to very advanced level of usage of PYTHON for Numerical techniques. Hence, whether one is familiar with Python or not, it will be beneficial for all of them who need to build or apply mathematical/numerical modelling tasks in their research/project work. In the workshop, the focus is on practical aspects, we’ll implement all of the modelling/numerical techniques through the use of Python. If a participant owns a laptop, please visit https://www.anaconda.com/products/distribution website, download “Anaconda” and install it in his/her laptop. ‘Anaconda’ is ‘Python 3.9 with thousands of packages already included’. Once ‘Anaconda’ is installed, open ‘Spyder’ and work with python. 2 Venue : Room No. 320, Computer Centre, Academic Block III (Library Building), Doon University Date and Time : 15/04/2023, 9:00 AM to 5:15 PM Registration : Registration is absolutely free. To participate, please register at https://docs.google.com/forms/d/e/1FAIpQLSeB8WbwVgbR6F5oAZ4ntKT2jxvo_wAMFKGarJomy0QmO1y_Q/viewform?usp=share_link Organizing Committee Members: For any query, write an email to ukumar.senr@doonuniversity.ac.in or please contact 1. Ishan Rayal, Ph.D. Scholar, SENR (ishanrayal@gmail.com, 8979191358) 2. Deepak Kumar Mishra, Ph.D., SENR (deepaknikhilmishra74@gmail.com , 9639111483 ) 3. Vinay Pandey, Ph.D. Scholar, Dept. of Math, SoPS (vinaypandeyg21@gmail.com , 9759400598) 4. Suruchi, Ph.D. Scholar, Dept. of Math, SoPS (maindola555@gmail.com) 5. Sukhwinder Rawat, Ph.D. Scholar, Dept of Math, SoPS (sukhwinderawat@gmail.com) 3 One Day hands-on Workshop on Numerical Computation, Modelling & Simulation with PYTHON Four Sessions by Dr. Ujjwal Kumar Session 1 : 9:00 AM to 11:00 AM Tea Break (15 min) Session 2 : 11:15 AM to 1:00 PM Lunch Break (1 hour) Session 3 : 2:00 PM to 3:45 PM Tea Break (15 min) Session 4 : 4:00 to 5:15 PM (End of the Session) Session 1 Python : An Introduction 1. Basics of Python Data types : integer, float, string, list, tuple, dictionary, set, array Arithmetic Operators : numerical operations Relational operators (or, and, not (!) ) 2. conditional statements (if, elif ), conditional operators ( ==, >=, <=, != ), loops (for, while) function (def) 3. Introduction to modules : numpy (operations on arrays), matplotlib (plotting with data) Session 2 : Numerical Methods in Python : 1. Root finding methods : (i) Bisection, Newton-Raphson, secant, regula falsi, brentq methods (Program : scipy_bisection_newton_iteration_secant.py) 2. Interpolation : (i) Lagrange interpolation (ii) Spline methods : (a) Linear spline (b) Quadratic spline (c) Cubic spline 4 (Program : scipy_interpolate_lagrange_linear_quadratic_cubic_spline.py) 3. Curve fitting Nonlinear least square methods (Program : curve_fit_nonlinear_scipy.py) 4. Matrices and Linear system of equations : (i) Inverse of a matrix (ii) Gaussian elimination method (iii) LU decomposition (iv) Singular Value Decomposition (SVD) (v) Tridiagonal system of matrix (Program : Matrix_system_of_equations.py) Session 3 : 5. Numerical Differentiation: (i) Finite difference approximation (Program : numerical_derivative_using_scipy.py) 6. Numerical Integration : (i) trapezoidal (ii) Simpson methods (iii) Romberg integration (iv) Gaussian quadrature (Program : num_integration_test_with_scipy.py) 7. Ordinary Differential Equations (ODE) : (i) Initial Value problem (ii) Boundary value problem (iii) Using Runge-Kutta method Modelling Applications: (i) (ii) (iii) (iv) (v) Lorenz Attractor Population growth model (Malthusian, Logistic growth model) A Model for the spread of a disease Meteorological Model (Equations of Motion in NWP) Lotka Volterra Model (An Ecological Model) (Program : scipy_ode_ivp_ujjwal_2.py) SESSION 4 : Finite Difference Methods and Finite Elements Methods for PDE : An Introduction 8. Partial Differential Equations (PDE) : (Finite Difference Method) (py-pde implementation) (i) Laplace Equation (ii) Poisson Equations 5 (iii) Time variable problem (Heat Equation, Diffusion Equation) Modelling Applications : (i) (ii) (iii) (iv) Diffusion Equation with spatial dependence Stochastic Diffusion Equation Brusselator Equation Kuramaot-Sivashinsky Equation 9. Partial Differential Equations (PDE) : (Finite Elements Method) (FEniCS implementation) (Linux/Unix System) Modelling Applications : (i) (ii) (iii) (iv) (v) Poisson Equation (in two dimension) Applications : Deflection of a membrane Heat Equation (Time Dependence PDE) Applications : Heat Equation Diffusion of a Gaussian Membrane Nonlinear Poisson Equation Applications : Linear Elasticity Navier-Stokes Equations Applications : Channel Flow : Poiseuille flow Flow past a cylinder Advection Diffusion Reaction 6