2. Syntax#

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

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