Table of Contents

Commit 2015-05-13

Nouveau solveur direct MUMPS

J'ai interfacé le solveur direct MUMPS (MUltifrontal Massively Parallel sparse direct Solver). Il s'appelle dans Metafor MUMPSolver. Il utilise une méthode multifrontale basée sur l'élimination de Gauss pour la résolution de grands systèmes d'équations creux, en particulier ceux découlant de la méthode des éléments finis, sur des calculateurs parallèles à mémoire distribuée. Il est écrit en Fortran 90 avec une interface C et un parallélisme par passage de messages MPI (Message Passing Interface).

Une petite doc: MUMPSolver

Un lien vers la page web officielle: MUMPS

A l'heure actuelle, je n'ai interfacé que la version séquentielle de MUMPS. Dans les prochaines versions, il faudra d'abord adapter le code Metafor au calcul distribué avec MPI pour utiliser MUMPS parallèle.

Librairies MUMPS

L'utilisation de MUMPS dans Metafor nécessite l'installation et la compilation de ses librairies:

MUMPS est déjà installé sur les machines du service.

Fichiers/Dossiers ajoutés/supprimés

[a]:CMake/FindMUMPS.cmake
[a]:mtMath/COOMatrix.cpp
[a]:mtMath/COOMatrix.h
[a]:mtMath/MUMPSolver.cpp
[a]:mtMath/MUMPSolver.h
[r]:

Tests ajoutés/supprimés

[a]:apps/biomec/boneRemodeling/femur3DMumps.py
[a]:apps/biomec/brain/brainUnderGravityMumps.py
[a]:apps/biomec/machoireGravityMumps.py
[a]:apps/biomec/machoire_multiMatMumps.py
[a]:apps/iso/tubeTMumps.py
[a]:apps/parallel/largeTubeMumpsTbb1Blas.py
[a]:apps/parallel/largeTubeMumpsTbbBlas.py
[a]:apps/parallel/largeTubeMumpsTbbBlas1.py
[a]:apps/parallel/largeTubeSymMumpsTbbBlas.py
[a]:apps/qs/cont2MUMPS.py 
[r]:

Lilia ZIANE KHODJA 2015/05/13