2. Syntax#

result = CALC_ERREUR (
    ◇ reuse = <objet de RESULTAT >,
    ◇ MODELE = model,
    ◇ CHAM_MATER = mater_field,
    ◆ RESULTAT = result,
    ◇/TOUT_ORDRE = "OUI" (or not specified),
      /NUME_ORDRE = int,
      /INST = float,
      /FREQ = float,
      /NUME_MODE = int,
      /NOEUD_CMP = text,
      /LIST_INST = listr8,
      /LIST_FREQ = listr8,
      /LIST_ORDRE = listis,
      /NOM_CAS = text,
    ◇ CRITERE =/"ABSOLU ",
                /"RELATIF" (by default),
    # If: (equal_to (" CRITERE ", 'RELATIF'))
        ◇ PRECISION = float (default: 1e-06),
    # If: (equal_to (" CRITERE ", 'ABSOLU'))
        ◆ PRECISION = float,
    ◇ TOUT = "OUI ",
    ◇ CARA_ELEM = cara_elem,
    ◇ EXCIT = _F (
         ◆ CHARGE = char_cine_meca/char_meca,
         ◇ FONC_MULT = function/formula/table cloth,
      ),
    ◆ OPTION =/"ERME_ELEM ",
               /"ERME_ELNO ",
               /"ERME_NOEU ",
               /"ERTH_ELEM ",
               /"ERTH_ELNO ",
               /"ERTH_NOEU ",
               /"ERZ1_ELEM ",
               /"ERZ2_ELEM ",
               /"QIRE_ELEM ",
               /"QIRE_ELNO ",
               /"QIRE_NOEU ",
               /"QIZ1_ELEM ",
               /"QIZ2_ELEM ",
               /"SING_ELEM ",
               /"SING_ELNO ",
               /"SIZ1_NOEU ",
               /"SIZ2_NOEU ",
    # If: is_in ('OPTION', ('QIRE_ELEM', '', '', 'QIZ1_ELEM', 'QIZ2_ELEM', 'QIRE_ELNO', 'QIRE_NOEU'))
        ◆ RESU_DUAL = result,
    # If: is_in ('OPTION', 'SING_ELEM')
        ◆ PREC_ERR = float,
        ◇ TYPE_ESTI =/"ERME_ELEM ",
                      /"ERZ1_ELEM ",
                      /"ERZ2_ELEM ",
                      /"QIRE_ELEM ",
                      /"QIZ1_ELEM ",
                      /"QIZ2_ELEM ",
    SOLVEUR = _F (
         ◇ METHODE =/"GCPC ",
                     /"LDLT ",
                     /"MULT_FRONT ",
                     /"MUMPS" (by default),
                     /"PETSC ",
         # If: equal_to (" METHODE ", 'MULT_FRONT')
             ◇ RENUM =/"MD",
                       /"MDA" (by default),
             ◇ NPREC = int (default: 8),
             ◇ ELIM_LAGR =/"NON" (by default),
                           /"OUI ",
             ◇ STOP_SINGULIER =/"NON ",
                                /"OUI" (by default),
         # If: equal_to (" METHODE ", 'LDLT')
             ◇ RENUM = "RCMK ",
             ◇ NPREC = int (default: 8),
             ◇ ELIM_LAGR =/"NON" (by default),
                           /"OUI ",
             ◇ STOP_SINGULIER =/"NON ",
                                /"OUI" (by default),
         # If: equal_to (" METHODE ", 'MUMPS')
             ◇ RENUM =/"AMD ",
                       /"AMF ",
                       /"AUTO" (by default),
                       /"METIS ",
                       /"PARMETIS ",
                       /"PORD ",
                       /"PTSCOTCH ",
                       /"QAMD ",
                       /"SCOTCH ",
             ◇ NPREC = int (default: 8),
             ◇ ELIM_LAGR =/"LAGR2" (by default),
                           /"NON ",
                           /"OUI ",
             ◇ STOP_SINGULIER =/"NON ",
                                /"OUI" (by default),
             ◇ TYPE_RESOL =/"AUTO" (by default),
                            /"NONSYM ",
                            /"SYMDEF ",
                            /"SYMGEN ",
             ◇ ACCELERATION =/"AUTO" (by default),
                              /"EN",
                              /"FR+",
                              /"FR++",
                              /"LR",
                              /"LR+",
                              /"LR++",
             ◇ LOW_RANK_SEUIL = float (default: 0.0),
             ◇ PRETRAITEMENTS =/"AUTO" (by default),
                                /"SANS ",
             ◇ POSTTRAITEMENTS =/"AUTO" (by default),
                                 /"FORCE ",
                                 /"MINI ",
                                 /"SANS ",
             ◇ PCENT_PIVOT = int (default: 35),
             ◇ REDUCTION_MPI = int (default: 0),
             ◇ NB_RHS = int (default: 1),
             ◇ RESI_RELA = float (default: 1e-06),
             ◇ GESTION_MEMOIRE =/"AUTO" (by default),
                                 /"EVAL ",
                                 /"IN_CORE ",
                                 /"OUT_OF_CORE ",
         # If: equal_to (" METHODE ", 'GCPC')
             ◇ ELIM_LAGR =/"NON" (by default),
                           /"OUI ",
             ◇ PRE_COND =/"LDLT_DP ",
                          /"LDLT_INC" (by default),
                          /"LDLT_SP ",
             ◇ RESI_RELA = float (default: 1e-06),
             ◇ NMAX_ITER = int (default: 0),
             # If: equal_to (" PRE_COND ", 'LDLT_INC')
                 ◇ RENUM = "RCMK ",
                 ◇ NIVE_REMPLISSAGE = int (default: 0),
             # If: is_in (" PRE_COND ", ('LDLT_SP', 'LDLT_DP'))
                 ◇ RENUM =/"METIS ",
                           /"PARMETIS" (by default),
                           /"SANS ",
                 ◇ REAC_PRECOND = int (default: 30),
                 ◇ PCENT_PIVOT = int (default: 20),
                 ◇ GESTION_MEMOIRE =/"AUTO" (by default),
                                     /"IN_CORE ",
                 ◇ LOW_RANK_SEUIL = float (default: 0.0),
         # If: equal_to (" METHODE ", 'PETSC')
             ◇ ELIM_LAGR =/"NON" (by default),
                           /"OUI ",
             ◇ ALGORITHME =/"CG",
                            /"CR",
                            /"FGMRES" (by default),
                            /"GCR ",
                            /"GMRES ",
                            /"GMRES_LMP ",
             ◇ OPTION_PETSC = text (default: ""),
             ◇ PRE_COND =/"BLOC_LAGR ",
                          /"BOOMER ",
                          /"FIELDSPLIT ",
                          /"GAMG ",
                          /"HPDDM ",
                          /"JACOBI ",
                          /"LDLT_DP ",
                          /"LDLT_INC ",
                          /"LDLT_SP" (by default),
                          /"ML",
                          /"SANS ",
                          /"SOR ",
                          /"UTILISATEUR ",
             ◇ RESI_RELA = float (default: 1e-06),
             ◇ NMAX_ITER = int (default: 0),
             # If: equal_to (" PRE_COND ", 'LDLT_INC')
                 ◇ RENUM = "RCMK ",
                 ◇ NIVE_REMPLISSAGE = int (default: 0),
                 ◇ REMPLISSAGE = float (default: 1.0),
             # If: is_in (" PRE_COND ", ('LDLT_SP', 'LDLT_DP'))
                 ◇ RENUM =/"METIS ",
                           /"PARMETIS" (by default),
                           /"SANS ",
                 ◇ REAC_PRECOND = int (default: 30),
                 ◇ PCENT_PIVOT = int (default: 20),
                 ◇ GESTION_MEMOIRE =/"AUTO" (by default),
                                     /"IN_CORE ",
                 ◇ LOW_RANK_SEUIL = float (default: 0.0),
             # If: equal_to (" PRE_COND ", 'ML')
                 ◇ RENUM = "SANS ",
             # If: equal_to (" PRE_COND ", 'BOOMER')
                 ◇ RENUM = "SANS ",
             # If: equal_to (" PRE_COND ", 'GAMG')
                 ◇ RENUM = "SANS ",
             # If: equal_to (" PRE_COND ", 'HPDDM')
                 ◇ RENUM = "SANS ",
             # If: equal_to (" PRE_COND ", 'BLOC_LAGR')
                 ◇ RENUM = "SANS ",
             # If: is_in (" PRE_COND ", ('FIELDSPLIT'))
                 ◇ RENUM = "SANS ",
                 ◇ PARTITION_CMP = int,
                 ◇ NOM_CMP = text,
             # If: is_in (" PRE_COND ", ('UTILISATEUR'))
                 ◇ KSP_UTIL = not_checked,
                 ◇ RENUM = "SANS ",
             # If: is_in (" PRE_COND ", ('JACOBI', '', 'SOR', 'SANS'))
                 ◇ RENUM =/"RCMK ",
                           /"SANS" (by default),
      ),
    ◇ INFO =/1 (by default),
             /2,
    ◇ TITRE = text,
)

◆: mandatory
◇: optional
: present by default
&: together
/: only one among
|: several possible choices