2. Syntaxe#

⟐ SOLVEUR = _F(
     ◇ METHODE = / "MULT_FRONT",
                 / "LDLT",
                 / "MUMPS" (par défaut),
                 / "GCPC",
                 / "PETSC",
     # Si: equal_to("METHODE", 'MULT_FRONT')
         ◇ RENUM = / "MD",
                   / "MDA" (par défaut),
         ◇ NPREC = int (défaut: 8),
         ◇ ELIM_LAGR = / "OUI",
                       / "NON" (par défaut),
         ◇ STOP_SINGULIER = / "OUI" (par défaut),
                            / "NON",
     # Si: equal_to("METHODE", 'LDLT')
         ◇ RENUM = "RCMK",
         ◇ NPREC = int (défaut: 8),
         ◇ ELIM_LAGR = / "OUI",
                       / "NON" (par défaut),
         ◇ STOP_SINGULIER = / "OUI" (par défaut),
                            / "NON",
     # Si: equal_to("METHODE", 'MUMPS')
         ◇ RENUM = / "AMD",
                   / "AMF",
                   / "PORD",
                   / "METIS",
                   / "QAMD",
                   / "SCOTCH",
                   / "AUTO" (par défaut),
                   / "PARMETIS",
                   / "PTSCOTCH",
         ◇ NPREC = int (défaut: 8),
         ◇ ELIM_LAGR = / "OUI",
                       / "NON",
                       / "LAGR2" (par défaut),
         ◇ STOP_SINGULIER = / "OUI" (par défaut),
                            / "NON",
         ◇ TYPE_RESOL = / "NONSYM",
                        / "SYMGEN",
                        / "SYMDEF",
                        / "AUTO" (par défaut),
         ◇ ACCELERATION = / "AUTO" (par défaut),
                          / "FR",
                          / "FR+",
                          / "FR++",
                          / "LR",
                          / "LR+",
                          / "LR++",
         ◇ LOW_RANK_SEUIL = float,
         ◇ PRETRAITEMENTS = / "SANS",
                            / "AUTO" (par défaut),
         ◇ POSTTRAITEMENTS = / "SANS",
                             / "AUTO" (par défaut),
                             / "FORCE",
                             / "MINI",
         ◇ PCENT_PIVOT = int (défaut: 35),
         ◇ REDUCTION_MPI = int,
         ◇ NB_RHS = int (défaut: 1),
         ◇ RESI_RELA = float (défaut: 1e-06),
         ◇ GESTION_MEMOIRE = / "IN_CORE",
                             / "OUT_OF_CORE",
                             / "AUTO" (par défaut),
                             / "EVAL",
         ◇ MATR_DISTRIBUEE = / "OUI",
                             / "NON" (par défaut),
     # Si: equal_to("METHODE", 'GCPC')
         ◇ ELIM_LAGR = / "OUI",
                       / "NON" (par défaut),
         ◇ PRE_COND = / "LDLT_INC" (par défaut),
                      / "LDLT_SP",
                      / "LDLT_DP",
         ◇ RESI_RELA = float (défaut: 1e-06),
         ◇ NMAX_ITER = int,
         # Si: equal_to("PRE_COND", 'LDLT_INC')
             ◇ RENUM = "RCMK",
             ◇ NIVE_REMPLISSAGE = int,
         # Si: is_in("PRE_COND", ('LDLT_SP', 'LDLT_DP'))
             ◇ RENUM = / "SANS",
                       / "METIS",
                       / "PARMETIS" (par défaut),
             ◇ REAC_PRECOND = int (défaut: 30),
             ◇ PCENT_PIVOT = int (défaut: 20),
             ◇ GESTION_MEMOIRE = / "IN_CORE",
                                 / "AUTO" (par défaut),
             ◇ LOW_RANK_SEUIL = float,
     # Si: equal_to("METHODE", 'PETSC')
         ◇ ELIM_LAGR = / "OUI",
                       / "NON" (par défaut),
         ◇ MATR_DISTRIBUEE = / "OUI",
                             / "NON" (par défaut),
         ◇ ALGORITHME = / "CG",
                        / "CR",
                        / "GMRES",
                        / "GCR",
                        / "FGMRES" (par défaut),
                        / "GMRES_LMP",
         ◇ OPTION_PETSC = text,
         ◇ PRE_COND = / "LDLT_INC",
                      / "LDLT_SP" (par défaut),
                      / "LDLT_DP",
                      / "JACOBI",
                      / "SOR",
                      / "ML",
                      / "BOOMER",
                      / "GAMG",
                      / "BLOC_LAGR",
                      / "FIELDSPLIT",
                      / "UTILISATEUR",
                      / "HPDDM",
                      / "SANS",
         ◇ RESI_RELA = float (défaut: 1e-06),
         ◇ NMAX_ITER = int,
         # Si: equal_to("PRE_COND", 'LDLT_INC')
             ◇ RENUM = "RCMK",
             ◇ NIVE_REMPLISSAGE = int,
             ◇ REMPLISSAGE = float (défaut: 1.0),
         # Si: is_in("PRE_COND", ('LDLT_SP', 'LDLT_DP'))
             ◇ RENUM = / "SANS",
                       / "METIS",
                       / "PARMETIS" (par défaut),
             ◇ REAC_PRECOND = int (défaut: 30),
             ◇ PCENT_PIVOT = int (défaut: 20),
             ◇ GESTION_MEMOIRE = / "IN_CORE",
                                 / "AUTO" (par défaut),
             ◇ LOW_RANK_SEUIL = float,
         # Si: equal_to("PRE_COND", 'ML')
             ◇ RENUM = "SANS",
         # Si: equal_to("PRE_COND", 'BOOMER')
             ◇ RENUM = "SANS",
         # Si: equal_to("PRE_COND", 'GAMG')
             ◇ RENUM = "SANS",
         # Si: equal_to("PRE_COND", 'HPDDM')
             ◇ RENUM = "SANS",
             ◇ TYPE_RESOL = / "GENEO",
                            / "HARMO",
                            / "AUTO" (par défaut),
             ◇ NB_MODE = int (défaut: 30),
             ◇ SEUIL = float (défaut: 0.0),
         # Si: equal_to("PRE_COND", 'BLOC_LAGR')
             ◇ RENUM = "SANS",
         # Si: is_in("PRE_COND", ('FIELDSPLIT'))
             ◇ RENUM = "SANS",
             ◇ PARTITION_CMP = int,
             ◇ NOM_CMP = text,
         # Si: is_in("PRE_COND", ('UTILISATEUR'))
             ◇ KSP_UTIL = not_checked,
             ◇ RENUM = "SANS",
         # Si: is_in("PRE_COND", ('JACOBI','SOR','SANS'))
             ◇ RENUM = / "SANS" (par défaut),
                       / "RCMK",
  ),