1. Généralités#
Cet objet de type SOLVEUR a pour fonction de stocker et de véhiculer entre les différentes routines du code (en interne d’une commande ou entre commandes), les informations liées aux paramétrages des solveurs linéaires. En particulier, il définit la méthode de résolution des systèmes linéaires mono-domaine (LDLT, MULT_FRONT, PETSC, MUMPS ou GCPC). Cet objet est créé sur la base volatile (le cas le plus fréquent) ou sur la base globale (commandes éclatées).
Le plus souvent, il est créé et rempli via CRESOL/CRSV** (deux premières lettres du solveur: MU pour MUMPS solveur direct et CRSMSP pour MUMPS pré-conditionneur, PE pour PETSC,LD pour LDLT, GC pour GCPC et MF pour MULT_FRONT).
Pour répondre à quelques cas particuliers, d’autres routines dédiées créent et remplissent une SD_SOLVEUR: CRSOLV [1] , OP0014 [2] et CRSINT [3] . On essaie d’en limiter le nombre et de privilégier l’usage de la routine principale: CRESOL.
Quelle que soit la routine qui crée les objets de la structure de données SOLVEUR , le dimensionnement se fait exclusivement dans une routine chapeau: SDSOLV .
Lors d’une modification de cette structure de données il faut donc veiller à:
mettre en cohérence, si nécessaire, les sources mentionnées ci-dessus,
mettre à jour, si nécessaire, le catalogue sd_solveur.py,
mettre à jour les documentations (cette doc. D et si nécessaire la doc. U4.50.01),
enrichir ou modifier, si nécessaire, quelques cas-tests.