2. Syntaxe#

/ evol_noli
/ table = CALC_STAB_PENTE(
    ◆ CHAM_MATER = cham_mater,
    ◇ METHODE_STAB = / "LEM",
                     / "SRM" (par défaut),
    # Si: equal_to("METHODE_STAB", "SRM")
        ◆ MODELE = modele,
        ◆ / TOUT = "OUI" (ou non renseigné),
          / GROUP_MA = list[grma],
        ◇ EXCIT = _F(
             ◆ CHARGE = char_cine_meca / char_meca,
             ◇ FONC_MULT = fonction / formule / nappe,
             ◇ TYPE_CHARGE = / "DIDI",
                             / "FIXE_CSTE" (par défaut),
                             / "SUIV",
          ),
        ◆ INCREMENT = _F(
             # Si: exists("INST_INIT") or exists("INST_FIN")
                 ◇ CRITERE = "RELATIF",
                 # Si: (equal_to("CRITERE", 'RELATIF'))
                     ◇ PRECISION = float (défaut: 1e-06),
             ◆ LIST_INST = list_inst / listr8,
             ◇ / NUME_INST_INIT = int,
               / INST_INIT = float,
             ◇ / NUME_INST_FIN = int,
               / INST_FIN = float,
          ),
        ⟐ CONVERGENCE = _F(
             # Si: exists("RESI_REFE_RELA")
                 ◆ | EFFORT_REFE = float,
                   | SIGM_REFE = float,
                   | EPSI_REFE = float,
                   | FLUX_THER_REFE = float,
                   | MOMENT_REFE = float,
                   | FLUX_HYD1_REFE = float,
                   | FLUX_HYD2_REFE = float,
                   | VARI_REFE = float,
                   | DEPL_REFE = float,
                   | LAGR_REFE = float,
                   | PI_REFE = float,
             ◆ | RESI_REFE_RELA = float,
               | RESI_GLOB_MAXI = float,
               | RESI_GLOB_RELA = float,
             ◇ / RESI_COMP_RELA = float,
             ◇ ITER_GLOB_MAXI = int (défaut: 10),
             ◇ ITER_GLOB_ELAS = int (défaut: 25),
             ◇ ARRET = / "NON",
                       / "OUI" (par défaut),
             ◇ VERIF = / "AU_MOINS_UN",
                       / "TOUT" (par défaut),
          ),
        ⟐ COMPORTEMENT = _F(
             # Si: is_in("RELATION", ('VMIS_ISOT_LINE','VMIS_ISOT_TRAC','VISCOCHAB','VISC_ISOT_LINE','VISC_ISOT_TRAC',))
                 ◇ POST_ITER = "CRIT_RUPT" (ou non renseigné),
             # Si: is_in("RELATION", ('VMIS_ISOT_LINE','VMIS_CINE_LINE','VMIS_ECMI_LINE','VMIS_ISOT_TRAC','VMIS_CIN1_CHAB','VMIS_CIN2_CHAB'))
                 ◇ POST_INCR = / "REST_ECRO",
                               / "SANS",
             ◆ / TOUT = "OUI" (ou non renseigné),
               / GROUP_MA = list[grma],
             ◇ RELATION = / "ARME",
                          / "ASSE_CORN",
                          / "BETON_AGEING",
                          / "BETON_BURGER",
                          / "BETON_DOUBLE_DP",
                          / "BETON_GRANGER",
                          / "BETON_GRANGER_V",
                          / "BETON_RAG",
                          / "BETON_REGLE_PR",
                          / "BETON_UMLV",
                          / "Barcelone",
                          / "CABLE",
                          / "CABLE_GAINE_FROT",
                          / "CAM_CLAY",
                          / "CHOC_ELAS_TRAC",
                          / "CHOC_ENDO",
                          / "CHOC_ENDO_PENA",
                          / "CJS",
                          / "CORR_ACIER",
                          / "CSSM",
                          / "CZM_ELAS_MIX",
                          / "CZM_EXP_MIX",
                          / "CZM_EXP_REG",
                          / "CZM_FAT_MIX",
                          / "CZM_LAB_MIX",
                          / "CZM_LIN_REG",
                          / "CZM_OUV_MIX",
                          / "CZM_TAC_MIX",
                          / "CZM_TRA_MIX",
                          / "CZM_TURON",
                          / "DASHPOT",
                          / "DHRC",
                          / "DIS_BILI_ELAS",
                          / "DIS_CHOC",
                          / "DIS_CONTACT",
                          / "DIS_ECRO_CINE",
                          / "DIS_ECRO_TRAC",
                          / "DIS_GOUJ2E_ELAS",
                          / "DIS_GOUJ2E_PLAS",
                          / "DIS_GRICRA",
                          / "DIS_VISC",
                          / "DRUCK_PRAGER",
                          / "DRUCK_PRAG_N_A",
                          / "ELAS" (par défaut),
                          / "ELAS_HYPER",
                          / "ELAS_HYPER_VISC",
                          / "ELAS_MEMBRANE_NH",
                          / "ELAS_MEMBRANE_SV",
                          / "ELAS_POUTRE_GR",
                          / "ELAS_VMIS_LINE",
                          / "ELAS_VMIS_PUIS",
                          / "ELAS_VMIS_TRAC",
                          / "ENDO_CARRE",
                          / "ENDO_FISS_EXP",
                          / "ENDO_HETEROGENE",
                          / "ENDO_ISOT_BETON",
                          / "ENDO_LOCA_EXP",
                          / "ENDO_LOCA_TC",
                          / "ENDO_ORTH_BETON",
                          / "ENDO_PORO_BETON",
                          / "ENDO_SCALAIRE",
                          / "FLUA_ENDO_PORO",
                          / "FLUA_PORO_BETON",
                          / "FONDATION",
                          / "GLRC_DAMAGE",
                          / "GLRC_DM",
                          / "GRAN_IRRA_LOG",
                          / "GRILLE_CINE_LINE",
                          / "GRILLE_ISOT_LINE",
                          / "GRILLE_PINTO_MEN",
                          / "GTN",
                          / "GonfElas",
                          / "HAYHURST",
                          / "HOEK_BROWN",
                          / "HOEK_BROWN_EFF",
                          / "HOEK_BROWN_TOT",
                          / "HUJEUX",
                          / "HYPER_HILL",
                          / "IRRAD3M",
                          / "Iwan",
                          / "JOINT_BA",
                          / "JOINT_BANDIS",
                          / "JOINT_MECA_ENDO",
                          / "JOINT_MECA_FROT",
                          / "JOINT_MECA_RUPT",
                          / "JONC_ENDO_PLAS",
                          / "KICHENIN_NL",
                          / "KIT_CG",
                          / "KIT_DDI",
                          / "KIT_H",
                          / "KIT_HH",
                          / "KIT_HH2",
                          / "KIT_HH2M",
                          / "KIT_HHM",
                          / "KIT_HM",
                          / "KIT_THH",
                          / "KIT_THH2",
                          / "KIT_THH2M",
                          / "KIT_THHM",
                          / "KIT_THM",
                          / "KIT_THV",
                          / "LAIGLE",
                          / "LEMAITRE",
                          / "LEMAITRE_IRRA",
                          / "LEMA_SEUIL",
                          / "LETK",
                          / "LKR",
                          / "MAZARS",
                          / "MAZARS_UNIL",
                          / "MCC",
                          / "META_LEMA_ANI",
                          / "META_LEMA_ANI",
                          / "META_P_CL",
                          / "META_P_CL_PT",
                          / "META_P_CL_PT_RE",
                          / "META_P_CL_RE",
                          / "META_P_IL",
                          / "META_P_IL_PT",
                          / "META_P_IL_PT_RE",
                          / "META_P_IL_RE",
                          / "META_P_INL",
                          / "META_P_INL_PT",
                          / "META_P_INL_PT_RE",
                          / "META_P_INL_RE",
                          / "META_V_CL",
                          / "META_V_CL_PT",
                          / "META_V_CL_PT_RE",
                          / "META_V_CL_RE",
                          / "META_V_IL",
                          / "META_V_IL_PT",
                          / "META_V_IL_PT_RE",
                          / "META_V_IL_RE",
                          / "META_V_INL",
                          / "META_V_INL_PT",
                          / "META_V_INL_PT_RE",
                          / "META_V_INL_RE",
                          / "MFRONT",
                          / "MOHR_COULOMB",
                          / "MONOCRISTAL",
                          / "MULTIFIBRE",
                          / "MetaAcierEPIL_PT",
                          / "MohrCoulombAS",
                          / "NLH_CSRM",
                          / "NORTON",
                          / "NORTON_HOFF",
                          / "PINTO_MENEGOTTO",
                          / "POLYCRISTAL",
                          / "RANKINE",
                          / "RELAX_ACIER",
                          / "RGI_BETON",
                          / "RGI_BETON_BA",
                          / "ROUSSELIER",
                          / "ROUSS_PR",
                          / "ROUSS_VISC",
                          / "RUPT_FRAG",
                          / "SANS",
                          / "UMAT",
                          / "VENDOCHAB",
                          / "VISCOCHAB",
                          / "VISC_CIN1_CHAB",
                          / "VISC_CIN2_CHAB",
                          / "VISC_CIN2_MEMO",
                          / "VISC_CIN2_NRAD",
                          / "VISC_DRUC_PRAG",
                          / "VISC_ENDO_LEMA",
                          / "VISC_GTN",
                          / "VISC_IRRA_LOG",
                          / "VISC_ISOT_LINE",
                          / "VISC_ISOT_NL",
                          / "VISC_ISOT_TRAC",
                          / "VISC_MAXWELL",
                          / "VISC_MAXWELL_MT",
                          / "VISC_MEMO_NRAD",
                          / "VISC_TAHERI",
                          / "VMIS_ASYM_LINE",
                          / "VMIS_CIN1_CHAB",
                          / "VMIS_CIN2_CHAB",
                          / "VMIS_CIN2_MEMO",
                          / "VMIS_CIN2_NRAD",
                          / "VMIS_CINE_GC",
                          / "VMIS_CINE_LINE",
                          / "VMIS_CINE_LINE",
                          / "VMIS_ECMI_LINE",
                          / "VMIS_ECMI_TRAC",
                          / "VMIS_ISOT_LINE",
                          / "VMIS_ISOT_NL",
                          / "VMIS_ISOT_PUIS",
                          / "VMIS_ISOT_TRAC",
                          / "VMIS_JOHN_COOK",
                          / "VMIS_MEMO_NRAD",
             ◇ REGU_VISC = / "NON" (par défaut),
                           / "OUI",
             # Si: equal_to("RELATION", 'MONOCRISTAL')
                 ◆ COMPOR = compor,
             # Si: equal_to("RELATION", 'MULTIFIBRE')
                 ◇ RIGI_GEOM = / "DEFAUT" (par défaut),
                               / "OUI",
             # Si: equal_to("RELATION", 'POLYCRISTAL')
                 ◆ COMPOR = compor,
             # Si: equal_to("RELATION", 'UMAT')
                 ◆ NB_VARI = int,
                 ◆ LIBRAIRIE = text,
                 ◆ NOM_ROUTINE = text,
             # Si: equal_to("RELATION", 'MFRONT')
                 ◆ COMPOR_MFRONT = compor_mgis,
                 ◇ VERI_BORNE = / "ARRET" (par défaut),
                                / "MESSAGE",
                                / "SANS",
                 ◇ ALGO_CPLAN = / "ANALYTIQUE",
                                / "DEBORST" (par défaut),
                 ◇ SYME_MATR_TANG = / "NON",
                                    / "OUI" (par défaut),
             # Si: not equal_to('RELATION', 'MFRONT')
             # Si: equal_to("RELATION", 'KIT_DDI')
                 ◆ RELATION_KIT = / "BETON_DOUBLE_DP",
                                  / "BETON_GRANGER",
                                  / "BETON_GRANGER_V",
                                  / "BETON_UMLV",
                                  / "ENDO_ISOT_BETON",
                                  / "GLRC_DM",
                                  / "MAZARS",
                                  / "ROUSS_PR",
                                  / "VMIS_CINE_LINE",
                                  / "VMIS_ISOT_LINE",
                                  / "VMIS_ISOT_PUIS",
                                  / "VMIS_ISOT_TRAC",
             # Si: equal_to("RELATION", 'KIT_CG')
                 ◆ RELATION_KIT = / "CABLE_GAINE_FROT",
                                  / "ELAS",
                                  / "PINTO_MENEGOTTO",
                                  / "SANS",
                                  / "VMIS_CINE_LINE",
                                  / "VMIS_ISOT_LINE",
                                  / "VMIS_ISOT_TRAC",
             # Si: is_in("RELATION", ['KIT_HHM','KIT_HH', 'KIT_H','KIT_HM','KIT_THHM', 'KIT_THH','KIT_THM','KIT_THV','KIT_THH2M','KIT_HH2M','KIT_HH2','KIT_THH2'])
                 ◆ RELATION_KIT = / "BETON_AGEING",
                                  / "Barcelone",
                                  / "CAM_CLAY",
                                  / "CJS",
                                  / "CSSM",
                                  / "CZM_EXP_REG",
                                  / "CZM_LIN_REG",
                                  / "DRUCK_PRAGER",
                                  / "DRUCK_PRAG_N_A",
                                  / "ELAS",
                                  / "ENDO_ISOT_BETON",
                                  / "GAZ",
                                  / "GonfElas",
                                  / "HOEK_BROWN_EFF",
                                  / "HOEK_BROWN_TOT",
                                  / "HUJEUX",
                                  / "HYDR_ENDO",
                                  / "HYDR_TABBAL",
                                  / "HYDR_UTIL",
                                  / "HYDR_VGC",
                                  / "HYDR_VGM",
                                  / "Iwan",
                                  / "JOINT_BANDIS",
                                  / "LAIGLE",
                                  / "LETK",
                                  / "LIQU_AD_GAZ",
                                  / "LIQU_AD_GAZ_VAPE",
                                  / "LIQU_GAZ",
                                  / "LIQU_GAZ_ATM",
                                  / "LIQU_SATU",
                                  / "LIQU_VAPE",
                                  / "LIQU_VAPE_GAZ",
                                  / "LKR",
                                  / "MAZARS",
                                  / "MCC",
                                  / "MFRONT",
                                  / "MOHR_COULOMB",
                                  / "NLH_CSRM",
                                  / "RANKINE",
                                  / "VISC_DRUC_PRAG",
                                  / "VISC_MAXWELL",
                                  / "VISC_MAXWELL_MT",
                 # Si: 'MFRONT' in value("RELATION_KIT")
                     ◆ COMPOR_MFRONT = compor_mgis,
                     ◇ VERI_BORNE = / "ARRET" (par défaut),
                                    / "MESSAGE",
                                    / "SANS",
                     ◇ ALGO_CPLAN = / "ANALYTIQUE",
                                    / "DEBORST" (par défaut),
                     ◇ RESI_INTE = float (défaut: 1e-08),
                     ◇ ITER_INTE_MAXI = int,
                     ◇ SYME_MATR_TANG = / "NON",
                                        / "OUI" (par défaut),
                 # Si: 'MFRONT' not in value("RELATION_KIT")
             # Si: value("RELATION").startswith('META_') and not value("RELATION").startswith('META_LEMA_ANI')
                 ◆ RELATION_KIT = / "ACIER",
                                  / "ZIRC",
             ◇ DEFORMATION = / "GDEF_LOG",
                             / "GREEN_LAGRANGE",
                             / "GROT_GDEP",
                             / "PETIT" (par défaut),
                             / "PETIT_REAC",
                             / "SIMO_MIEHE",
             ◇ RESI_CPLAN_MAXI = float,
             # Si: not exists("RESI_CPLAN_MAXI")
                 ◇ RESI_CPLAN_RELA = float (défaut: 1e-06),
             ◇ ITER_CPLAN_MAXI = int (défaut: 10),
             # Si: (equal_to("RELATION", 'MFRONT'))
                 ◇ RESI_INTE = float,
                 ◇ ITER_INTE_MAXI = int,
             # Si: is_in("RELATION", ('RGI_BETON','FLUA_PORO_BETON','FLUA_ENDO_PORO', 'RGI_BETON_BA',))
                 ◇ RESI_INTE = float (défaut: 1e-06),
                 ◇ ITER_INTE_MAXI = int (défaut: -1),
             # Si: not is_in("RELATION", ('MFRONT','RGI_BETON','FLUA_PORO_BETON','FLUA_ENDO_PORO','RGI_BETON_BA',))
                 ◇ RESI_INTE = float (défaut: 1e-06),
                 ◇ ITER_INTE_MAXI = int (défaut: 20),
             # Si: is_in("DEFORMATION", ('PETIT','PETIT_REAC','GROT_GDEP'))
                 ◇ ITER_INTE_PAS = int (défaut: 0),
             ◇ ALGO_INTE = / "ANALYTIQUE",
                           / "BASCULE_EXPLICITE",
                           / "BRENT",
                           / "DEKKER",
                           / "NEWTON",
                           / "NEWTON_1D",
                           / "NEWTON_PERT",
                           / "NEWTON_RELI",
                           / "RUNGE_KUTTA",
                           / "SANS_OBJET",
                           / "SECANTE",
                           / "SEMI_EXPLICITE",
                           / "SPECIFIQUE",
             # Si: not is_in("RELATION", ('RGI_BETON','FLUA_PORO_BETON','FLUA_ENDO_PORO', 'RGI_BETON_BA', 'ENDO_PORO_BETON'))
                 ◇ TYPE_MATR_TANG = / "PERTURBATION",
                                    / "VERIFICATION",
                 # Si: (exists("TYPE_MATR_TANG"))
                     ◇ VALE_PERT_RELA = float (défaut: 1e-05),
                 # Si: equal_to("TYPE_MATR_TANG", 'TANGENTE_SECANTE')
                     ◇ SEUIL = float (défaut: 3.0),
                     ◇ AMPLITUDE = float (défaut: 1.5),
                     ◇ TAUX_RETOUR = float (défaut: 0.05),
                 ◇ PARM_THETA = float (défaut: 1.0),
                 # Si: not exists("TYPE_MATR_TANG")
                     ◇ RESI_RADI_RELA = float,
             # Si: is_in("RELATION", ('RGI_BETON','FLUA_PORO_BETON','FLUA_ENDO_PORO', 'RGI_BETON_BA', 'ENDO_PORO_BETON'))
                 ◇ TYPE_MATR_TANG = / "MATR_ELAS" (par défaut),
                                    / "MATR_ENDO",
                 ◇ PARM_THETA = float (défaut: 1.0),
                 # Si: not exists("TYPE_MATR_TANG")
                     ◇ RESI_RADI_RELA = float,
          ),
        ◇ FS = _F(
             ◇ FS_INIT = float (défaut: 1.0),
             ◇ INCR_INIT = float (défaut: 0.1),
             ◇ RESI_MAXI = float (défaut: 0.01),
             ◇ ITER_MAXI = int (défaut: 100),
             ◇ METHODE = / "EXPONENTIELLE" (par défaut),
                         / "LINEAIRE",
             # Si: equal_to("METHODE", "LINEAIRE")
                 ◆ ITER_RAFF_LINE = int,
          ),
    # Si: equal_to("METHODE_STAB", "LEM")
        ◇ METHODE_LEM = / "BISHOP" (par défaut),
                        / "FELLENIUS",
                        / "MORGENSTERN_PRICE",
                        / "SPENCER",
        ◇ CRITERE = / "DRUCK_PRAGER",
                    / "MOHR_COULOMB" (par défaut),
        ◆ GROUP_MA = grma,
        ◇ NB_TRANCHE = int (défaut: 10),
        ◇ INFO_TABLE = / 1 (par défaut),
                       / 2,
        ◇ PHI_C_EQUI = "OUI" (ou non renseigné),
        ◇ TOLE_DIST = float,
        # Si: exists("CHAM_PRES") or exists("LIGN_PHREA")
            ◇ SUCCION = "OUI" (ou non renseigné),
            # Si: equal_to("SUCCION", "OUI")
                ◇ PHI_B = _F(
                     ◆ / TOUT = "OUI" (ou non renseigné),
                       / GROUP_MA = list[grma],
                     ◆ VALE = float,
                  ),
        ◇ CHAM_PRES = _F(
             ◆ RESULTAT = evol_noli,
             ◆ / INST = float,
               / NUME_ORDRE = int,
             ◇ PRECISION = float (défaut: 1e-06),
             ◇ ALGO_PRES = / "INVERSE",
                           / "PROJECTION" (par défaut),
          ),
        ◇ LIGN_PHREA = _F(
             ◆ / TOUT = "OUI" (ou non renseigné),
               / GROUP_MA = list[grma],
             ◆ INDIC_PIEZO = list[int],
             ◆ TABLE = table,
             ◇ PRES_MAX = float,
          ),
        ◇ COEF_RU = _F(
             ◆ / TOUT = "OUI" (ou non renseigné),
               / GROUP_MA = list[grma],
             ◇ VALE = float,
          ),
        ◇ FONC_PRES = fonction / formule,
        ◇ ACCE = _F(
             ◆ / CALC_KC = "OUI" (ou non renseigné),
               / COEF_ACCE = float,
             ◇ / DIRECTION = list[float],
          ),
        ⟐ RAFF_MAIL = _F(
             ◇ NB_RAFF_MAXI = int (défaut: 4),
             ◇ RAFF_CRIT_STAB = float (défaut: 0.001),
          ),
        ◆ X1_MINI = float,
        ◆ X1_MAXI = float,
        ◆ X2_MINI = float,
        ◆ X2_MAXI = float,
        # Si: (equal_to("METHODE_LEM", "BISHOP"))or(equal_to("METHODE_LEM", "FELLENIUS"))
            ◇ NB_POINT_1 = int (défaut: 5),
            ◇ NB_POINT_2 = int (défaut: 5),
            ◇ Y_MINI = float,
            ◇ Y_MAXI = float,
            ◇ NB_RAYON = int (défaut: 15),
        # Si: (equal_to("METHODE_LEM", "MORGENSTERN_PRICE")or(equal_to("METHODE_LEM", "SPENCER")))
            ◇ INIT_ALEA = int,
            ⟐ ALGO_EFWA = _F(
                 ◇ ETAT_INIT = table,
                 ◇ ITER_MAXI = int (défaut: 50),
                 ◆ A = float,
                 ◇ A_INIT = float,
                 ◇ A_FINAL = float,
                 ◇ N = int (défaut: 5),
                 ◇ M = int (défaut: 40),
                 ◇ MG = int (défaut: 5),
                 ◇ SA = float (défaut: 0.04),
                 ◇ SB = float (défaut: 0.8),
                 ◇ NB_STAB_MAXI = int (défaut: 10),
                 ◇ CRIT_STAB = float (défaut: 0.001),
                 ◇ MARGE_PENTE = float,
              ),
    ◇ CHAM_DEFO = co,
    ◇ INFO = / 1 (par défaut),
             / 2,
)

◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles