2. Syntaxe#

table = POST_RCCM(
    ◇ TYPE_RESU = / "VALE_MAX" (par défaut),
                  / "DETAILS",
                  / "SYSTUS",
    ◇ INFO = / 1,
             / 2,
    ◇ TITRE = text,
    ◆ TYPE_RESU_MECA = / "EVOLUTION",
                       / "ZE200a",
                       / "ZE200b",
                       / "B3200",
                       / "B3600",
    ◇ AXIS = / "NON" (par défaut),
             / "OUI",
    # Si: equal_to("TYPE_RESU_MECA", 'EVOLUTION') and not equal_to("TYPE_RESU","SYSTUS")
        ◆ OPTION = / "PM_PB",
                   / "SN",
                   / "FATIGUE_ZH210",
                   / "AMORCAGE",
        ◆ MATER = mater,
        ◇ SY_MAX = float,
        ◇ TYPE_KE = / "KE_MECA" (par défaut),
                    / "KE_MIXTE",
        ◇ RAYON_MOYEN = float (défaut: -1.0),
        ◆ TRANSITOIRE = _F(
             ◇ NB_OCCUR = int (défaut: 1),
             ◆ / TABL_RESU_MECA = table,
               / TABL_SIGM_THETA = table,
             ◇ TABL_SIGM_THER = table,
             ◇ TABL_RESU_PRES = table,
             ◆ / TOUT_ORDRE = "OUI" (ou non renseigné),
               / INST = float,
               / LIST_INST = listr8,
               / TOUT_INST = "OUI" (ou non renseigné),
             # Si: (exists("INST")) or (exists("LIST_INST"))
                 ◇ CRITERE = / "RELATIF" (par défaut),
                             / "ABSOLU",
                 # Si: (equal_to("CRITERE", 'RELATIF'))
                     ◇ PRECISION = float (défaut: 1e-06),
                 # Si: (equal_to("CRITERE", 'ABSOLU'))
                     ◆ PRECISION = float,
          ),
    # Si: equal_to("TYPE_RESU_MECA", 'ZE200a') or equal_to("TYPE_RESU_MECA", 'ZE200b')
        ◆ OPTION = / "SN",
                   / "FATIGUE",
                   / "EFAT",
        ◇ SOUS_CYCL = / "OUI",
                      / "NON" (par défaut),
        ◇ METHODE = / "TRESCA" (par défaut),
                    / "TOUT_INST",
        ◆ MATER = mater,
        ◇ SY_MAX = float,
        ◇ TYPE_KE = / "KE_MECA" (par défaut),
                    / "KE_MIXTE",
        ◆ CHAR_MECA = _F(
             ◆ NUME_CHAR = int,
             ◇ NOM_CHAR = text,
             ◆ / MX = float,
               / MX_TUBU = float,
             # Si: exists("MX")
                 ◆ MY = float,
                 ◆ MZ = float,
             # Si: 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,
          ),
    # Si: equal_to("TYPE_RESU_MECA", 'ZE200a')
        ◆ SITUATION = _F(
             ◆ NB_OCCUR = int,
             ◆ NUME_SITU = int,
             ◇ NOM_SITU = text,
             ◇ COMBINABLE = / "OUI" (par défaut),
                            / "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,
          ),
    # Si: 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" (par défaut),
                            / "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,
          ),
    # Si: equal_to("TYPE_RESU_MECA", 'B3200')
        ◆ OPTION = / "PM_PB",
                   / "SN",
                   / "FATIGUE",
                   / "EFAT",
        ◇ METHODE = / "TRESCA" (par défaut),
                    / "TOUT_INST",
        ◇ SOUS_CYCL = / "OUI",
                      / "NON" (par défaut),
        ◆ MATER = mater,
        ◇ SY_MAX = float,
        ◇ TYPE_KE = / "KE_MECA" (par défaut),
                    / "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,
               # Si: exists("MX")
                   ◇ FX = float,
                   ◇ FY = float,
                   ◇ FZ = float,
                   ◆ MY = float,
                   ◆ MZ = float,
               # Si: 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,
               # Si: exists("TABL_MX")
                   ◇ TABL_FX = table,
                   ◇ TABL_FY = table,
                   ◇ TABL_FZ = table,
                   ◆ TABL_MY = table,
                   ◆ TABL_MZ = table,
               # Si: 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" (par défaut),
                            / "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,
          ),
    # Si: equal_to("TYPE_RESU_MECA", 'B3600') and not equal_to("TYPE_RESU","SYSTUS")
        ◆ OPTION = / "FATIGUE",
                   / "MOMENT_EQUIVALENT",
        ◆ ZONE_ANALYSE = _F(
             ◆ / TOUT = "OUI" (ou non renseigné),
               / GROUP_MA = grma,
          ),
        # Si: equal_to("OPTION", 'MOMENT_EQUIVALENT')
            ◆ RESU_MECA = _F(
                 ◆ / CHAM_GD = cham_elem,
                   / RESULTAT = resultat,
                 # Si: exists("RESULTAT")
                     ◇ NOM_CHAM = "EFGE_ELNO",
                     ◆ / TOUT_ORDRE = "OUI" (ou non renseigné),
                       / NUME_ORDRE = int,
                       / INST = float,
                     # Si: (exists("INST"))
                         ◇ CRITERE = / "RELATIF" (par défaut),
                                     / "ABSOLU",
                         # Si: (equal_to("CRITERE", 'RELATIF'))
                             ◇ PRECISION = float (défaut: 1e-06),
                         # Si: (equal_to("CRITERE", 'ABSOLU'))
                             ◆ PRECISION = float,
              ),
        # Si: equal_to("OPTION", 'FATIGUE')
            ◆ CHAM_MATER = cham_mater,
            ◇ TYPE_KE = / "KE_MECA" (par défaut),
                        / "KE_MIXTE",
            ◆ MODELE = modele,
            ◆ CARA_ELEM = cara_elem,
            ◆ RESU_MECA = _F(
                 ◆ NUME_CHAR = int,
                 ◇ NOM_CHAR = text,
                 ◆ / CHAM_GD = cham_gd,
                   / RESULTAT = resultat,
                 # Si: exists("RESULTAT")
                     ◆ NOM_CHAM = / "EFGE_ELNO",
                                  / "SIEF_ELNO",
                     ◆ / TOUT_ORDRE = "OUI" (ou non renseigné),
                       / NUME_ORDRE = int,
                       / INST = float,
                       / NOEUD_CMP = text,
                       / NOM_CAS = text,
                     # Si: (exists("INST"))
                         ◇ CRITERE = / "RELATIF" (par défaut),
                                     / "ABSOLU",
                         # Si: (equal_to("CRITERE", 'RELATIF'))
                             ◇ PRECISION = float (défaut: 1e-06),
                         # Si: (equal_to("CRITERE", 'ABSOLU'))
                             ◆ PRECISION = float,
              ),
            ◆ INDI_SIGM = _F(
                 ◇ C1 = float (défaut: 1.0),
                 ◇ K1 = float (défaut: 1.0),
                 ◇ C2 = float (défaut: 1.0),
                 ◇ K2 = float (défaut: 1.0),
                 ◇ C3 = float (défaut: 0.5),
                 ◇ K3 = float (défaut: 1.0),
                 ◆ / TOUT = "OUI" (ou non renseigné),
                   / GROUP_MA = grma,
                 # Si: (exists("GROUP_MA"))or(exists("MAILLE"))
                     ◇ GROUP_NO = grno,
                 ◇ TYPE_ELEM_STANDARD = / "DRO",
                                        / "COU",
                                        / "TRN",
                                        / "TEE",
              ),
            ◇ RESU_THER = _F(
                 ◆ NUME_RESU_THER = int,
                 ◆ TABL_RESU_THER = table,
                 ◆ TABL_MOYE_THER = table,
                 ◆ / TOUT = "OUI" (ou non renseigné),
                   / GROUP_MA = grma,
                 # Si: (exists("GROUP_MA"))
                     ◇ GROUP_NO = grno,
              ),
            ◇ 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" (par défaut),
                                / "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,
              ),
)

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