The computations are done in C++ using the Finite Element library deal.II; the plots then are generated with Python.
To use this code, deal.II (release 9.5.0) has to be installed, cf. https://www.dealii.org/9.5.0
Read the "Readme.md"- files and follow the instructions to build and run the program.