Résolution et Solveurs ======================== * Industrialisation de **MUMPS 5.6.2.2c** (#33202 - 17.1) Montée de version de MUMPS, de ses prérequis (PARMETIS, METIS, SCOTCH, PT-SCOTCH) ainsi que d'autres dépendances: * METIS 5.1.0 ==> version identique mais fourni par ParMETIS * MFront 4.1.0 ==> 4.2.0 * MGIS 2.1-dev ==> 2.2 * Scotch 7.0.1 ==> 7.0.4 * Scalapack 2.1.0 ==> 2.2.0 + correction pour utilisation des scalapack MKL si disponibles * Mumps 5.5.1_consortium_aster1 ==> 5.6.2.2c * PETSc 3.17.1_aster ==> PETSc 3.19.5 * mpi4py 3.1.3 ==> 3.1.5 * medcoupling V9_10_0 ==> V9_11_0 Impact sur les études : On note une amélioration des performances de toutes les simulations code_aster (lorsque couplé avec modification connexe des paramètres slurm : entre X1.6 ET X3 Cette version permet la correction de plusieurs bugs/dysfonctionnements dans MUMPS remontés par les tests. * Utilisation de **"simples Lagranges"** (#33452/33510 - 17.1) Pour limiter le nombre de degrés de liberté, on aimerait pouvoir se contenter de multiplicateurs de Lagrange simples. Cela est réalisé pour les commandes STAT_NON_LINE et CALC_PRECONT. Pour les cas de macro-commande CALC_PRECONT, on introduit le mot clé DOUBLE_LAGRANGE='OUI' ou 'NON' pour s'assurer de l'homogénité des choix avec les chargements. * Exporter la portion locale d'une matrice ou d'un vecteur vers **petsc4py** (#33690 - 17.1) Dans le cadre des travaux de thèse sur le préconditionnement non-linéaire, on souhaite pouvoir résoudre un problème non-linéaire sur chaque sous-domaine. Pour ce faire, on souhaite exporter la portion locale d'une matrice ou d'un vecteur vers petsc4py. Sur cette base, on pourra construire un solveur non-linéaire sur chaque sous-domaine. * Arrêter le calcul STAT_NON_LINE par **un nombre de pas de temps** (#34051 - 17.2) L'idée est de pouvoir contrôler plus finement la liste d'instant d'un calcul statique pour limiter l'empreinte mémoire. On laisse la possibilité à l'utilisateur de contrôler le nombre de pas de temps dans STAT_NON_LINE, quelque soit la longueur initiale de la liste d'instants. On utilise le mot-clé ``NB_PAS_MAXI`` dans DEFI_LIST_INST. Si on atteint NB_PAS_MAXI, même si on n'est pas à la fin de la liste de pas de temps donné par l'utilisateur, le calcul s'arrête proprement et archive les données. * Développer le solveur non-linéaire **RASPEN** (#33849 - 17.2) Dans le cadre de la thèse de Mehdi ETTAOUCHI sont menés des travaux sur des solveurs non-linéaires fondés sur la décomposition de domaine. On s'intéresse spécifiquement à l'approche Restrictive Additive Schwarz Preconditioned Exact Newton (RASPEN) qui présente de bonnes propriétés de robustesse. Il est implanté dans MECA_NON_LINE. * Introduction d'un pré-conditionneur de second niveau dans **RASPEN** (#34401 - 17.4) Dans le cadre d'une thèse sont menés des travaux sur des solveurs non-linéaires fondés sur la décomposition de domaine. On s'intéresse spécifiquement à l'approche Restrictive Additive Schwarz Preconditioned Exact Newton (RASPEN) qui présente de bonnes propriétés de robustesse, introduite dans 17.2, on propose maintenant d'ajouter la possibilité d'utiliser un préconditionneur de 2nd niveau. Son objectif est d'améliorer la scalabilité de la méthode en présence de nombreux sous-domaines. * Permettre la découpe du pas de temps avec **RASPEN** (#35109 - 17.4) Pour rendre RASPEN utilisable dans les études, il est ajouté la possibilité de découpe du pas de temps. * Ajouter des options dans **PETSC/HPDDM** (#34931 - 17.4) Le but de ce développement est de rajouter des mot-clés sous l'option SOLVEUR pour HPDDM. On rajoute une autre construction du problème grossier avec harmonic_overlap ``HARMO`` en plus de geneo ``GENEO``. Il est adapté au problème non-symétrique. Par défaut, le solveur fonctionne avec mode AUTO (défaut): GENEO si matrice SYME sinon HARMO. On permet également de donner le nombre de modes que l'on veut calculer pour le problème grossier (``NB_MODE``, défaut=30), un seuil pour éliminer les MODES inutiles en relatif par rapport au plus important (SEUIL, défaut=0.0, tous les modes sont conservés).