Webrelaunch 2020

M++ (Meshes, Multigrid and more)

M++ (Meshes, Multigrid and more) ist ein paralleles Finite Elemente-Programm zur Lösung partieller Differentialgleichungen, das am Institut für Angewandte und Numerische Mathematik in der Arbeitsgruppe Wissenschaftliches Rechnen entwicklt wird. Es wird für Forschungsprojekte und in der Lehre eingesetzt. Die zugrunde gelegte Programmiersprache ist C++. Für die parallele Verarbeitung wird MPI verwendet.

Jede Problemklasse kann individuell erstellt und mit bereits implementierten (Standard-) Verfahren gelöst werden, darunter fallen:

  • verschiedene Arten Finiter Elemente: Lagrange, Discontinuous Lagrange, Nedelec, Raviart-Thomas
  • Löser, u.a.: CG, GMRES, BiCGStab, MINRES
  • Vorkonditionierer, u.a.: Jacobi, GaussSeidel, SSOR, paralleler direkter Löser
  • Verwendung verschiedener externe Routinen, insb. BLAS, LAPACK, SuperLU
  • Möglichkeiten zur Erstellung von Plotdateien, insb. vtk, gp

Hierbei stehen bereits vorgefertigte Problemklassen zur Verfügung, zum Beispiel Poission, Darcy, Konvektion-Diffusion-Reaktion, Transport, Stokes, Elastizität und Plastizität, Maxwell, etc.

Weitere Beispiele zu M++ mit Praktikumsaufgaben finden Sie auf Vorlesungsseite Einführung in das Wissenschaftliche Rechnen.

Anleitung zum Download und zur Installation

Sie können eine aktuelle M++-Version auf GitLab finden:

Mpp

Dieses Git-Repository wird in weiteren Git-Repositories eingebunden um die verschiedenen Projekte zu realisieren:

Tutorial
MLMC

Der Installationsprozess ist im Readme-Markdown auf den jeweiligen Git-Repositories beschrieben.

Veröffentlichungen

Simulationsergebnisse mit M++ wurde bereits in vielen Dissertationen und Artikeln verwendet.