2. Syntaxe#

/ char_cont
/ char_frot = DEFI_CONT(
    ◆ MODELE = modele,
    ◇ INFO = / 1 (par défaut),
             / 2,
    ◆ ZONE = _F(
         ◇ VERI_NORM = / "NON",
                       / "OUI" (par défaut),
         ◇ ALGO_CONT = / "LAGRANGIEN" (par défaut),
                       / "NITSCHE",
                       / "PENALISATION",
         # Si: is_in("ALGO_CONT", ("NITSCHE"))
             ◇ SYME = / "NON",
                      / "OUI" (par défaut),
             # Si: equal_to("SYME", "NON")
                 ◇ VARIANTE = / "RAPIDE",
                              / "ROBUSTE" (par défaut),
         # Si: is_in("ALGO_CONT", ("LAGRANGIEN"))
             ◇ VARIANTE = / "CLASSIQUE",
                          / "ROBUSTE" (par défaut),
         ◇ COEF_CONT = float (défaut: 100.0),
         ◇ APPARIEMENT = "MORTAR",
         ◇ COEF_MULT_APPA = float (défaut: -1.0),
         ◆ GROUP_MA_MAIT = grma,
         ◆ GROUP_MA_ESCL = grma,
         # Si: is_in("ALGO_CONT", ("LAGRANGIEN","LAGRANGIEN_STD"))
             ◇ SANS_GROUP_MA = grma,
             ◇ SANS_GROUP_NO = grno,
         # Si: is_in("ALGO_CONT", ("LAGRANGIEN",))
             ◇ TYPE_MATR_TANG = / "ANALYTIQUE" (par défaut),
                                / "PERTURBATION",
         # Si: is_in("ALGO_CONT", ("PENALISATION",))
             ◇ TYPE_MATR_TANG = / "ANALYTIQUE" (par défaut),
                                / "PERTURBATION",
         # Si: is_in("ALGO_CONT", ("LAGRANGIEN_STD",))
             ◇ TYPE_MATR_TANG = "PERTURBATION",
         ◇ CONTACT_INIT = / "INTERPENETRE" (par défaut),
                          / "NON",
                          / "OUI",
         ◇ DIST_SUPP = fonction / formule / nappe,
         ◇ CARA_ELEM = cara_elem,
         # Si: exists("CARA_ELEM")
             ◇ DIST_POUTRE = / "NON" (par défaut),
                             / "OUI",
             ◇ DIST_COQUE = / "NON" (par défaut),
                            / "OUI",
         ◇ FROTTEMENT = / "NON" (par défaut),
                        / "OUI",
         # Si: equal_to("FROTTEMENT", "OUI")
             # Si: equal_to("ALGO_CONT", "LAGRANGIEN")
                 ◇ ALGO_FROT = "LAGRANGIEN",
             # Si: equal_to("ALGO_CONT", "PENALISATION")
                 ◇ ALGO_FROT = "PENALISATION",
             # Si: equal_to("ALGO_CONT", "LAGRANGIEN_STD")
                 ◇ ALGO_FROT = "LAGRANGIEN_STD",
                 ◇ COEF_FROT = float (défaut: 100.0),
             # Si: equal_to("TYPE_FROT", "COULOMB")
                 ◆ COULOMB = float,
      ),
)

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