Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2015:05_20

Commit 2015-05-20

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

Le site officiel: 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:

  • Sous Windows: Luc a déjà pré-compilé les librairies MUMPS version séquentielle. Les sources sont mises sur le serveur /ftpDisk/metafor/bin/VS2012_X64/Mumps-4.10.0.rar. Il faut dézipper le .rar dans LibsVS2012 et faire le lien symbolique (fenêtre de cmd Administrator, dans le répertoire LibsVS2012): E:\Dev64\LibsVS2012>mklink /D mumps Mumps-4.10.0
  • Sous Linux: un simple apt-get install pour les librairies version séquentielle libmumps-seq-dev et libmumps-seq-x.xx.x et version parallèle libmumps-dev et libmumps-x.xx.x.
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/20

commit/2015/05_20.txt · Last modified: 2016/03/30 15:23 (external edit)