Prof. Shivasubramanian Gopalakrishnan
This course offers a thorough treatment of Galerkin methods, which are a special class of methods in numerical analysis for converting a continuous operator problem (such as differential equations) to a discrete problem. These methods have numerous applications in the fields of solid and fluid mechanics (FEM and CFD).
The course will cover global and local methods as well as continuous and discontinuous methods. These concepts are compared with the finite differences method. These methods are implemented in 1D PDEs like the Poisson equation and the advection diffusion equation. In the latter half of the course these concepts will be extended to a system of nonlinear equations.
Motivation and Key Learning:
This course requires a background in numerical methods such as ME 704 or MA 214. Good coding skills aren’t necessary but they are recommended. The learning curve can be a little steep but on completing the projects, one will have learnt a lot and will have a strong base to work in CFD. The course load isn’t much if one attends classes and is regular with project discussion.
- Introduction and motivation for using numerical methods; it’s role in scientific computing
- Classification of PDEs, Lax equivalence theorem
- Comparison of differential equations and integral equations, i.e. finite differences method vs Galerkin methods
- Finite elements, spectral elements, finite volumes and discontinuous methods
- Interpolation and approximation theory
- 1D advection and diffusion equation and elliptic equations
- Upwinding, numerical flux functions (for first and second order differential operators), numerical filters and numerical diffusion
- 2D linear scalar equations: Poisson and advection-diffusion equations; boundary conditions; the importance of grid generation
Initially, the course structure announced included 4 projects, each worth 25% weightage. These projects involved writing code to solve a particular problem (say the advection diffusion equation) using Galerkin methods. The code can be written in any language such as MATLAB, Scilab or Python.
However, we ended up doing only 3 projects, each worth 30% and an endsem was also held worth 10%. The endsem was easy if one did the projects honestly and properly. The projects are rather lengthy, so completing them on time would ensure a good grade.
Resources and References:
Project notes are provided by the professor and are sufficient for understanding the subject and completing the projects.
Additional Information or Comments:
The projects can take significant time to code and debug, so sufficient time needs to be spent on them. Vivas may be taken to ensure that the code was not copied from other sources.