2. Syntax#

cham_elem = POST_ROCHE (
    ◆ ZONE_ANALYSE = _F (
         ◆/TOUT = "OUI" (or not specified),
           /GROUP_MA = grma,
         ◆ GROUP_NO_ORIG = big,
      ),
    ◇ COUDE = _F (
         ◇ GROUP_MA = Grma,
         ◆ ANGLE = float,
         ◆ RCOURB = float,
      ),
    ◇ MODELE = model,
    ◇ CARA_ELEM = cara_elem,
    ◇ CHAM_MATER = mater_field,
    ◇ INST_TEMP = float,
    ◆/RESU_MECA = _F (
           ◆ TYPE_CHAR =/"SISM_INER_SPEC ",
                         /"DEPLACEMENT ",
                         /"DILAT_THERM ",
                         /"POIDS ",
           # If: equal_to (" TYPE_CHAR ", 'SISM_INER_SPEC')
               ◆ RESULTAT = mode_meca/mult_elas,
               ◇ DIRECTION =/"COMBI" (by default),
                             /"X",
                             /"Y",
                             /"Z",
               ◇ TYPE_RESU =/"DYN_QS" (by default),
                             /"DYN ",
                             /"AS",
           # If: not equal_to (" TYPE_CHAR ", 'SISM_INER_SPEC')
               ◆/CHAM_GD = cham_elem,
                 /RESULTAT = evol_elas,
               ◆/NUME_ORDRE = int,
                 /INST = float,
               # If: exists (" INST ")
                   ◇ CRITERE =/"RELATIF" (by default),
                               /"ABSOLU ",
                   ◇ PRECISION = float (default: 1e-06),
        ),
      /RESU_MECA_TRAN = _F (
           ◆ TYPE_CHAR =/"SISM_INER_TRAN ",
                         /"DEPLACEMENT ",
                         /"DILAT_THERM ",
                         /"POIDS ",
           # If: equal_to (" TYPE_CHAR ", 'SISM_INER_TRAN')
               ◆ RESULTAT = dyna_trans,
               ◇ RESU_CORR = dyna_trans,
               ◆/TOUT_ORDRE = "OUI" (or not specified),
                 /NUME_ORDRE = int,
                 /INST = float,
                 /LIST_ORDRE = listis,
                 /LIST_INST = listr8,
               # If: exists (" INST ") or exists (" LIST_INST ")
                   ◇ CRITERE =/"RELATIF" (by default),
                               /"ABSOLU ",
                   ◇ PRECISION = float (default: 1e-06),
           # If: not equal_to (" TYPE_CHAR ", 'SISM_INER_TRAN')
               ◆/CHAM_GD = cham_elem,
                 /RESULTAT = evol_elas,
               ◆/NUME_ORDRE = int,
                 /INST = float,
               # If: exists (" INST ")
                   ◇ CRITERE =/"RELATIF" (by default),
                               /"ABSOLU ",
                   ◇ PRECISION = float (default: 1e-06),
        ),
    ◇ PRESSION = _F (
         ◆/TOUT = "OUI" (or not specified),
           /GROUP_MA = grma,
         ◆ VALE = float,
      ),
    ◇ RCCM_RX =/"OUI" (by default),
                /"NON ",
)

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