2. Syntaxe#

/ cham_no
/ table_container = CALC_G(
    ◆ RESULTAT = evol_noli / dyna_trans / evol_elas / mode_meca,
    # Si: is_type("RESULTAT") in (evol_elas,evol_noli,dyna_trans,)
        ◇ / TOUT_ORDRE = "OUI" (ou non renseigné),
          / NUME_ORDRE = int,
          / LIST_ORDRE = listis,
          / INST = float,
          / LIST_INST = listr8,
        # 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: is_type("RESULTAT") in (mode_meca,)
        ◇ / TOUT_MODE = "OUI" (ou non renseigné),
          / NUME_MODE = int,
          / LIST_MODE = listis,
          / FREQ = float,
          / LIST_FREQ = listr8,
        # Si: (exists("FREQ"))or(exists("LIST_FREQ"))
            ◇ CRITERE = / "RELATIF" (par défaut),
                        / "ABSOLU",
            # Si: (equal_to("CRITERE", 'RELATIF'))
                ◇ PRECISION = float (défaut: 1e-06),
            # Si: (equal_to("CRITERE", 'ABSOLU'))
                ◆ PRECISION = float,
    ◆ THETA = _F(
         ◆ FISSURE = fond_fissure,
         ◇ CHAM_THETA = co / cham_no,
         ◇ DISCRETISATION = / "LINEAIRE" (par défaut),
                            / "LEGENDRE",
         # Si: (equal_to("DISCRETISATION", 'LINEAIRE'))
             ◇ NB_POINT_FOND = int,
         # Si: (equal_to("DISCRETISATION", 'LEGENDRE'))
             ◇ DEGRE = int (défaut: 5),
         # Si: ( (not exists("CHAM_THETA")) or (is_type("CHAM_THETA") != cham_no_sdaster) )
             ◇ / R_INF = float,
             ◇ / R_SUP = float,
               / NB_COUCHE_INF = int,
             ◇ / NB_COUCHE_SUP = int,
             ◇ / R_INF_FO = formule / nappe / fonction,
             ◇ & R_SUP_FO = formule / nappe / fonction,
      ),
    # Si: is_type("RESULTAT") in (mode_meca, dyna_trans,)
        ◇ EXCIT = _F(
             ◆ CHARGE = char_meca / char_cine_meca,
             ◇ FONC_MULT = formule / nappe / fonction,
          ),
    ◆ OPTION = / "G",
               / "G_EPSI",
               / "K",
               / "KJ",
               / "KJ_EPSI",
    # Si: (not equal_to("OPTION", 'G_EPSI') )
        ◇ ETAT_INIT = _F(
             ◆ SIGM = cham_elem / cham_no,
          ),
    # Si: (equal_to("OPTION", 'K') )
        ◇ FORM_FISS = / "ELLIPSE",
                      / "CIRC",
        # Si: (equal_to("FORM_FISS", 'ELLIPSE') )
            ◆ : DEMI_GRAND_AXE = float,
            ◆ : DEMI_PETIT_AXE = float,
        # Si: (equal_to("FORM_FISS", 'CIRC') )
            ◆ : RAYON = float,
    ◇ TITRE = text,
    ◇ INFO = / 1 (par défaut),
             / 2,
)

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