M++ (Meshes, Multigrid and more)
M++ is a parallel Finite Element Software to solve partial differential equations developed at the Institute for Applied and Numerical Mathematics in the group Sientific Computing. It is programmed in C++ uses MPI to distribute the computations and provides a python interface. M++ finds usage in many research projects and as teaching tool for scientific computing.
- Finite Elements: Lagrange, Discontinuous Lagrange, Nedelec, Raviart-Thomas
- Solvers: CG, GMRES, BiCGStab, MINRES
- Preconditioners: Jacobi, GaussSeidel, SSOR, parallel direct solvers
- Usage of different external routines: BLAS, LAPACK, SuperLU
- Different plotting standards: vtk, gp
- There is a variety of predefined problem classes, e.g. Poisson, Darcy, convection-diffusion-reaktion, transport, * * Stokes, elasticity and plasticity, Maxwell, etc.