2. Syntax#

table = POST_RCCM (
    ◇ TYPE_RESU =/"VALE_MAX" (by default),
                  /"DETAILS ",
                  /"SYSTUS ",
    ◇ INFO =/1,
             /2,
    ◇ TITRE = text,
    ◆ TYPE_RESU_MECA =/"EVOLUTION ",
                       /"ZE200a ",
                       /"ZE200b ",
                       /"B3200",
                       /"B3600",
    ◇ AXIS =/"NON" (by default),
             /"OUI ",
    # If: equal_to (" TYPE_RESU_MECA ", 'EVOLUTION') and not equal_to (" TYPE_RESU "," SYSTUS ")
        ◆ OPTION =/"PM_PB ",
                   /"SN",
                   /"FATIGUE_ZH210 ",
                   /"AMORCAGE ",
        ◆ MATER = subdue,
        ◇ SY_MAX = float,
        ◇ TYPE_KE =/"KE_MECA" (by default),
                    /"KE_MIXTE ",
        ◇ RAYON_MOYEN = float (default: -1.0),
        ◆ TRANSITOIRE = _F (
             ◇ NB_OCCUR = int (default: 1),
             ◆/TABL_RESU_MECA = table,
               /TABL_SIGM_THETA = table,
             ◇ TABL_SIGM_THER = table,
             ◇ TABL_RESU_PRES = table,
             ◆/TOUT_ORDRE = "OUI" (or not specified),
               /INST = float,
               /LIST_INST = listr8,
               /TOUT_INST = "OUI" (or not specified),
             # If: (exists (" INST ")) or (exists (" LIST_INST "))
                 ◇ CRITERE =/"RELATIF" (by default),
                             /"ABSOLU ",
                 # If: (equal_to (" CRITERE ", 'RELATIF'))
                     ◇ PRECISION = float (default: 1e-06),
                 # If: (equal_to (" CRITERE ", 'ABSOLU'))
                     ◆ PRECISION = float,
          ),
    # If: equal_to (" TYPE_RESU_MECA ", 'ZE200a') or equal_to (" TYPE_RESU_MECA ", 'ZE200b')
        ◆ OPTION =/"SN",
                   /"FATIGUE ",
                   /"EFAT ",
        ◇ SOUS_CYCL =/"OUI ",
                      /"NON" (by default),
        ◇ METHODE =/"TRESCA" (by default),
                    /"TOUT_INST ",
        ◆ MATER = subdue,
        ◇ SY_MAX = float,
        ◇ TYPE_KE =/"KE_MECA" (by default),
                    /"KE_MIXTE ",
        ◆ CHAR_MECA = _F (
             ◆ NUME_CHAR = int,
             ◇ NOM_CHAR = text,
             ◆/MX = float,
               /MX_TUBU = float,
             # If: exists ("MX")
                 ◆ MY = float,
                 ◆ MZ = float,
             # If: exists (" MX_TUBU ")
                 ◆ MY_TUBU = float,
                 ◆ MZ_TUBU = float,
                 ◆ MX_CORP = float,
                 ◆ MY_CORP = float,
                 ◆ MZ_CORP = float,
          ),
        ◆ INDI_SIGM = _F (
             ◆ C1 = float,
             ◆ K1 = float,
             ◆ C3 = float,
             ◆ K3 = float,
             ◆/C2 = float,
               /C2_ TUBU = float,
             ◇ K2 = float,
             ◇ K2_ TUBU = float,
             ◇ C2_ CORP = float,
             ◇ K2_ CORP = float,
          ),
        ◆ TUYAU = _F (
             ◆ R = float,
             ◇ R_ TUBU = float,
             ◇ R_ CORP = float,
             ◆ EP = float,
             ◆/I = float,
               /I_ TUBU = float,
             ◇ I_ CORP = float,
          ),
        ◇ RESU_THER = _F (
             ◆ NUME_RESU_THER = int,
             ◆ TABL_RESU_THER = table,
          ),
        ◇ ENVIRONNEMENT = _F (
             ◆ TABL_YOUNG = table,
             ◆ FEN_INTEGRE = float,
             ◆ S_ ETOILE = float,
             ◆ SEUIL_EPSI_INF = float,
             ◆ SEUIL_EPSI_SUP = float,
             ◆ CRIT_EPSI = float,
             ◆ A_ ENV = float,
             ◆ B_ ENV = float,
             ◆ C_ ENV = float,
             ◆ SEUIL_T_INF = float,
             ◆ SEUIL_T_SUP = float,
             ◆ VALE_T_INF = float,
             ◆ VALE_T_SUP = float,
             ◆ VALE_T_MOY_NUM = float,
             ◆ VALE_T_MOY_DEN = float,
          ),
        ◇ SEISME = _F (
             ◆ NB_OCCUR = int,
             ◆ NB_CYCL_SEISME = int,
             ◆ NUME_SITU = int,
             ◇ NOM_SITU = text,
             ◆ CHAR_ETAT = int,
          ),
    # If: equal_to (" TYPE_RESU_MECA ", 'ZE200a')
        ◆ SITUATION = _F (
             ◆ NB_OCCUR = int,
             ◆ NUME_SITU = int,
             ◇ NOM_SITU = text,
             ◇ COMBINABLE =/"OUI" (by default),
                            /"NON ",
             ◆ NUME_GROUPE = int,
             ◇ NUME_PASSAGE = int,
             ◇ NUME_PARTAGE = int,
             ◇ NUME_RESU_THER = int,
             ◆ CHAR_ETAT_A = int,
             ◆ CHAR_ETAT_B = int,
             ◆ PRES_A = float,
             ◆ PRES_B = float,
             ◇ O_ ETOILE = float,
             ◇ TABL_TEMP = table,
          ),
    # If: equal_to (" TYPE_RESU_MECA ", 'ZE200b')
        ◇ RESU_PRES = _F (
             ◆ NUME_RESU_PRES = int,
             ◆ TABL_RESU_PRES = table,
          ),
        ◆ SITUATION = _F (
             ◆ NB_OCCUR = int,
             ◆ NUME_SITU = int,
             ◇ NOM_SITU = text,
             ◇ COMBINABLE =/"OUI" (by default),
                            /"NON ",
             ◆ NUME_GROUPE = int,
             ◇ NUME_PASSAGE = int,
             ◇ NUME_PARTAGE = int,
             ◇ NUME_RESU_THER = int,
             ◇ NUME_RESU_PRES = int,
             ◆ CHAR_ETAT_A = int,
             ◆ CHAR_ETAT_B = int,
             ◇ O_ ETOILE = float,
             ◇ TABL_TEMP = table,
          ),
    # If: equal_to (" TYPE_RESU_MECA ", 'B3200')
        ◆ OPTION =/"PM_PB ",
                   /"SN",
                   /"FATIGUE ",
                   /"EFAT ",
        ◇ METHODE =/"TRESCA" (by default),
                    /"TOUT_INST ",
        ◇ SOUS_CYCL =/"OUI ",
                      /"NON" (by default),
        ◆ MATER = subdue,
        ◇ SY_MAX = float,
        ◇ TYPE_KE =/"KE_MECA" (by default),
                    /"KE_MIXTE ",
        ◇ FACT_SIGM = _F (
             ◇ KT_SN = float,
             ◇ KT_SP = float,
          ),
        ◇ INDI_SIGM = _F (
             ◆ C1 = float,
             ◆ K1 = float,
             ◆ C2 = float,
             ◆ K2 = float,
             ◆ C3 = float,
             ◆ K3 = float,
          ),
        ◇ & CHAR_MECA = _F (
               ◆ NUME_CHAR = int,
               ◇ NOM_CHAR = text,
               ◆/MX = float,
                 /MX_TUBU = float,
               # If: exists ("MX")
                   ◇ FX = float,
                   ◇ FY = float,
                   ◇ FZ = float,
                   ◆ MY = float,
                   ◆ MZ = float,
               # If: exists (" MX_TUBU ")
                   ◇ FX_TUBU = float,
                   ◇ FY_TUBU = float,
                   ◇ FZ_TUBU = float,
                   ◆ MY_TUBU = float,
                   ◆ MZ_TUBU = float,
                   ◇ FX_CORP = float,
                   ◇ FY_CORP = float,
                   ◇ FZ_CORP = float,
                   ◆ MX_CORP = float,
                   ◆ MY_CORP = float,
                   ◆ MZ_CORP = float,
            ),
          & RESU_MECA_UNIT = _F (
               ◆/TABL_MX = table,
                 /TABL_MX_TUBU = table,
               # If: exists (" TABL_MX ")
                   ◇ TABL_FX = table,
                   ◇ TABL_FY = table,
                   ◇ TABL_FZ = table,
                   ◆ TABL_MY = table,
                   ◆ TABL_MZ = table,
               # If: exists (" TABL_MX_TUBU ")
                   ◇ TABL_FX_TUBU = table,
                   ◇ TABL_FY_TUBU = table,
                   ◇ TABL_FZ_TUBU = table,
                   ◆ TABL_MY_TUBU = table,
                   ◆ TABL_MZ_TUBU = table,
                   ◇ TABL_FX_CORP = table,
                   ◇ TABL_FY_CORP = table,
                   ◇ TABL_FZ_CORP = table,
                   ◆ TABL_MX_CORP = table,
                   ◆ TABL_MY_CORP = table,
                   ◆ TABL_MZ_CORP = table,
               ◇ TABL_PRES = table,
            ),
        ◇ RESU_THER = _F (
             ◆ NUME_RESU_THER = int,
             ◆ TABL_RESU_THER = table,
          ),
        ◇ RESU_PRES = _F (
             ◆ NUME_RESU_PRES = int,
             ◆ TABL_RESU_PRES = table,
          ),
        ◇ RESU_MECA = _F (
             ◆ NUME_RESU_MECA = int,
             ◆ TABL_RESU_MECA = table,
          ),
        ◆ SITUATION = _F (
             ◆ NB_OCCUR = int,
             ◆ NUME_SITU = int,
             ◇ NOM_SITU = text,
             ◇ COMBINABLE =/"OUI" (by default),
                            /"NON ",
             ◆ NUME_GROUPE = int,
             ◇ NUME_PASSAGE = int,
             ◇ NUME_PARTAGE = int,
             ◇ NUME_RESU_THER = int,
             ◇/NUME_RESU_PRES = int,
             ◇ & PRES_A = float,
             ◆/NUME_RESU_MECA = int,
               /CHAR_ETAT_A = int,
             ◇ & CHAR_ETAT_B = int,
               & PRES_B = float,
             ◇ & O_ ETOILE = float,
             ◇ & TABL_TEMP = table,
             ◇ & TEMP_A = float,
               & TEMP_B = float,
          ),
        ◇ ENVIRONNEMENT = _F (
             ◆ TABL_YOUNG = table,
             ◆ FEN_INTEGRE = float,
             ◆ S_ ETOILE = float,
             ◆ SEUIL_EPSI_INF = float,
             ◆ SEUIL_EPSI_SUP = float,
             ◆ CRIT_EPSI = float,
             ◆ A_ ENV = float,
             ◆ B_ ENV = float,
             ◆ C_ ENV = float,
             ◆ SEUIL_T_INF = float,
             ◆ SEUIL_T_SUP = float,
             ◆ VALE_T_INF = float,
             ◆ VALE_T_SUP = float,
             ◆ VALE_T_MOY_NUM = float,
             ◆ VALE_T_MOY_DEN = float,
          ),
        ◇ SEISME = _F (
             ◆ NB_OCCUR = int,
             ◆ NB_CYCL_SEISME = int,
             ◆ NUME_SITU = int,
             ◇ NOM_SITU = text,
             ◆/CHAR_ETAT = int,
               /TABL_MX = table,
             ◇ & TABL_FX = table,
               & TABL_MY = table,
               & TABL_MZ = table,
               & TABL_FY = table,
               & TABL_FZ = table,
          ),
    # If: equal_to (" TYPE_RESU_MECA ", 'B3600') and not equal_to (" TYPE_RESU "," SYSTUS ")
        ◆ OPTION =/"FATIGUE ",
                   /"MOMENT_EQUIVALENT ",
        ◆ ZONE_ANALYSE = _F (
             ◆/TOUT = "OUI" (or not specified),
               /GROUP_MA = grma,
          ),
        # If: equal_to (" OPTION ", 'MOMENT_EQUIVALENT')
            ◆ RESU_MECA = _F (
                 ◆/CHAM_GD = cham_elem,
                   /RESULTAT = result,
                 # If: exists (" RESULTAT ")
                     ◇ NOM_CHAM = "EFGE_ELNO ",
                     ◆/TOUT_ORDRE = "OUI" (or not specified),
                       /NUME_ORDRE = int,
                       /INST = float,
                     # If: (exists (" INST "))
                         ◇ CRITERE =/"RELATIF" (by default),
                                     /"ABSOLU ",
                         # If: (equal_to (" CRITERE ", 'RELATIF'))
                             ◇ PRECISION = float (default: 1e-06),
                         # If: (equal_to (" CRITERE ", 'ABSOLU'))
                             ◆ PRECISION = float,
              ),
        # If: equal_to (" OPTION ", 'FATIGUE')
            ◆ CHAM_MATER = cham_master,
            ◇ TYPE_KE =/"KE_MECA" (by default),
                        /"KE_MIXTE ",
            ◆ MODELE = model,
            ◆ CARA_ELEM = cara_elem,
            ◆ RESU_MECA = _F (
                 ◆ NUME_CHAR = int,
                 ◇ NOM_CHAR = text,
                 ◆/CHAM_GD = cham_gd,
                   /RESULTAT = result,
                 # If: exists (" RESULTAT ")
                     ◆ NOM_CHAM =/"EFGE_ELNO ",
                                  /"SIEF_ELNO ",
                     ◆/TOUT_ORDRE = "OUI" (or not specified),
                       /NUME_ORDRE = int,
                       /INST = float,
                       /NOEUD_CMP = text,
                       /NOM_CAS = text,
                     # If: (exists (" INST "))
                         ◇ CRITERE =/"RELATIF" (by default),
                                     /"ABSOLU ",
                         # If: (equal_to (" CRITERE ", 'RELATIF'))
                             ◇ PRECISION = float (default: 1e-06),
                         # If: (equal_to (" CRITERE ", 'ABSOLU'))
                             ◆ PRECISION = float,
              ),
            ◆ INDI_SIGM = _F (
                 ◇ C1 = float (default: 1.0),
                 ◇ K1 = float (default: 1.0),
                 ◇ C2 = float (default: 1.0),
                 ◇ K2 = float (default: 1.0),
                 ◇ C3 = float (default: 0.5),
                 ◇ K3 = float (default: 1.0),
                 ◆/TOUT = "OUI" (or not specified),
                   /GROUP_MA = grma,
                 # If: (exists (" GROUP_MA ")) or (exists (" MAILLE "))
                     ◇ GROUP_NO = big,
                 ◇ TYPE_ELEM_STANDARD =/"DRO ",
                                        /"COU ",
                                        /"TRN ",
                                        /"TEE ",
              ),
            ◇ RESU_THER = _F (
                 ◆ NUME_RESU_THER = int,
                 ◆ TABL_RESU_THER = table,
                 ◆ TABL_MOYE_THER = table,
                 ◆/TOUT = "OUI" (or not specified),
                   /GROUP_MA = grma,
                 # If: (exists (" GROUP_MA "))
                     ◇ GROUP_NO = big,
              ),
            ◇ SEISME = _F (
                 ◆ NB_OCCUR = int,
                 ◆ NB_CYCL_SEISME = int,
                 ◆ NUME_SITU = int,
                 ◇ NOM_SITU = text,
                 ◆ NUME_GROUPE = int,
                 ◆ CHAR_ETAT = int,
                 ◇ TEMP_REF = float,
              ),
            ◆ SITUATION = _F (
                 ◆ NB_OCCUR = int,
                 ◆ NUME_SITU = int,
                 ◇ NOM_SITU = text,
                 ◇ COMBINABLE =/"OUI" (by default),
                                /"NON ",
                 ◆ NUME_GROUPE = int,
                 ◇ NUME_PASSAGE = int,
                 ◇ NUME_RESU_THER = int,
                 ◆ CHAR_ETAT_A = int,
                 ◆ CHAR_ETAT_B = int,
                 ◆ PRES_A = float,
                 ◆ PRES_B = float,
                 ◇ TEMP_REF_A = float,
                 ◇ TEMP_REF_B = float,
              ),
)

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