2. Syntax#

/Cham_elem
/fiel_no = CALC_FATIGUE (
    ◆ TYPE_CALCUL =/"CUMUL_DOMMAGE ",
                    /"FATIGUE_MULTI ",
                    /"FATIGUE_VIBR ",
    # If: equal_to (" TYPE_CALCUL ", 'CUMUL_DOMMAGE')
        ◆ OPTION =/"DOMA_ELNO_SIGM ",
                   /"DOMA_ELGA_SIGM ",
                   /"DOMA_ELNO_EPSI ",
                   /"DOMA_ELGA_EPSI ",
                   /"DOMA_ELNO_EPME ",
                   /"DOMA_ELGA_EPME ",
        # If: equal_to (" OPTION ", 'DOMA_ELNO_SIGM') or equal_to (" OPTION ", 'DOMA_ELGA_SIGM')
            ◆ HISTOIRE = _F (
                 ◆ RESULTAT = evol_noli/dyna_trans/evol_elas,
                 ◇ EQUI_GD = "VMIS_SG ",
              ),
        # If: not equal_to (" OPTION ", 'DOMA_ELNO_SIGM') and not equal_to (" OPTION ", 'DOMA_ELGA_SIGM')
            ◆ HISTOIRE = _F (
                 ◆ RESULTAT = evol_noli/dyna_trans/evol_elas,
                 ◇ EQUI_GD = "INVA_2_SG ",
              ),
        ◇ & DOMMAGE =/"WOHLER ",
                      /"MANSON_COFFIN ",
                      /"TAHERI_MANSON ",
                      /"TAHERI_MIXTE ",
          & MATER = subdue,
        ◇ TAHERI_NAPPE = formula/tablecloth,
        ◇ TAHERI_FONC = formula/tablecloth/function,
    # If: equal_to (" TYPE_CALCUL ", 'FATIGUE_VIBR')
        ◆ OPTION =/"DOMA_ELNO_SIGM ",
                   /"DOMA_ELGA_SIGM ",
        ◆ CORR_SIGM_MOYE =/"GOODMAN ",
                           /"GERBER ",
        ◆ HISTOIRE = _F (
             ◆ RESULTAT = evol_noli/evol_elas,
             ◆ MODE_MECA = meca fashion,
             ◆ NUME_MODE = int,
             ◇ FACT_PARTICI = float (default: 1.0),
             ◇ EQUI_GD = "VMIS_SG ",
          ),
        ◇ & DOMMAGE = "WOHLER" (or not specified),
          & MATER = subdue,
    # If: equal_to (" TYPE_CALCUL ", 'FATIGUE_MULTI')
        ◆ TYPE_CHARGE =/"PERIODIQUE ",
                        /"NON_PERIODIQUE ",
        ◆ OPTION =/"DOMA_ELGA ",
                   /"DOMA_NOEUD ",
        ◆ RESULTAT = evol_noli/evol_elas,
        ◇ CHAM_MATER = mater_field,
        ◆ MAILLAGE = mesh,
        ◆/GROUP_MA = grma,
          /GROUP_NO = grno,
        ◇ COEF_PREECROU = float (default: 1.0),
        # If: equal_to (" TYPE_CHARGE ", 'PERIODIQUE')
            ◆ CRITERE =/"MATAKE_MODI_AC ",
                        /"DANG_VAN_MODI_AC ",
                        /"VMIS_TRESCA ",
                        /"FORMULE_CRITERE ",
            # If: (equal_to (" CRITERE ", '",' MATAKE_MODI_AC ') or equal_to (" CRITERE ",' DANG_VAN_MODI_AC '))
                ◆ METHODE = "CERCLE_EXACT" (or not specified),
            # If: (equal_to (" CRITERE ", 'FORMULE_CRITERE'))
                ◆ FORMULE_GRDEQ = formula/function,
                ◆ COURBE_GRD_VIE =/"WOHLER ",
                                   /"MANSON_COFFIN ",
                                   /"FORM_VIE ",
                ◇ FORMULE_CRITIQUE = formula/function,
                # If: (equal_to (" COURBE_GRD_VIE ", 'FORM_VIE'))
                    ◆ FORMULE_VIE = formula/function,
            ◇ & INST_INIT_CYCL = float,
              & INST_CRIT =/"RELATIF ",
                            /"ABSOLU ",
            # If: (equal_to (" INST_CRIT ", 'RELATIF'))
                ◇ PRECISION = float (default: 1e-06),
            # If: (equal_to (" INST_CRIT ", 'ABSOLU'))
                ◆ PRECISION = float,
        # If: equal_to (" TYPE_CHARGE ", 'NON_PERIODIQUE')
            ◆ CRITERE =/"MATAKE_MODI_AV ",
                        /"DANG_VAN_MODI_AV ",
                        /"FATESOCI_MODI_AV ",
                        /"FORMULE_CRITERE ",
                        /"VMIS_TRESCA ",
            # If: (not equal_to (" CRITERE ", 'VMIS_TRESCA'))
                ◆ PROJECTION =/"UN_AXE ",
                               /"DEUX_AXES ",
                ◇ DELTA_OSCI = float,
            # If: (equal_to (" CRITERE ", 'FORMULE_CRITERE'))
                ◆ FORMULE_GRDEQ = formula/function,
                ◆ COURBE_GRD_VIE =/"WOHLER ",
                                   /"MANSON_COFFIN ",
                                   /"FORM_VIE ",
                # If: (equal_to (" COURBE_GRD_VIE ", 'FORM_VIE'))
                    ◆ FORMULE_VIE = formula/function,
    ◇ INFO =/1 (by default),
             /2,
)

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