2. Syntaxe#

table_container = CALCUL(
    ◇ reuse = <objet de TABLE>,
    ◇ PHENOMENE = "MECANIQUE",
    ◆ MODELE = modele,
    ◇ CARA_ELEM = cara_elem,
    ◆ CHAM_MATER = cham_mater,
    ◇ TABLE = table_container,
    ◆ INCREMENT = _F(
         ◆ LIST_INST = listr8,
         ◆ NUME_ORDRE = int,
      ),
    # Si: equal_to("PHENOMENE", 'MECANIQUE')
        ◇ OPTION = / "COMPORTEMENT" (par défaut),
                   / "FORC_INTE_ELEM",
                   / "FORC_NODA_ELEM",
                   / "MATR_TANG_ELEM",
        ◇ EXCIT = _F(
             ◆ CHARGE = char_cine_meca / char_meca,
             ◇ FONC_MULT = fonction / formule / nappe,
             ◇ TYPE_CHARGE = "FIXE_CSTE",
          ),
        ◇ MODE_FOURIER = int,
        ◇ DEPL = cham_no,
        ◇ INCR_DEPL = cham_no,
        ◇ SIGM = cham_elem,
        ◇ VARI = cham_elem,
        ◇ SCHEMA_THM = _F(
             ◇ PARM_THETA = float (défaut: 1.0),
             ◇ PARM_ALPHA = float (défaut: 1.0),
          ),
        ⟐ COMPORTEMENT = _F(
             ◆ / 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_PLAS",
                          / "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: (equal_to("RELATION", 'VISC_ISOT_PLAS'))
                 ◇ RESI_INTE = float (défaut: 5e-14),
                 ◇ ITER_INTE_MAXI = int (défaut: 100),
             # 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','VISC_ISOT_PLAS','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,
          ),
        # Si: 'MATR_TANG_ELEM' in value("OPTION")
            ◇ PHASE = / "CORRECTION" (par défaut),
                      / "PREDICTION",
    ◇ INFO = / 1 (par défaut),
             / 2,
)

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