1. Generalities#

The function of this object of type SOLVEUR is to store and convey between the various routines of the code (within a command or between commands), the information related to the settings of the linear solvers. In particular, it defines the method for solving single-domain linear systems (LDLT, MULT_FRONT, PETSC, MUMPS or GCPC). This object is created on a volatile basis (the most frequent case) or on a global basis (exploded commands).

Most often, it is created and filled via CRESOL/CRSV ** (first two letters of the solver: MU for MUMPS direct solver and CRSMSP for MUMPS preconditioner, PE for PETSC, LD for LDLT, LD for, GC for GCPC and MF for MULT_FRONT).

To respond to a few specific cases, other dedicated routines create and fill out a SD_SOLVEUR: CRSOLV [1] _ , OP0014 [2] _ and CRSINT [3] _ . We try to limit the number of them and to favor the use of the main routine: CRESOL.

Regardless of the routine that creates the objects in data structure SOLVEUR, the sizing is done exclusively in a hat routine: SDSOLV.

When modifying this data structure, care must therefore be taken to:

  • harmonize, if necessary, the sources mentioned above,

  • update the catalog sd_solveur.py,

  • update the documentation (this doc. D and if necessary the doc. U4.50.01),

  • enrich or modify, if necessary, some test cases.