2. Syntax#

/evol_noli
/evol_ther
/table = MACR_ECREVISSE (
    ◇ reuse = <objet de ETAT_INIT/EVOL_NOLI >,
    ◇ TABLE = co,
    ◇ DEBIT = co,
      /TEMPER = co,
    ◇/ETAT_INIT = _F (
           ◆ EVOL_NOLI = evol_noli,
           ◆ EVOL_THER = evol_ther,
           ◆ NUME_ORDRE = int,
        ),
    ◆ MODELE_MECA = model,
    ◆ MODELE_THER = model,
    ◆ FISSURE = _F (
         ◆ PREFIXE_FICHIER = text,
         ◆ GROUP_MA = Grma,
         ◆ GROUP_NO_ORIG = big,
         ◆ GROUP_NO_EXTR = big,
         ◆ ZETA = float,
         ◆ RUGOSITE = float,
         ◇ TORTUOSITE = float (default: 1.0),
         ◆ OUVERT_REMANENTE = float,
         ◆ SECTION =/"ELLIPSE ",
                     /"RECTANGLE ",
         # If: equal_to (" SECTION ", 'ELLIPSE')
             ◇ LISTE_COTES_BL = float,
             ◆ LISTE_VAL_BL = float,
         # If: equal_to (" SECTION ", 'RECTANGLE')
             ◇ LISTE_COTES_BL = float,
             ◆ LISTE_VAL_BL = float,
      ),
    ◆ ECOULEMENT = _F (
         ◆/PRES_ENTREE = float,
           /PRES_ENTREE_FO = function/formula/table cloth,
         ◆/PRES_SORTIE = float,
           /PRES_SORTIE_FO = function/formula/table cloth,
         ◆ FLUIDE_ENTREE =/1,
                           /2,
                           /3,
                           /4,
                           /5,
                           /6,
         # If: equal_to (" FLUIDE_ENTREE ", 1)
             ◆/TEMP_ENTREE = float,
               /TEMP_ENTREE_FO = function/formula/table cloth,
         # If: equal_to (" FLUIDE_ENTREE ", 2)
             ◆/TITR_MASS = float,
               /TITR_MASS_FO = function/formula/table cloth,
         # If: equal_to (" FLUIDE_ENTREE ", 3)
             ◆/TEMP_ENTREE = float,
               /TEMP_ENTREE_FO = function/formula/table cloth,
         # If: equal_to (" FLUIDE_ENTREE ", 4)
             ◆/TEMP_ENTREE = float,
               /TEMP_ENTREE_FO = function/formula/table cloth,
             ◆/PRES_PART = float,
               /PRES_PART_FO = function/formula/table cloth,
         # If: equal_to (" FLUIDE_ENTREE ", 5)
             ◆/TITR_MASS = float,
               /TITR_MASS_FO = function/formula/table cloth,
             ◆/PRES_PART = float,
               /PRES_PART_FO = function/formula/table cloth,
         # If: equal_to (" FLUIDE_ENTREE ", 6)
             ◆/TEMP_ENTREE = float,
               /TEMP_ENTREE_FO = function/formula/table cloth,
      ),
    ◇ LIST_INST = listr8,
    ◆ MODELE_ECRE = _F (
         ◇ IVENAC =/0 (by default),
                    /1,
         ◆ ECOULEMENT =/"GELE ",
                        /"SATURATION ",
         # If: equal_to (" ECOULEMENT ", 'GELE')
             ◆ PRESS_EBULLITION = float,
         ◆ FROTTEMENT =/-1,
                        /-2,
                        /-3,
                        /-4,
                        /0,
                        /1,
                        /11,
                        /12,
                        /13,
                        /14,
                        /2,
                        /21,
                        /22,
                        /23,
                        /24,
                        /3,
                        /4,
         # If: less_than ('FROTTEMENT', 0)
             ◆ REYNOLDS_LIM = float,
             ◆ FROTTEMENT_LIM = float,
         ◆ TRANSFERT_CHAL =/-1,
                            /-11,
                            /-12,
                            /-2,
                            /0,
                            /1,
                            /11,
                            /12,
                            /2,
         # If: less_than ('TRANSFERT_CHAL', 0)
             ◆ XMINCH = float,
             ◆ XMAXCH = float,
      ),
    ◆ CONV_CRITERE = _F (
         ◆ TEMP_REF = float,
         ◆ PRES_REF = float,
         ◇ CRITERE =/"EXPLICITE ",
                     /"PRESS ",
                     /"TEMP ",
                     /"TEMP_PRESS" (by default),
         # If: equal_to (" CRITERE ", 'TEMP_PRESS', '') or equal_to (" CRITERE ", 'TEMP') or equal_to (" CRITERE ", '', 'PRESS')
             ◇ SUBD_NIVEAU = int (default: 3),
             ◇ SUBD_PAS_MINI = float,
             ◇ NUME_ORDRE_MIN = int (default: -1),
             ◇ PREC_CRIT = float (default: 1.0),
      ),
    ◇ CONVERGENCE_ECREVISSE = _F (
         ◇ KGTEST = float (default: 0.5),
         ◇ ITER_GLOB_MAXI = int (default: 400),
         ◇ CRIT_CONV_DEBI = float (default: 1e-05),
      ),
    ◇ COURBES =/"AUCUNE" (by default),
                /"INTERACTIF ",
                /"POSTSCRIPT ",
    ◆/LOGICIEL = text,
      /VERSION = "3.2.2" (or not specified),
    ◇ ENTETE = text (default: "Crayfish calculation title"),
    ◇ IMPRESSION =/"NON" (by default),
                   /"OUI ",
    ◇ INFO =/1 (by default),
             /2,
    ◆ CHAM_MATER = cham_master,
    ◆ TEMP_INIT = float,
    ◇ CARA_ELEM = cara_elem,
    ◆ EXCIT_MECA = _F (
         ◆ CHARGE = char_cine_meca/char_meca,
         ◇ FONC_MULT = function/formula/table cloth,
         ◇ TYPE_CHARGE =/"DIDI ",
                         /"FIXE_CSTE" (by default),
                         /"SUIV ",
      ),
    ◆ CONTACT = char_contact,
    COMPORTEMENT = _F (
         # If: is_in (" RELATION ", ('VMIS_ISOT_LINE', '', '', 'VMIS_ISOT_TRAC', 'VISCOCHAB', 'VISC_ISOT_LINE', 'VISC_ISOT_TRAC',))
             ◇ POST_ITER = "CRIT_RUPT" (or not specified),
         # If: 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" (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,
      ),
    NEWTON = _F (
         ◇ REAC_INCR = int (default: 1),
         ◇ PREDICTION =/"DEPL_CALCULE ",
                        /"ELASTIQUE ",
                        /"EXTRAPOL ",
                        /"TANGENTE ",
         ◇ MATRICE =/"ELASTIQUE ",
                     /"TANGENTE" (by default),
         ◇ PAS_MINI_ELAS = float (default: 0.0),
         ◇ REAC_ITER = int (default: 0),
         ◇ REAC_ITER_ELAS = int (default: 0),
         ◇ EVOL_NOLI = evol_noli,
      ),
    CONVERGENCE = _F (
         # If: exists (" RESI_REFE_RELA ")
             ◆ | SIGM_REFE = float,
               | EPSI_REFE = float,
               | FLUX_THER_REFE = float,
               | FLUX_HYD1_REFE = float,
               | FLUX_HYD2_REFE = float,
               | VARI_REFE = float,
         ◇/RESI_REFE_RELA = float,
           /| RESI_GLOB_MAXI = float,
             | RESI_GLOB_RELA = float,
         ◇ ITER_GLOB_MAXI = int (default: 10),
         ◇ ITER_GLOB_ELAS = int (default: 25),
         ◇ ARRET =/"NON ",
                   /"OUI" (by default),
      ),
    ◇ ENERGIE = _F (
         ◇ CALCUL = "OUI ",
      ),
    ◆ EXCIT_THER = _F (
         ◆ CHARGE = char_cine_ther/char_ther,
         ◇ FONC_MULT = function/formula/table cloth,
      ),
)

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