2. Syntax#

/acou_harmo
/dyna_harmo
/dyna_trans
/harm_gene
/tran_gene = DYNA_VIBRA (
    ◇ reuse = <objet de RESULTAT >,
    ◆ BASE_CALCUL =/"GENE ",
                    /"PHYS ",
    ◆ TYPE_CALCUL =/"HARM ",
                    /"TRAN ",
    # If: equal_to (" BASE_CALCUL ", 'PHYS')
        ◇ MODELE = model,
        ◇ CHAM_MATER = mater_field,
        ◇ CARA_ELEM = cara_elem,
    # If: equal_to (" TYPE_CALCUL ", 'TRAN') and equal_to (" BASE_CALCUL ", 'PHYS')
        ◆ MATR_MASS = matr_asse_depl_r,
        ◆ MATR_RIGI = matr_asse_depl_r,
        ◇ MATR_AMOR = matr_asse_depl_r,
        ◇ OBSERVATION = _F (
             ◇ TITRE = text,
             ◇ OBSE_ETAT_INIT =/"NON ",
                                /"OUI" (by default),
             ◇ EVAL_CHAM =/"MAX ",
                           /"MAXI_ABS ",
                           /"MIN ",
                           /"MINI_ABS ",
                           /"MOY ",
                           /"VALE" (by default),
             ◆/NOM_CMP = text,
               /NOM_VARI = text,
             ◇ EVAL_CMP =/"FORMULE ",
                          /"VALE" (by default),
             ◇ INST = float,
             ◇ LIST_INST = listr8,
             ◇ PAS_OBSE = int,
             ◇ CRITERE =/"ABSOLU ",
                         /"RELATIF" (by default),
             ◆ NOM_CHAM =/"ACCE ",
                          /"DEPL ",
                          /"VITE ",
             # If: (equal_to (" EVAL_CMP ", 'FORMULE'))
                 ◆ FORMULE = formula,
             # If: is_in (" NOM_CHAM ", ('DEPL', '', '', 'VITE', '', '', 'ACCE', '', 'FORC_NODA', '', 'CONT_NOEU', 'DEPL_ABSOLU', '', '', 'VITE_ABSOLU', 'ACCE_ABSOLU') TEMP
                 ◆/TOUT = "OUI" (or not specified),
                   /NOEUD = no,
                   /GROUP_NO = big,
                   /GROUP_MA = grma,
                   /MAILLE = my,
             # If: is_in (" NOM_CHAM ", ('SIEF_ELGA', '', 'EPSI_ELGA', 'VARI_ELGA'))
                 ◆/TOUT = "OUI" (or not specified),
                   /GROUP_MA = grma,
                   /MAILLE = my,
                 ◇ EVAL_ELGA =/"MAX ",
                               /"MIN ",
                               /"VALE" (by default),
                 # If: (equal_to (" EVAL_ELGA ", 'VALE'))
                     ◆ POINT = int,
                     ◇ SOUS_POINT = int,
             # If: (equal_to (" NOM_CHAM ", 'CONT_ELEM'))
                 ◆/TOUT = "OUI" (or not specified),
                   /GROUP_MA = grma,
                   /MAILLE = my,
             # If: (equal_to (" CRITERE ", 'RELATIF'))
                 ◇ PRECISION = float (default: 1e-06),
             # If: (equal_to (" CRITERE ", 'ABSOLU'))
                 ◆ PRECISION = float,
          ),
        ◇ AMOR_MODAL = _F (
             ◇/AMOR_REDUIT = float,
               /LIST_AMOR = listr8,
             ◆ MODE_MECA = meca fashion,
             ◇ NB_MODE = int,
          ),
    # If: equal_to (" TYPE_CALCUL ", 'TRAN') and equal_to (" BASE_CALCUL ", 'GENE')
        ◆ MATR_MASS = matr_asse_gene_r,
        ◆ MATR_RIGI = matr_asse_gene_r,
          /MATR_AMOR = matr_asse_gene_r,
        ◇/AMOR_MODAL = _F (
               ◇/AMOR_REDUIT = float,
                 /LIST_AMOR = listr8,
            ),
        ◇ VITESSE_VARIABLE =/"NON" (by default),
                             /"OUI ",
        # If: equal_to (" VITESSE_VARIABLE ", 'OUI')
            ◆ MATR_GYRO = matr_asse_gene_r,
            ◆ VITE_ROTA = function/formula,
            ◇ MATR_RIGY = matr_asse_gene_r,
            ◇ ACCE_ROTA = function/formula,
        # If: equal_to (" VITESSE_VARIABLE ", 'NON')
            ◇ VITE_ROTA = float (default: 0.0),
    # If: equal_to (" TYPE_CALCUL ", 'HARM') and equal_to (" BASE_CALCUL ", 'PHYS')
        ◆ MATR_MASS = matr_asse_depl_r/matr_asse_pres_c,
        ◆ MATR_RIGI = matr_asse_depl_c/matr_asse_depl_r/matr_asse_pres_c,
          /MATR_AMOR = matr_asse_depl_r/matr_asse_pres_c,
        ◇/AMOR_MODAL = _F (
               ◇/AMOR_REDUIT = float,
                 /LIST_AMOR = listr8,
            ),
        ◇ MATR_IMPE_PHI = matr_asse_depl_r,
        # If: exists (" MATR_AMOR ") and exists (" MATR_IMPE_PHI ")
            ◇ AMOR_FLUI =/"NON ",
                          /"OUI" (by default),
    # If: equal_to (" TYPE_CALCUL ", 'HARM') and equal_to (" BASE_CALCUL ", 'GENE')
        ◆ MATR_MASS = matr_asse_gene_r,
        ◆ MATR_RIGI = matr_asse_gene_c/matr_asse_gene_r,
        ◇ MATR_AMOR = matr_asse_gene_r,
        ◇ MATR_IMPE_PHI = matr_asse_gene_r,
        ◇ AMOR_MODAL = _F (
             ◇/AMOR_REDUIT = float,
               /LIST_AMOR = listr8,
          ),
        # If: exists (" MATR_AMOR ") and exists (" MATR_IMPE_PHI ")
            ◇ AMOR_FLUI =/"NON ",
                          /"OUI" (by default),
    ◇ RESULTAT = dyna_harmo/harm_gene,
    # If: equal_to (" TYPE_CALCUL ", 'HARM')
        ◆/FREQ = float,
          /LIST_FREQ = listr8,
        ◇/NOM_CHAM =/"ACCE ",
                       /"DEPL ",
                       /"VITE ",
          /TOUT_CHAM = "OUI" (or not specified),
    # If: equal_to (" TYPE_CALCUL ", 'TRAN')
        SCHEMA_TEMPS = _F (
             # If: equal_to (" BASE_CALCUL ", 'GENE')
                 ◇ SCHEMA =/"ADAPT_ORDRE1 ",
                            /"ADAPT_ORDRE2 ",
                            /"DEVOGE ",
                            /"DIFF_CENTRE ",
                            /"ITMI ",
                            /"NEWMARK ",
                            /"RUNGE_KUTTA_32" (by default),
                            /"RUNGE_KUTTA_54 ",
                            /"TRBDF2 ",
                 # If: equal_to (" SCHEMA ", 'NEWMARK')
                     ◇ BETA = float (default: 0.25),
                     ◇ GAMMA = float (default: 0.5),
                 # If: equal_to (" SCHEMA ", 'RUNGE_KUTTA_54', '') or equal_to (" SCHEMA ", 'RUNGE_KUTTA_32') or equal_to (" SCHEMA ", '', 'DEVOGE')
                     ◇ TOLERANCE = float (default: 1e-05),
                     ◇ ALPHA = float (default: 0.0),
                 # If: equal_to (" SCHEMA ", 'ADAPT_ORDRE1') or equal_to (" SCHEMA ", 'ADAPT_ORDRE2')
                     ◇ VITE_MIN =/"MAXI ",
                                  /"NORM" (by default),
                     ◇ COEF_MULT_PAS = float (default: 1.1),
                     ◇ COEF_DIVI_PAS = float (default: 1.3333334),
                     ◇ PAS_LIMI_RELA = float (default: 1e-06),
                     ◇ NB_POIN_PERIODE = int (default: 50),
                 # If: is_in (" SCHEMA ", ('RUNGE_KUTTA_54', '', '', 'RUNGE_KUTTA_32', 'DEVOGE', 'ADAPT_ORDRE1', 'ADAPT_ORDRE2'))
                     ◇ PAS_MINI = float,
                     ◇ PAS_MAXI = float,
                     ◇ NMAX_ITER_PAS = int (default: 16),
             # If: not equal_to (" BASE_CALCUL ", 'GENE')
                 ◇ SCHEMA =/"ADAPT_ORDRE1 ",
                            /"ADAPT_ORDRE2 ",
                            /"DEVOGE ",
                            /"DIFF_CENTRE ",
                            /"ITMI ",
                            /"NEWMARK" (by default),
                            /"RUNGE_KUTTA_32 ",
                            /"RUNGE_KUTTA_54 ",
                            /"WILSON ",
                 # If: equal_to (" SCHEMA ", 'NEWMARK')
                     ◇ BETA = float (default: 0.25),
                     ◇ GAMMA = float (default: 0.5),
                 # If: equal_to (" SCHEMA ", 'WILSON')
                     ◇ THETA = float (default: 1.4),
                 # If: equal_to (" SCHEMA ", 'RUNGE_KUTTA_54', '') or equal_to (" SCHEMA ", 'RUNGE_KUTTA_32') or equal_to (" SCHEMA ", '', 'DEVOGE')
                     ◇ TOLERANCE = float (default: 1e-05),
                     ◇ ALPHA = float (default: 0.0),
                 # If: equal_to (" SCHEMA ", 'ADAPT_ORDRE1') or equal_to (" SCHEMA ", 'ADAPT_ORDRE2')
                     ◇ VITE_MIN =/"MAXI ",
                                  /"NORM" (by default),
                     ◇ COEF_MULT_PAS = float (default: 1.1),
                     ◇ COEF_DIVI_PAS = float (default: 1.3333334),
                     ◇ PAS_LIMI_RELA = float (default: 1e-06),
                     ◇ NB_POIN_PERIODE = int (default: 50),
                 # If: is_in (" SCHEMA ", ('RUNGE_KUTTA_54', '', '', 'RUNGE_KUTTA_32', 'DEVOGE', 'ADAPT_ORDRE1', 'ADAPT_ORDRE2'))
                     ◇ PAS_MINI = float,
                     ◇ PAS_MAXI = float,
                     ◇ NMAX_ITER_PAS = int (default: 16),
          ),
        ◆ INCREMENT = _F (
             ◆/LIST_INST = listr8,
               /PAS = float,
             # If: exists (" LIST_INST ")
                 ◇/NUME_FIN = int,
                   /INST_FIN = float,
             # If: exists (" PAS ")
                 ◇ INST_INIT = float,
                 ◆ INST_FIN = float,
             ◇ VERI_PAS =/"NON ",
                          /"OUI" (by default),
          ),
    # If: equal_to (" TYPE_CALCUL ", 'TRAN') and equal_to (" BASE_CALCUL ", 'GENE')
        ◇ ETAT_INIT = _F (
             ◇/RESULTAT = tran_gene,
               /DEPL = vect_asse_gene,
             ◇/VITE = vect_asse_gene,
             # If: exists (" RESULTAT ")
                 ◇/NUME_ORDRE = int,
                   /INST_INIT = float,
                 # If: exists (" INST_INIT ")
                     ◇ CRITERE =/"ABSOLU ",
                                 /"RELATIF" (by default),
                     # If: (equal_to (" CRITERE ", 'RELATIF'))
                         ◇ PRECISION = float (default: 1e-06),
                     # If: (equal_to (" CRITERE ", 'ABSOLU'))
                         ◆ PRECISION = float,
          ),
    # If: equal_to (" TYPE_CALCUL ", 'TRAN') and equal_to (" BASE_CALCUL ", 'PHYS')
        ◇ ETAT_INIT = _F (
             ◆ | RESULT = dyna_trans,
               | DEPL=fiel_no,
               | FAST = cham_no,
               | ACCE = fiel_no,
             # If: exists (" RESULTAT ")
                 ◇/NUME_ORDRE = int,
                   /INST_INIT = float,
                 # If: exists (" INST_INIT ")
                     ◇ CRITERE =/"ABSOLU ",
                                 /"RELATIF" (by default),
                     # If: (equal_to (" CRITERE ", 'RELATIF'))
                         ◇ PRECISION = float (default: 1e-06),
                     # If: (equal_to (" CRITERE ", 'ABSOLU'))
                         ◆ PRECISION = float,
          ),
    # If: equal_to (" BASE_CALCUL ", 'PHYS') and equal_to (" TYPE_CALCUL ", 'TRAN')
        ◇ ARCHIVAGE = _F (
             ◇ PAS_ARCH = int,
             ◇/LIST_INST = listr8,
               /INST = float,
             # If: (exists (" LIST_INST ") or exists (" INST "))
                 ◇ CRITERE =/"ABSOLU ",
                             /"RELATIF" (by default),
                 # If: (equal_to (" CRITERE ", 'RELATIF'))
                     ◇ PRECISION = float (default: 1e-06),
                 # If: (equal_to (" CRITERE ", 'ABSOLU'))
                     ◆ PRECISION = float,
             ◇ CHAM_EXCLU =/"ACCE ",
                            /"DEPL ",
                            /"VITE ",
          ),
    # If: not equal_to (" BASE_CALCUL ", 'PHYS') and equal_to (" TYPE_CALCUL ", 'TRAN')
        ◇ ARCHIVAGE = _F (
             ◆ | PAS_ARCH = int,
               | LIST_INST = listr8,
               | INST = float,
          ),
    # If: equal_to (" BASE_CALCUL ", 'PHYS')
        ◇ ENERGIE = _F (
             ◇ CALCUL = "OUI ",
          ),
    # If: equal_to (" TYPE_CALCUL ", 'HARM') and equal_to (" BASE_CALCUL ", 'PHYS')
        ◆ | EXCIT = _F (
               ◆/VECT_ASSE = cham_no,
                 /CHARGE = char_cine_meca/char_meca,
               ◆/FONC_MULT_C = function_c/formula_c,
                 /FONC_MULT = function/formula/table cloth,
                 /COEF_MULT = float,
                 /COEF_MULT_C = complex,
               ◇ PHAS_DEG = float (default: 0.0),
               ◇ PUIS_PULS = int (default: 0),
            ),
          | EXCIT_RESU = _F (
               ◆ RESULTAT = dyna_harmo,
               ◆ COEF_MULT_C = complex,
            ),
    # If: equal_to (" TYPE_CALCUL ", 'HARM') and equal_to (" BASE_CALCUL ", 'GENE')
        ◆ | EXCIT = _F (
               ◆ VECT_ASSE_GENE = vect_asse_gene,
               ◆/FONC_MULT_C = function_c/formula_c,
                 /FONC_MULT = function/formula/table cloth,
                 /COEF_MULT = float,
                 /COEF_MULT_C = complex,
               ◇ PHAS_DEG = float (default: 0.0),
               ◇ PUIS_PULS = int (default: 0),
            ),
          | EXCIT_RESU = _F (
               ◆ RESULTAT = harm_gene,
               ◆ COEF_MULT_C = complex,
            ),
    # If: equal_to (" TYPE_CALCUL ", 'TRAN') and equal_to (" BASE_CALCUL ", 'PHYS')
        ◇ EXCIT = _F (
             ◆/VECT_ASSE = cham_no,
               /CHARGE = char_cine_meca/char_meca,
             ◇/FONC_MULT = function/formula/table cloth,
               /COEF_MULT = float,
             ◇/ACCE = function/formula/table cloth,
             ◇ & VITE = function/formula/table cloth,
               & ◆ DEPL = function/formula/table cloth,
             ◇ MULT_APPUI =/"NON" (by default),
                            /"OUI ",
             # If: equal_to (" MULT_APPUI ", 'OUI')
                 ◇ DIRECTION = float,
                 ◇ GROUP_NO = big,
          ),
        ◇ MODE_STAT = meca fashion,
        ◇ EXCIT_RESU = _F (
             ◆ RESULTAT = dyna_trans,
             ◆ COEF_MULT = float,
          ),
    # If: equal_to (" TYPE_CALCUL ", 'TRAN') and equal_to (" BASE_CALCUL ", 'GENE')
        ◇ EXCIT = _F (
             ◆/VECT_ASSE_GENE = vect_asse_gene,
               /NUME_ORDRE = int,
             ◆/FONC_MULT = function/formula/table cloth,
               /COEF_MULT = float,
               /ACCE = function/formula/table cloth,
             ◇ & VITE = function/formula/table cloth,
               & ◆ DEPL = function/formula/table cloth,
             ◇/MULT_APPUI = "OUI" (or not specified),
               /CORR_STAT = "OUI" (or not specified),
             # If: equal_to (" MULT_APPUI ", 'OUI')
                 ◇ DIRECTION = float,
                 ◇ GROUP_NO = big,
             # If: equal_to (" CORR_STAT ", 'OUI')
                 ◆ D_ FONC_DT = function/formula/table cloth,
                 ◆ D_ FONC_DT2 = function/formula/table cloth,
          ),
        ◇/MODE_STAT = meca mode,
          /MODE_CORR = mode_meca/mult_elas,
        ◇ EXCIT_RESU = _F (
             ◆ RESULTAT = tran_gene,
             ◇ COEF_MULT = float (default: 1.0),
          ),
        ◇ COMPORTEMENT = _F (
             ◆ RELATION =/"ANTI_SISM ",
                          /"CHOC_ELAS_TRAC ",
                          /"DIS_CHOC ",
                          /"DIS_ECRO_TRAC ",
                          /"DIS_VISC ",
                          /"FLAMBAGE ",
                          /"RELA_EFFO_DEPL ",
                          /"RELA_EFFO_VITE ",
                          /"ROTOR_FISS ",
             # If: equal_to (" RELATION ", 'DIS_CHOC')
                 ◇ INTITULE = text,
                 ◆/GROUP_MA = grma,
                   /GROUP_NO_1 = big,
                 ◇/GROUP_NO_2 = grno,
                 ◆ OBSTACLE = table_function,
                 ◇ ORIG_OBST = float,
                 ◆ NORM_OBST = float,
                 ◇ ANGL_VRIL = float,
                 ◇ JEU = float (default: 1.0),
                 ◇ DIST_1 = float,
                 ◇ DIST_2 = float,
                 ◇ SOUS_STRUC_1 = text,
                 ◇ SOUS_STRUC_2 = text,
                 ◇ REPERE = text (default: "GLOBAL "),
                 ◆ RIGI_NOR = float,
                 ◇ AMOR_NOR = float (default: 0.0),
                 ◇ RIGI_TAN = float (default: 0.0),
                 ◇ AMOR_TAN = float,
                 ◇ FROTTEMENT =/"COULOMB ",
                                /"COULOMB_STAT_DYNA ",
                                /"NON" (by default),
                 # If: equal_to (" FROTTEMENT ", 'COULOMB')
                     ◆ COULOMB = float,
                     ◇ UNIDIRECTIONNEL =/"NON" (by default),
                                         /"OUI ",
                 # If: equal_to (" FROTTEMENT ", 'COULOMB_STAT_DYNA')
                     ◆ COULOMB_STAT = float,
                     ◆ COULOMB_DYNA = float,
                     ◇ UNIDIRECTIONNEL =/"NON" (by default),
                                         /"OUI ",
             # If: equal_to (" RELATION ", 'ROTOR_FISS')
                 ◇ ANGL_INIT = float (default: 0.0),
                 ◇ ANGL_ROTA = function/formula,
                 ◇/GROUP_NO_G = grno,
                 ◆/GROUP_NO_D = grno,
                 ◆ K_ PHI = function/formula,
                 ◆ DK_DPHI = function/formula,
             # If: equal_to (" RELATION ", 'FLAMBAGE')
                 ◇ INTITULE = text,
                 ◆/GROUP_NO_1 = grno,
                 ◇/GROUP_NO_2 = grno,
                 ◆ OBSTACLE = table_function,
                 ◇ ORIG_OBST = float,
                 ◆ NORM_OBST = float,
                 ◇ ANGL_VRIL = float,
                 ◇ JEU = float (default: 1.0),
                 ◇ DIST_1 = float,
                 ◇ DIST_2 = float,
                 ◇ REPERE = text (default: "GLOBAL "),
                 ◆ RIGI_NOR = float,
                 ◇ AMOR_NOR = float (default: 0.0),
                 ◆ FNOR_CRIT = float,
                 ◆ FNOR_POST_FL = float,
                 ◇ ENFO_FL = float (default: 1e-20),
                 ◇ AMOR_FL = float,
                 ◇ LARG_PLAT = float (default: 0.0),
                 ◇ DEPL_POST_FL = float,
                 ◇ RIGI_POST_FL = float,
                 ◇ AMOR_POST_FL = float,
                 ◇ CRIT_AMOR =/"EXCLUS ",
                               /"INCLUS" (by default),
             # If: equal_to (" RELATION ", 'ANTI_SISM')
                 ◆/GROUP_NO_1 = grno,
                 ◆/GROUP_NO_2 = grno,
                 ◇ RIGI_K1 = float (default: 0.0),
                 ◇ RIGI_K2 = float (default: 0.0),
                 ◇ SEUIL_FX = float (default: 0.0),
                 ◇ C = float (default: 0.0),
                 ◇ PUIS_ALPHA = float (default: 0.0),
                 ◇ DX_MAX = float (default: 1.0),
             # If: equal_to (" RELATION ", 'DIS_VISC')
                 ◆/GROUP_NO_1 = grno,
                 ◆/GROUP_NO_2 = grno,
                 ◆/K1 = float,
                   /UNSUR_K1 = float,
                 ◆/K2 = float,
                   /UNSUR_K2 = float,
                 ◆/K3 = float,
                   /UNSUR_K3 = float,
                 ◆ C = float,
                 ◇ PUIS_ALPHA = float (default: 0.5),
                 ◇ ITER_INTE_MAXI = int (default: 20),
                 ◇ RESI_INTE = float (default: 1e-06),
             # If: equal_to (" RELATION ", 'DIS_ECRO_TRAC')
                 ◆/GROUP_NO_1 = grno,
                 ◆/GROUP_NO_2 = grno,
                 ◆/FX = function,
                   /FTAN = function,
                 # If: exists (" FTAN ")
                     ◆ ECROUISSAGE =/"CINEMATIQUE ",
                                     /"ISOTROPE ",
                 ◇ ITER_INTE_MAXI = int (default: 20),
                 ◇ RESI_INTE = float (default: 1e-06),
             # If: equal_to (" RELATION ", 'CHOC_ELAS_TRAC')
                 ◆/GROUP_NO_1 = grno,
                 ◆/GROUP_NO_2 = grno,
                 ◇ DIST_1 = float,
                 ◇ DIST_2 = float,
                 ◆ FX = function,
             # If: equal_to (" RELATION ", 'RELA_EFFO_DEPL')
                 ◆/GROUP_NO = grno,
                 ◇ SOUS_STRUC = text,
                 ◇ NOM_CMP = text,
                 ◆ FONCTION = function/formula/table cloth,
             # If: equal_to (" RELATION ", 'RELA_EFFO_VITE')
                 ◆/GROUP_NO = grno,
                 ◇ SOUS_STRUC = text,
                 ◇ NOM_CMP = text,
                 ◆ FONCTION = function/formula/table cloth,
          ),
        ◇ & BASE_ELAS_FLUI = melasflu,
          & NUME_VITE_FLUI = int,
        ◇ VERI_CHOC = _F (
             ◇ STOP_CRITERE =/"NON ",
                              /"OUI" (by default),
             ◇ SEUIL = float (default: 0.5),
          ),
        # If: exists (" BASE_ELAS_FLUI ")
            ◇ TRAITEMENT_NONL = "IMPLICITE ",
        # If: not exists (" BASE_ELAS_FLUI ")
            ◇ TRAITEMENT_NONL =/"EXPLICITE" (by default),
                                /"IMPLICITE ",
    # If: equal_to (" BASE_CALCUL ", 'GENE') and equal_to (" TYPE_CALCUL ", 'HARM')
        SOLVEUR = _F (
             ◇ METHODE =/"LDLT" (by default),
                         /"MUMPS ",
             # 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 ",
                                  /"FR" (by default),
                                  /"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),
                 ◇ NB_RHS = int (default: 1),
                 ◇ RESI_RELA = float (default: -1.0),
                 ◇ 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),
          ),
    # If: equal_to (" BASE_CALCUL ", 'PHYS') and equal_to (" TYPE_CALCUL ", 'HARM')
        SOLVEUR = _F (
             ◇ METHODE =/"LDLT ",
                         /"MULT_FRONT ",
                         /"MUMPS" (by default),
             # 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 ",
                                  /"FR" (by default),
                                  /"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),
                 ◇ NB_RHS = int (default: 1),
                 ◇ RESI_RELA = float (default: -1.0),
                 ◇ 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),
          ),
    # If: equal_to (" BASE_CALCUL ", 'PHYS') and equal_to (" TYPE_CALCUL ", 'TRAN')
        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: -1.0),
                 ◇ GESTION_MEMOIRE =/"AUTO" (by default),
                                     /"EVAL ",
                                     /"IN_CORE ",
                                     /"OUT_OF_CORE ",
                 ◇ FILTRAGE_MATRICE = float (default: -1.0),
                 ◇ MIXER_PRECISION =/"NON" (by default),
                                     /"OUI ",
             # 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),
          ),
    # If: equal_to (" BASE_CALCUL ", 'GENE') and equal_to (" TYPE_CALCUL ", 'TRAN')
        SOLVEUR = _F (
             ◇ METHODE =/"LDLT" (by default),
                         /"MULT_FRONT ",
                         /"MUMPS ",
             # 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 ",
                                  /"FR" (by default),
                                  /"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),
                 ◇ NB_RHS = int (default: 1),
                 ◇ RESI_RELA = float (default: -1.0),
                 ◇ 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),
          ),
    ◇ TITRE = text,
    ◇ INFO =/1,
             /2,
    # If: equal_to (" BASE_CALCUL ", 'GENE') and equal_to (" TYPE_CALCUL ", 'TRAN')
        ◇ IMPRESSION = _F (
             ◇/TOUT = "OUI" (or not specified),
               /| UNITE_DIS_VISC = unit,
                 | INST_FIN = float,
                 | INST_INIT = float,
                 | LEVEL =/"DEPL_LOC",
                            /"FORC_LOC ",
                            /"TAUX_CHOC ",
                            /"VITE_LOC ",
             ◇/UNITE_DIS_ECRO_TRAC = unit,
          ),
)

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