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.