====== 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: [[doc:user:integration:general:solvers#solveur_mumps|MUMPSolver]]
Le site officiel: [[http://mumps.enseeiht.fr/index.php?page=home|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]:
--- //[[l.zianekhodja@ulg.ac.be|Lilia ZIANE KHODJA]] 2015/05/20//