Praveen Chandrashekar

Centre for Applicable Mathematics, TIFR, Bangalore

[ People | News | Codes | Talks | Teaching | Publications | Calendar | Hiking | Contact ]

NCM Workshop on Numerical Methods for PDE

The workshop will be held during 16–27 December 2024 at IIPE, Visakhapatnam.

https://www.atmschools.org/school/2024/NCMW/nmpde

I will be giving some lectures on Discontinuous Galerkin methods for conservation laws. This page gives some resources for attending these lectures. You can download the slides here.

Codes for lectures

The codes will be written in C++ using deal.II library. The codes can be read here: fem

Download them using git

git clone https://github.com/cpraveen/fem

Many of these codes are still being made and updated, so you should download them frequently to get the latest version. E.g., using git

cd fem
git pull

The DG codes are in the sub-directories dg1d and dg2d. See the readme files and follow the instructions.

Installing deal.II

For optimal experience, use Linux or MacOS; if you are on Windows, then you must install WSL, and install/work inside that.

You must have deal.II installed and working in order to run these codes. Instructions on how to install are given here

Installing deal.II

For most users, it is recommended to use Docker or the “Automated installation” process. Expert users can consider installation using spack.

If you use Docker, you can also install deal.II through that which gives you a full installation of deal.II with all external dependencies.

Other softwares

We will need some visualization softwares and you should install the following

Learning C++ and deal.II

The example codes are in C++ and use many things like classes, templates, inheritence, etc. So a good knowledge of C++ is necessary to understand these codes. The following books are good resources for learning C++:

  1. Bjarne Stroustrup, A Tour of C++
  2. Peter Gottschling, Discovering Modern C++: An Intensive Course for Scientists, Engineers and Programmers

In addition, the deal.II tutorials have an excellent description of both FEM and C++, and you will benefit by studying a few of the initial steps.