2. Syntax#

table_container = CALCUL (
    ◇ reuse = <objet de TABLE >,
    ◇ PHENOMENE = "MECANIQUE ",
    ◆ MODELE = model,
    ◇ CARA_ELEM = cara_elem,
    ◆ CHAM_MATER = cham_master,
    ◇ TABLE = table_container,
    ◆ INCREMENT = _F (
         ◆ LIST_INST = listr8,
         ◆ NUME_ORDRE = int,
      ),
    # If: equal_to (" PHENOMENE ", 'MECANIQUE')
        ◇ OPTION =/"COMPORTEMENT" (by default),
                   /"FORC_INTE_ELEM ",
                   /"FORC_NODA_ELEM ",
                   /"FORC_VARC_ELEM_M ",
                   /"FORC_VARC_ELEM_P ",
                   /"MATR_TANG_ELEM ",
        ◇ EXCIT = _F (
             ◆ CHARGE = char_cine_meca/char_meca,
             ◇ FONC_MULT = function/formula/table cloth,
             ◇ 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 (default: 1.0),
             ◇ PARM_ALPHA = float (default: 1.0),
          ),
        COMPORTEMENT = _F (
             ◆/TOUT = "OUI" (or not specified),
               /GROUP_MA = grma,
             ◇ RELATION =/"ARME ",
                          /"ASSE_CORN ",
                          /"BETON_BURGER ",
                          /"BETON_DOUBLE_DP ",
                          /"BETON_GRANGER ",
                          /"BETON_GRANGER_V ",
                          /"BETON_RAG ",
                          /"BETON_REGLE_PR ",
                          /"BETON_UMLV ",
                          /"Barcelona",
                          /"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" (by default),
                          /"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 ",
                          /"Inflation",
                          /"HAYHURST ",
                          /"HOEK_BROWN ",
                          /"HOEK_BROWN_EFF ",
                          /"HOEK_BROWN_TOT ",
                          /"HUJEUX ",
                          /"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 ",
                          /"MetaSteel EPIL_PT ",
                          /"Mohr Coulombas",
                          /"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" (by default),
                           /"OUI ",
             # If: equal_to (" RELATION ", 'MONOCRISTAL')
                 ◆ COMPOR = compor,
             # If: equal_to (" RELATION ", 'MULTIFIBRE')
                 ◇ RIGI_GEOM =/"DEFAUT" (by default),
                               /"OUI ",
             # If: equal_to (" RELATION ", 'POLYCRISTAL')
                 ◆ COMPOR = compor,
             # If: equal_to (" RELATION ", 'UMAT')
                 ◆ NB_VARI = int,
                 ◆ LIBRAIRIE = text,
                 ◆ NOM_ROUTINE = text,
             # If: equal_to (" RELATION ", 'MFRONT')
                 ◆ COMPOR_MFRONT = compor_mgis,
                 ◇ VERI_BORNE =/"ARRET" (by default),
                                /"MESSAGE ",
                                /"SANS ",
                 ◇ ALGO_CPLAN =/"ANALYTIQUE ",
                                /"DEBORST" (by default),
                 ◇ SYME_MATR_TANG =/"NON ",
                                    /"OUI" (by default),
             # If: not equal_to ('RELATION', 'MFRONT')
             # If: 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 ",
             # If: equal_to (" RELATION ", 'KIT_CG')
                 ◆ RELATION_KIT =/"CABLE_GAINE_FROT ",
                                  /"ELAS ",
                                  /"PINTO_MENEGOTTO ",
                                  /"SANS ",
                                  /"VMIS_CINE_LINE ",
                                  /"VMIS_ISOT_LINE ",
                                  /"VMIS_ISOT_TRAC ",
             # If: is_in (" RELATION ", ['KIT_HHM', ['', '', 'KIT_HH', '', '', '', '', '', '', '', 'KIT_H', '', '', 'KIT_HM', 'KIT_THHM', 'KIT_THM', '', 'KIT_THV', 'KIT_THH2M', '', ',' ',', ') KIT_THH KIT_HH2M KIT_HH2 KIT_THH2
                 ◆ RELATION_KIT =/"Barcelona",
                                  /"CAM_CLAY ",
                                  /"CJS ",
                                  /"CSSM ",
                                  /"CZM_EXP_REG ",
                                  /"CZM_LIN_REG ",
                                  /"DRUCK_PRAGER ",
                                  /"DRUCK_PRAG_N_A ",
                                  /"ELAS ",
                                  /"ENDO_ISOT_BETON ",
                                  /"GAZ ",
                                  /"Inflation",
                                  /"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 ",
                 # If: 'MFRONT' in value (" RELATION_KIT ")
                     ◆ COMPOR_MFRONT = compor_mgis,
                     ◇ VERI_BORNE =/"ARRET" (by default),
                                    /"MESSAGE ",
                                    /"SANS ",
                     ◇ ALGO_CPLAN =/"ANALYTIQUE ",
                                    /"DEBORST" (by default),
                     ◇ RESI_INTE = float (default: 1e-08),
                     ◇ ITER_INTE_MAXI = int,
                     ◇ SYME_MATR_TANG =/"NON ",
                                        /"OUI" (by default),
                 # If: 'MFRONT' not in value (" RELATION_KIT ")
             # If: value (" RELATION ") .startswith ('META_') and not value (" RELATION ") .startswith ('META_LEMA_ANI')
                 ◆ RELATION_KIT =/"ACIER ",
                                  /"ZIRC ",
             ◇ DEFORMATION =/"GDEF_LOG ",
                             /"GREEN_LAGRANGE ",
                             /"GROT_GDEP ",
                             /"PETIT" (by default),
                             /"PETIT_REAC ",
                             /"SIMO_MIEHE ",
             ◇ RESI_CPLAN_MAXI = float,
             # If: not exists (" RESI_CPLAN_MAXI ")
                 ◇ RESI_CPLAN_RELA = float (default: 1e-06),
             ◇ ITER_CPLAN_MAXI = int (default: 10),
             # If: (equal_to (" RELATION ", 'MFRONT'))
                 ◇ RESI_INTE = float,
                 ◇ ITER_INTE_MAXI = int,
             # If: is_in (" RELATION ", ('RGI_BETON', '', '', 'FLUA_PORO_BETON', 'FLUA_ENDO_PORO', 'RGI_BETON_BA',))
                 ◇ RESI_INTE = float (default: 1e-06),
                 ◇ ITER_INTE_MAXI = int (default: -1),
             # If: not is_in (" RELATION ", ('MFRONT', '', '', 'RGI_BETON', 'FLUA_PORO_BETON', 'FLUA_ENDO_PORO', 'RGI_BETON_BA',))
                 ◇ RESI_INTE = float (default: 1e-06),
                 ◇ ITER_INTE_MAXI = int (default: 20),
             # If: is_in (" DEFORMATION ", ('PETIT', '', 'PETIT_REAC', 'GROT_GDEP'))
                 ◇ ITER_INTE_PAS = int (default: 0),
             ◇ ALGO_INTE =/"ANALYTIQUE ",
                           /"BASCULE_EXPLICITE ",
                           /"BRENT ",
                           /"DEKKER ",
                           /"NEWTON ",
                           /"NEWTON_1D ",
                           /"NEWTON_PERT ",
                           /"NEWTON_RELI ",
                           /"RUNGE_KUTTA ",
                           /"SANS_OBJET ",
                           /"SECANTE ",
                           /"SEMI_EXPLICITE ",
                           /"SPECIFIQUE ",
             # If: not is_in (" RELATION ", ('RGI_BETON', '', '', 'FLUA_PORO_BETON', 'FLUA_ENDO_PORO', 'RGI_BETON_BA', 'ENDO_PORO_BETON'))
                 ◇ TYPE_MATR_TANG =/"PERTURBATION ",
                                    /"VERIFICATION ",
                 # If: (exists (" TYPE_MATR_TANG "))
                     ◇ VALE_PERT_RELA = float (default: 1e-05),
                 # If: equal_to (" TYPE_MATR_TANG ", 'TANGENTE_SECANTE')
                     ◇ SEUIL = float (default: 3.0),
                     ◇ AMPLITUDE = float (default: 1.5),
                     ◇ TAUX_RETOUR = float (default: 0.05),
                 ◇ PARM_THETA = float (default: 1.0),
                 # If: not exists (" TYPE_MATR_TANG ")
                     ◇ RESI_RADI_RELA = float,
             # If: is_in (" RELATION ", ('RGI_BETON', '', '', 'FLUA_PORO_BETON', 'FLUA_ENDO_PORO', 'RGI_BETON_BA', 'ENDO_PORO_BETON'))
                 ◇ TYPE_MATR_TANG =/"MATR_ELAS" (by default),
                                    /"MATR_ENDO ",
                 ◇ PARM_THETA = float (default: 1.0),
                 # If: not exists (" TYPE_MATR_TANG ")
                     ◇ RESI_RADI_RELA = float,
          ),
        # If: 'MATR_TANG_ELEM' in value (" OPTION ")
            ◇ PHASE =/"CORRECTION" (by default),
                      /"PREDICTION ",
    ◇ INFO =/1 (by default),
             /2,
)

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