2. Syntaxe#

/ mode_meca
/ datastructure
/ dyna_harmo
/ mode_meca_c = DYNA_VISCO(
    ◆ MODELE = modele,
    ◇ CARA_ELEM = cara_elem,
    ◇ MATER_ELAS = _F(
         ◆ | MATER = mater,
           | E = float,
           | AMOR_HYST = float,
           | RHO = float,
           | NU = float,
         ◆ GROUP_MA = grma,
      ),
    ◆ MATER_ELAS_FO = _F(
         ◆ E = formule / fonction,
         ◆ AMOR_HYST = formule / fonction,
         ◆ RHO = float,
         ◆ NU = float,
         ◆ GROUP_MA = grma,
      ),
    ◇ TYPE_RESU = / "HARM" (par défaut),
                  / "MODE",
    ◆ / FREQ = float,
      / LIST_FREQ = listr8,
    ◆ EXCIT = _F(
         ◆ CHARGE = char_meca,
      ),
    # Si: equal_to("TYPE_RESU", 'MODE')
        ◇ TYPE_MODE = / "REEL" (par défaut),
                      / "BETA_REEL",
                      / "COMPLEXE",
    # Si: not equal_to("TYPE_RESU", 'MODE')
        ◇ TYPE_MODE = / "REEL" (par défaut),
                      / "BETA_REEL",
    ◇ RESI_RELA = float (défaut: 0.001),
    # Si: equal_to("TYPE_RESU", 'HARM')
        ◆ COEF_FREQ_MAX = float,
        ⟐ SOLVEUR = _F(
             ◇ METHODE = / "LDLT" (par défaut),
                         / "MUMPS",
             # Si: equal_to("METHODE", 'MULT_FRONT')
                 ◇ RENUM = / "MD",
                           / "MDA" (par défaut),
                 ◇ NPREC = int (défaut: 8),
                 ◇ ELIM_LAGR = / "OUI",
                               / "NON" (par défaut),
                 ◇ STOP_SINGULIER = / "OUI" (par défaut),
                                    / "NON",
             # Si: equal_to("METHODE", 'LDLT')
                 ◇ RENUM = "RCMK",
                 ◇ NPREC = int (défaut: 8),
                 ◇ ELIM_LAGR = / "OUI",
                               / "NON" (par défaut),
                 ◇ STOP_SINGULIER = / "OUI" (par défaut),
                                    / "NON",
             # Si: equal_to("METHODE", 'MUMPS')
                 ◇ RENUM = / "AMD",
                           / "AMF",
                           / "PORD",
                           / "METIS",
                           / "QAMD",
                           / "SCOTCH",
                           / "AUTO" (par défaut),
                           / "PARMETIS",
                           / "PTSCOTCH",
                 ◇ NPREC = int (défaut: 8),
                 ◇ ELIM_LAGR = / "OUI",
                               / "NON",
                               / "LAGR2" (par défaut),
                 ◇ STOP_SINGULIER = / "OUI" (par défaut),
                                    / "NON",
                 ◇ TYPE_RESOL = / "NONSYM",
                                / "SYMGEN",
                                / "SYMDEF",
                                / "AUTO" (par défaut),
                 ◇ ACCELERATION = / "AUTO",
                                  / "FR" (par défaut),
                                  / "FR+",
                                  / "FR++",
                                  / "LR",
                                  / "LR+",
                                  / "LR++",
                 ◇ LOW_RANK_SEUIL = float,
                 ◇ PRETRAITEMENTS = / "SANS",
                                    / "AUTO" (par défaut),
                 ◇ POSTTRAITEMENTS = / "SANS",
                                     / "AUTO" (par défaut),
                                     / "FORCE",
                                     / "MINI",
                 ◇ PCENT_PIVOT = int (défaut: 35),
                 ◇ NB_RHS = int (défaut: 1),
                 ◇ RESI_RELA = float (défaut: -1.0),
                 ◇ GESTION_MEMOIRE = / "IN_CORE",
                                     / "OUT_OF_CORE",
                                     / "AUTO" (par défaut),
                                     / "EVAL",
             # Si: equal_to("METHODE", 'GCPC')
                 ◇ ELIM_LAGR = / "OUI",
                               / "NON" (par défaut),
                 ◇ PRE_COND = / "LDLT_INC" (par défaut),
                              / "LDLT_SP",
                              / "LDLT_DP",
                 ◇ RESI_RELA = float (défaut: 1e-06),
                 ◇ NMAX_ITER = int,
                 # Si: equal_to("PRE_COND", 'LDLT_INC')
                     ◇ RENUM = "RCMK",
                     ◇ NIVE_REMPLISSAGE = int,
                 # Si: is_in("PRE_COND", ('LDLT_SP', 'LDLT_DP'))
                     ◇ RENUM = / "SANS",
                               / "METIS",
                               / "PARMETIS" (par défaut),
                     ◇ REAC_PRECOND = int (défaut: 30),
                     ◇ PCENT_PIVOT = int (défaut: 20),
                     ◇ GESTION_MEMOIRE = / "IN_CORE",
                                         / "AUTO" (par défaut),
                     ◇ LOW_RANK_SEUIL = float,
             # Si: equal_to("METHODE", 'PETSC')
                 ◇ ELIM_LAGR = / "OUI",
                               / "NON" (par défaut),
                 ◇ ALGORITHME = / "CG",
                                / "CR",
                                / "GMRES",
                                / "GCR",
                                / "FGMRES" (par défaut),
                                / "GMRES_LMP",
                 ◇ OPTION_PETSC = text,
                 ◇ PRE_COND = / "LDLT_INC",
                              / "LDLT_SP" (par défaut),
                              / "LDLT_DP",
                              / "JACOBI",
                              / "SOR",
                              / "ML",
                              / "BOOMER",
                              / "GAMG",
                              / "BLOC_LAGR",
                              / "FIELDSPLIT",
                              / "UTILISATEUR",
                              / "HPDDM",
                              / "SANS",
                 ◇ RESI_RELA = float (défaut: 1e-06),
                 ◇ NMAX_ITER = int,
                 # Si: equal_to("PRE_COND", 'LDLT_INC')
                     ◇ RENUM = "RCMK",
                     ◇ NIVE_REMPLISSAGE = int,
                     ◇ REMPLISSAGE = float (défaut: 1.0),
                 # Si: is_in("PRE_COND", ('LDLT_SP', 'LDLT_DP'))
                     ◇ RENUM = / "SANS",
                               / "METIS",
                               / "PARMETIS" (par défaut),
                     ◇ REAC_PRECOND = int (défaut: 30),
                     ◇ PCENT_PIVOT = int (défaut: 20),
                     ◇ GESTION_MEMOIRE = / "IN_CORE",
                                         / "AUTO" (par défaut),
                     ◇ LOW_RANK_SEUIL = float,
                 # Si: equal_to("PRE_COND", 'ML')
                     ◇ RENUM = "SANS",
                 # Si: equal_to("PRE_COND", 'BOOMER')
                     ◇ RENUM = "SANS",
                 # Si: equal_to("PRE_COND", 'GAMG')
                     ◇ RENUM = "SANS",
                 # Si: equal_to("PRE_COND", 'HPDDM')
                     ◇ RENUM = "SANS",
                 # Si: equal_to("PRE_COND", 'BLOC_LAGR')
                     ◇ RENUM = "SANS",
                 # Si: is_in("PRE_COND", ('FIELDSPLIT'))
                     ◇ RENUM = "SANS",
                     ◇ PARTITION_CMP = int,
                     ◇ NOM_CMP = text,
                 # Si: is_in("PRE_COND", ('UTILISATEUR'))
                     ◇ KSP_UTIL = not_checked,
                     ◇ RENUM = "SANS",
                 # Si: is_in("PRE_COND", ('JACOBI','SOR','SANS'))
                     ◇ RENUM = / "SANS" (par défaut),
                               / "RCMK",
          ),
        ◇ NOM_CHAM = / "DEPL" (par défaut),
                     / "VITE",
                     / "ACCE",
        ◇ MODE_MECA = co,
    ◇ INFO = / 1 (par défaut),
             / 2,
)

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