Rapid advancements in computer hardware and high quality software libraries have enabled one to undertake works requiring high precision scientific computing with relative ease. The course involves exploration of various tools available for scientific computing with an emphasis on hands-on implementation. The course will deal briefly with the theory and the associated implementation for practical problems that an engineer may encounter. Undergraduates, postgraduates, and PhD students may find this course immensely useful for their project or research work. The course will make use of Python, GNU Octave, and PETSC (C based) as the medium of coding.
INTENDED AUDIENCE: Undergraduate and postgraduate students PREREQUISITES: 1 st year undergraduate mathematics, Partial Differential equations INDUSTRY SUPPORT:This is expected to be a basic course which would enable the student to undertake research and development with the help of freely available scientific tools. It is difficult to pinpoint which industry would find value in this course.
Introduction to numerical methods – discussion on techniques studied in other NPTEL courses and relevance to science and engineering.
Some basic ideas revisited – numerical errors, round off errors.
Elementary demonstrations of using computer programs for system of linear equations, nonlinear algebraic equation etc. using Python/GNU Octave
Nonlinear dynamics – 1D and 2D flows (Python, GNU Octave).
Understanding flows in 1D and 2D .
Understanding phase portraits and the structure of nonlinear ODEs
Nonlinear dynamics contd. Logistic maps and Time
dependent ODEs using Python/GNU Octave
Random walks, Probability distribution functions, and
stochastic processes using Python/GNU Octave
Boundary value problems
Ideas of regular and singular perturbation methods and
implementations in Python/GNU Octave
Finite difference methods for PDEs using PETSC
Finite difference methods for Convection-diffusion problems