2. Syntaxe#

interspectre = DYNA_ALEA_MODAL(
    ◆ BASE_MODALE = _F(
         ◆ MODE_MECA = mode_meca,
         ◆ / BANDE = float,
           / NUME_ORDRE = int,
         # Si: exists("BANDE")
             ◆ AMOR_UNIF = float,
         # Si: exists("NUME_ORDRE")
             ◆ AMOR_REDUIT = float,
      ),
    ◇ MODE_STAT = mode_meca,
    ◆ EXCIT = _F(
         ◆ INTE_SPEC = interspectre,
         ◇ NUME_VITE_FLUI = int,
         ◇ OPTION = / "TOUT" (par défaut),
                    / "DIAG",
         ◇ MODAL = / "OUI",
                   / "NON" (par défaut),
         # Si: (not exists("MODAL")) or (equal_to("MODAL", 'NON'))
             ◆ / NUME_ORDRE_I = int,
               / NOEUD_I = no,
             # Si: exists("NUME_ORDRE_I")
                 ◇ / CHAM_NO = cham_no,
                   / NOEUD = no,
                 # Si: exists("NOEUD")
                     ◆ NOM_CMP = text,
                 ◇ GRANDEUR = / "DEPL_R" (par défaut),
                              / "EFFO",
                              / "SOUR_DEBI_VOLU",
                              / "SOUR_DEBI_MASS",
                              / "SOUR_PRESS",
                              / "SOUR_FORCE",
                 ◇ DERIVATION = / 0 (par défaut),
                                / 1,
                                / 2,
             # Si: exists("NOEUD_I")
                 ◆ NOM_CMP_I = text,
                 ◆ NOEUD = no,
                 ◆ NOM_CMP = text,
                 ◇ GRANDEUR = / "DEPL_R" (par défaut),
                              / "EFFO",
                              / "SOUR_DEBI_VOLU",
                              / "SOUR_DEBI_MASS",
                              / "SOUR_PRESS",
                              / "SOUR_FORCE",
                 ◇ DERIVATION = / 0 (par défaut),
                                / 1,
                                / 2,
         # Si: (equal_to("MODAL", 'OUI'))
             ◆ NUME_ORDRE_I = int,
             ◇ GRANDEUR = / "DEPL_R" (par défaut),
                          / "EFFO",
                          / "SOUR_DEBI_VOLU",
                          / "SOUR_DEBI_MASS",
                          / "SOUR_PRESS",
                          / "SOUR_FORCE",
             ◇ DERIVATION = / 0 (par défaut),
                            / 1,
                            / 2,
      ),
    ◇ REPONSE = _F(
         ◇ DERIVATION = / 0 (par défaut),
                        / 1,
                        / 2,
         ◇ OPTION = / "TOUT" (par défaut),
                    / "DIAG",
         ◇ & FREQ_MIN = float,
           & FREQ_MAX = float,
         ◇ PAS = float,
         # Si: not exists("FREQ_MIN")
             ◇ FREQ_EXCIT = / "AVEC" (par défaut),
                            / "SANS",
             ◇ NB_POIN_MODE = int (défaut: 50),
      ),
    ◇ TITRE = text,
    ◇ INFO = / 1 (par défaut),
             / 2,
)

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