2. Syntax#

table = CALC_SPECTRE_IPM (
    ◇ MAILLAGE = mesh,
    # If: exists (" MAILLAGE ")
        ◆ EQUIPEMENT = _F (
             ◆ NOM = text,
             ◆ GROUP_NO = big,
             ◆ RAPPORT_MASSE_TOTALE = float,
             ◆ COEF_MASS_EQUIP = float,
             ◆ FREQ_SUPPORT = float,
             ◆ AMOR_SUPPORT = float,
             ◆ AMOR_EQUIP = float,
             ◆ FREQ_EQUIP = float,
          ),
    # If: not exists (" MAILLAGE ")
        ◆ EQUIPEMENT = _F (
             ◆ NOM = text,
             ◆ NOEUD = no,
             ◆ RAPPORT_MASSE_TOTALE = float,
             ◆ COEF_MASS_EQUIP = float,
             ◆ FREQ_SUPPORT = float,
             ◆ AMOR_SUPPORT = float,
             ◆ AMOR_EQUIP = float,
             ◆ FREQ_EQUIP = float,
          ),
    ◆ CALCUL =/"ABSOLU ",
               /"RELATIF ",
    ◆ AMOR_SPEC = float,
    ◇ LIST_INST = listr8,
    ◇ LIST_FREQ = listr8,
    ◇ FREQ = float,
    ◆ NORME = float,
    # If: equal_to (" CALCUL ", 'RELATIF')
        ◆ RESU = _F (
             ◆/TABLE = table,
               /FONCTION = function,
             ◆ ACCE_Z = function,
          ),
    # If: equal_to (" CALCUL ", 'ABSOLU')
        ◆ RESU = _F (
             ◆/TABLE = table,
               /FONCTION = function,
          ),
    ◇ TOLE_INIT = float (default: 0.001),
    ◇ CORR_INIT =/"OUI ",
                  /"NON" (by default),
)

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