char_meca = AFFE_CHAR_MECA(
    ◇ VERI_AFFE = / "NON",
                  / "OUI" (par défaut),
    ◇ VERI_NORM = / "NON",
                  / "OUI" (par défaut),
    ◆ MODELE = modele,
    ◇ CARA_ELEM = cara_elem,
    ◇ CHAM_MATER = cham_mater,
      | EVOL_CHAR = evol_char,
    ◆ | PESANTEUR = _F(
           ◇ GROUP_MA = list[grma],
           ◆ GRAVITE = float,
           ◆ DIRECTION = list[float],
        ),
      | ROTATION = _F(
           ◇ GROUP_MA = list[grma],
           ◇ SANS_GROUP_MA = list[grma],
           ◆ VITESSE = float,
           ◆ AXE = list[float],
           ◇ CENTRE = list[float],
        ),
      | DDL_IMPO = _F(
           ◆ | TOUT = "OUI" (ou non renseigné),
             | GROUP_MA = list[grma],
             | GROUP_NO = list[grno],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ | BLOCAGE = / "DEPLACEMENT",
                         / "ROTATION",
                         / "TUYAU_FOURIER",
             | DX = float,
             | DY = float,
             | DZ = float,
             | DRX = float,
             | DRY = float,
             | DRZ = float,
             | GRX = float,
             | PRES = float,
             | PSI = float,
             | PHI = float,
             | DRGX = float,
             | DRGY = float,
             | DRGZ = float,
             | TEMP = float,
             | PRE1 = float,
             | PRE2 = float,
             | UI2 = float,
             | UI3 = float,
             | VI2 = float,
             | VI3 = float,
             | WI2 = float,
             | WI3 = float,
             | UO2 = float,
             | UO3 = float,
             | VO2 = float,
             | VO3 = float,
             | WO2 = float,
             | WO3 = float,
             | UI4 = float,
             | UI5 = float,
             | VI4 = float,
             | VI5 = float,
             | WI4 = float,
             | WI5 = float,
             | UO4 = float,
             | UO5 = float,
             | VO4 = float,
             | VO5 = float,
             | WO4 = float,
             | WO5 = float,
             | UI6 = float,
             | UO6 = float,
             | VI6 = float,
             | VO6 = float,
             | WI6 = float,
             | WO6 = float,
             | WO = float,
             | WI1 = float,
             | WO1 = float,
             | GONF = float,
             | H1X = float,
             | H1Y = float,
             | H1Z = float,
             | H1PRE1 = float,
             | H2X = float,
             | H2Y = float,
             | H2Z = float,
             | H2PRE1 = float,
             | H3X = float,
             | H3Y = float,
             | H3Z = float,
             | H3PRE1 = float,
             | H4X = float,
             | H4Y = float,
             | H4Z = float,
             | K1 = float,
             | K2 = float,
             | K3 = float,
             | PRE_FLU = float,
             | LAG_FLI = float,
             | LAG_FLS = float,
             | LAGS_C = float,
             | LAGS_F1 = float,
             | LAGS_F2 = float,
             | PR2_FLU = float,
             | LA2_FLI = float,
             | LA2_FLS = float,
             | LAG2_C = float,
             | LAG2_F1 = float,
             | LAG2_F2 = float,
             | PR3_FLU = float,
             | LA3_FLI = float,
             | LA3_FLS = float,
             | LAG3_C = float,
             | LAG3_F1 = float,
             | LAG3_F2 = float,
             | LAG4_C = float,
             | LAG4_F1 = float,
             | LAG4_F2 = float,
             | V11 = float,
             | V12 = float,
             | V13 = float,
             | V21 = float,
             | V22 = float,
             | V23 = float,
             | V31 = float,
             | V32 = float,
             | V33 = float,
             | PRES11 = float,
             | PRES12 = float,
             | PRES13 = float,
             | PRES21 = float,
             | PRES22 = float,
             | PRES23 = float,
             | PRES31 = float,
             | PRES32 = float,
             | PRES33 = float,
             | LH1 = float,
             | GLIS = float,
        ),
      | DDL_POUTRE = _F(
           ◆ | TOUT = "OUI" (ou non renseigné),
             | GROUP_MA = list[grma],
             | GROUP_NO = list[grno],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ | DX = float,
             | DY = float,
             | DZ = float,
             | DRX = float,
             | DRY = float,
             | DRZ = float,
           ◆ / VECT_Y = list[float],
             / ANGL_VRIL = float,
           ◇ GROUP_MA_REPE = grma,
        ),
      | FACE_IMPO = _F(
           ◇ GROUP_MA = list[grma],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ | DX = float,
             | DY = float,
             | DZ = float,
             | DRX = float,
             | DRY = float,
             | DRZ = float,
             | GRX = float,
             | PRES = float,
             | PHI = float,
             | TEMP = float,
             | PRE1 = float,
             | PRE2 = float,
             | DNOR = float,
             | DRNOR = float,
             | DTAN = float,
        ),
      | CHAMNO_IMPO = _F(
           ◆ CHAM_NO = cham_no,
           ◆ COEF_IMPO = float,
        ),
      | ARETE_IMPO = _F(
           ◇ GROUP_MA = list[grma],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ | DX = float,
             | DY = float,
             | DZ = float,
             | DTAN = float,
             | PRES = float,
             | PHI = float,
             | TEMP = float,
             | PRE1 = float,
             | PRE2 = float,
        ),
      | LIAISON_DDL = _F(
           ◆ / GROUP_NO = list[grno],
           ◆ DDL = / "DRGX",
                   / "DRGY",
                   / "DRGZ",
                   / "DRX",
                   / "DRY",
                   / "DRZ",
                   / "DX",
                   / "DY",
                   / "DZ",
                   / "GLIS",
                   / "GONF",
                   / "GRX",
                   / "H1PRE1",
                   / "H1X",
                   / "H1Y",
                   / "H1Z",
                   / "K1",
                   / "K2",
                   / "K3",
                   / "LH1",
                   / "PHI",
                   / "PRE1",
                   / "PRE2",
                   / "PRES",
                   / "PRES11",
                   / "PRES12",
                   / "PRES13",
                   / "PRES21",
                   / "PRES22",
                   / "PRES23",
                   / "PRES31",
                   / "PRES32",
                   / "PRES33",
                   / "PSI",
                   / "TEMP",
                   / "UI2",
                   / "UI3",
                   / "UI4",
                   / "UI5",
                   / "UI6",
                   / "UO2",
                   / "UO3",
                   / "UO4",
                   / "UO5",
                   / "UO6",
                   / "V11",
                   / "V12",
                   / "V13",
                   / "V21",
                   / "V22",
                   / "V23",
                   / "V31",
                   / "V32",
                   / "V33",
                   / "VI2",
                   / "VI3",
                   / "VI4",
                   / "VI5",
                   / "VI6",
                   / "VO2",
                   / "VO3",
                   / "VO4",
                   / "VO5",
                   / "VO6",
                   / "WI1",
                   / "WI2",
                   / "WI3",
                   / "WI4",
                   / "WI5",
                   / "WI6",
                   / "WO",
                   / "WO1",
                   / "WO2",
                   / "WO3",
                   / "WO4",
                   / "WO5",
                   / "WO6",
           ◆ COEF_MULT = list[float],
           ◆ COEF_IMPO = float,
        ),
      | LIAISON_OBLIQUE = _F(
           ◆ | GROUP_NO = list[grno],
             | GROUP_MA = list[grma],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ ANGL_NAUT = list[float],
           ◆ | DX = float,
             | DY = float,
             | DZ = float,
             | DRX = float,
             | DRY = float,
             | DRZ = float,
        ),
      | LIAISON_GROUP = _F(
           ◆ / GROUP_MA_1 = list[grma],
             / GROUP_NO_1 = list[grno],
           ◆ / GROUP_NO_2 = list[grno],
             / GROUP_MA_2 = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ DDL_1 = / "DNOR",
                     / "DRGX",
                     / "DRGY",
                     / "DRGZ",
                     / "DRX",
                     / "DRY",
                     / "DRZ",
                     / "DX",
                     / "DY",
                     / "DZ",
                     / "GLIS",
                     / "GONF",
                     / "GRX",
                     / "H1PRE1",
                     / "H1X",
                     / "H1Y",
                     / "H1Z",
                     / "K1",
                     / "K2",
                     / "K3",
                     / "LH1",
                     / "PHI",
                     / "PRE1",
                     / "PRE2",
                     / "PRES",
                     / "PRES11",
                     / "PRES12",
                     / "PRES13",
                     / "PRES21",
                     / "PRES22",
                     / "PRES23",
                     / "PRES31",
                     / "PRES32",
                     / "PRES33",
                     / "PSI",
                     / "TEMP",
                     / "UI2",
                     / "UI3",
                     / "UI4",
                     / "UI5",
                     / "UI6",
                     / "UO2",
                     / "UO3",
                     / "UO4",
                     / "UO5",
                     / "UO6",
                     / "V11",
                     / "V12",
                     / "V13",
                     / "V21",
                     / "V22",
                     / "V23",
                     / "V31",
                     / "V32",
                     / "V33",
                     / "VI2",
                     / "VI3",
                     / "VI4",
                     / "VI5",
                     / "VI6",
                     / "VO2",
                     / "VO3",
                     / "VO4",
                     / "VO5",
                     / "VO6",
                     / "WI1",
                     / "WI2",
                     / "WI3",
                     / "WI4",
                     / "WI5",
                     / "WI6",
                     / "WO",
                     / "WO1",
                     / "WO2",
                     / "WO3",
                     / "WO4",
                     / "WO5",
                     / "WO6",
           ◆ COEF_MULT_1 = list[float],
           ◆ DDL_2 = / "DNOR",
                     / "DRGX",
                     / "DRGY",
                     / "DRGZ",
                     / "DRX",
                     / "DRY",
                     / "DRZ",
                     / "DX",
                     / "DY",
                     / "DZ",
                     / "GLIS",
                     / "GONF",
                     / "GRX",
                     / "H1PRE1",
                     / "H1X",
                     / "H1Y",
                     / "H1Z",
                     / "K1",
                     / "K2",
                     / "K3",
                     / "LH1",
                     / "PHI",
                     / "PRE1",
                     / "PRE2",
                     / "PRES",
                     / "PRES11",
                     / "PRES12",
                     / "PRES13",
                     / "PRES21",
                     / "PRES22",
                     / "PRES23",
                     / "PRES31",
                     / "PRES32",
                     / "PRES33",
                     / "PSI",
                     / "TEMP",
                     / "UI2",
                     / "UI3",
                     / "UI4",
                     / "UI5",
                     / "UI6",
                     / "UO2",
                     / "UO3",
                     / "UO4",
                     / "UO5",
                     / "UO6",
                     / "V11",
                     / "V12",
                     / "V13",
                     / "V21",
                     / "V22",
                     / "V23",
                     / "V31",
                     / "V32",
                     / "V33",
                     / "VI2",
                     / "VI3",
                     / "VI4",
                     / "VI5",
                     / "VI6",
                     / "VO2",
                     / "VO3",
                     / "VO4",
                     / "VO5",
                     / "VO6",
                     / "WI1",
                     / "WI2",
                     / "WI3",
                     / "WI4",
                     / "WI5",
                     / "WI6",
                     / "WO",
                     / "WO1",
                     / "WO2",
                     / "WO3",
                     / "WO4",
                     / "WO5",
                     / "WO6",
           ◆ COEF_MULT_2 = list[float],
           ◆ COEF_IMPO = float,
           ◇ TRAN = list[float],
           ◇ ANGL_NAUT = list[float],
           ◇ CENTRE = list[float],
        ),
      | LIAISON_MAIL = _F(
           ◇ GROUP_MA_MAIT = list[grma],
           ◆ | GROUP_MA_ESCL = list[grma],
             | GROUP_NO_ESCL = list[grno],
           ◇ DISTANCE_MAX = float,
           ◇ DISTANCE_ALARME = float,
           ◇ TYPE_RACCORD = / "COQUE",
                            / "COQUE_MASSIF",
                            / "MASSIF" (par défaut),
                            / "MASSIF_COQUE",
           # Si: equal_to("TYPE_RACCORD", 'COQUE')
               ◇ TRANSF_GEOM_MAIT = list[fonction / formule / nappe],
               ◇ TRANSF_GEOM_ESCL = list[fonction / formule / nappe],
               ◇ DDL = / "DRX",
                       / "DRY",
                       / "DRZ",
                       / "DX",
                       / "DY",
                       / "DZ",
           # Si: equal_to("TYPE_RACCORD", 'MASSIF')
               ◇ TRAN = list[float],
               ◇ ANGL_NAUT = list[float],
               ◇ CENTRE = list[float],
               ◇ DDL = / "DNOR",
                       / "DRGX",
                       / "DRGY",
                       / "DRGZ",
                       / "DRX",
                       / "DRY",
                       / "DRZ",
                       / "DX",
                       / "DY",
                       / "DZ",
                       / "GLIS",
                       / "GONF",
                       / "GRX",
                       / "H1PRE1",
                       / "H1X",
                       / "H1Y",
                       / "H1Z",
                       / "K1",
                       / "K2",
                       / "K3",
                       / "LH1",
                       / "PHI",
                       / "PRE1",
                       / "PRE2",
                       / "PRES",
                       / "PRES11",
                       / "PRES12",
                       / "PRES13",
                       / "PRES21",
                       / "PRES22",
                       / "PRES23",
                       / "PRES31",
                       / "PRES32",
                       / "PRES33",
                       / "PSI",
                       / "TEMP",
                       / "UI2",
                       / "UI3",
                       / "UI4",
                       / "UI5",
                       / "UI6",
                       / "UO2",
                       / "UO3",
                       / "UO4",
                       / "UO5",
                       / "UO6",
                       / "V11",
                       / "V12",
                       / "V13",
                       / "V21",
                       / "V22",
                       / "V23",
                       / "V31",
                       / "V32",
                       / "V33",
                       / "VI2",
                       / "VI3",
                       / "VI4",
                       / "VI5",
                       / "VI6",
                       / "VO2",
                       / "VO3",
                       / "VO4",
                       / "VO5",
                       / "VO6",
                       / "WI1",
                       / "WI2",
                       / "WI3",
                       / "WI4",
                       / "WI5",
                       / "WI6",
                       / "WO",
                       / "WO1",
                       / "WO2",
                       / "WO3",
                       / "WO4",
                       / "WO5",
                       / "WO6",
           # Si: equal_to("TYPE_RACCORD", 'COQUE_MASSIF')
               ◆ EPAIS = float,
               ◆ CHAM_NORMALE = cham_no,
           ◇ ELIM_MULT = / "NON",
                         / "OUI" (par défaut),
        ),
      | LIAISON_CYCL = _F(
           ◇ GROUP_MA_MAIT1 = list[grma],
           ◇ GROUP_MA_MAIT2 = list[grma],
           ◆ | GROUP_MA_ESCL = list[grma],
             | GROUP_NO_ESCL = list[grno],
           ◇ TRAN = list[float],
           ◇ ANGL_NAUT = list[float],
           ◇ CENTRE = list[float],
           ◇ COEF_MAIT1 = float,
           ◇ COEF_MAIT2 = float,
           ◇ COEF_ESCL = float,
           ◇ & DDL_MAIT = "DNOR" (ou non renseigné),
             & DDL_ESCL = "DNOR" (ou non renseigné),
        ),
      | LIAISON_SOLIDE = _F(
           ◆ / GROUP_NO = list[grno],
             / GROUP_MA = list[grma],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◇ DIST_MIN = float,
        ),
      | LIAISON_ELEM = _F(
           ◆ OPTION = / "2D_POU",
                      / "3D_POU",
                      / "3D_POU_ARLEQUIN",
                      / "3D_TUYAU",
                      / "COQ_3D",
                      / "COQ_POU",
                      / "COQ_TUYAU",
                      / "PLAQ_POUT_ORTH",
           # Si: equal_to("OPTION", '3D_POU')
               ◇ GROUP_MA_1 = list[grma],
               ◆ / GROUP_NO_2 = grno,
                 / GROUP_MA_2 = grma,
               ◇ ANGL_MAX = float (défaut: 1.0),
           # Si: equal_to("OPTION", 'COQ_3D')
               ◆ GROUP_MA_COQUE = grma,
               ◆ GROUP_MA_MASSIF = grma,
               ◆ CARA_ELEM = cara_elem,
               ◇ COEF_RIGI_DRZ = float (défaut: 1e-05),
           # Si: equal_to("OPTION", '3D_POU_ARLEQUIN')
               ◇ GROUP_MA_1 = list[grma],
               ◇ GROUP_MA_2 = list[grma],
               ◆ CARA_ELEM = cara_elem,
               ◆ CHAM_MATER = cham_mater,
           # Si: equal_to("OPTION", '2D_POU')
               ◇ GROUP_MA_1 = list[grma],
               ◆ / GROUP_NO_2 = grno,
                 / GROUP_MA_2 = grma,
           # Si: equal_to("OPTION", 'COQ_POU') or equal_to("OPTION", 'COQ_TUYAU')
               ◇ GROUP_MA_1 = list[grma],
               ◇ GROUP_NO_2 = grno,
               ◆ CARA_ELEM = cara_elem,
               ◆ AXE_POUTRE = list[float],
           # Si: equal_to("OPTION", '3D_TUYAU')
               ◇ GROUP_MA_1 = list[grma],
               ◇ GROUP_NO_2 = grno,
               ◆ CARA_ELEM = cara_elem,
               ◆ AXE_POUTRE = list[float],
               ◇ ANGL_MAX = float (défaut: 1.0),
           # Si: equal_to("OPTION", 'PLAQ_POUT_ORTH')
               ◇ GROUP_MA_1 = list[grma],
               ◇ GROUP_NO_2 = grno,
               ◇ ANGL_MAX = float (défaut: 1.0),
               ◇ VERIF_EXCENT = / "NON",
                                / "OUI" (par défaut),
        ),
      | LIAISON_UNIF = _F(
           ◆ / GROUP_NO = list[grno],
             / GROUP_MA = list[grma],
           ◇ SANS_GROUP_MA = list[grma],
           ◇ SANS_GROUP_NO = list[grno],
           ◆ DDL = / "DRGX",
                   / "DRGY",
                   / "DRGZ",
                   / "DRX",
                   / "DRY",
                   / "DRZ",
                   / "DX",
                   / "DY",
                   / "DZ",
                   / "GLIS",
                   / "GONF",
                   / "GRX",
                   / "H1PRE1",
                   / "H1X",
                   / "H1Y",
                   / "H1Z",
                   / "K1",
                   / "K2",
                   / "K3",
                   / "LH1",
                   / "PHI",
                   / "PRE1",
                   / "PRE2",
                   / "PRES",
                   / "PRES11",
                   / "PRES12",
                   / "PRES13",
                   / "PRES21",
                   / "PRES22",
                   / "PRES23",
                   / "PRES31",
                   / "PRES32",
                   / "PRES33",
                   / "PSI",
                   / "TEMP",
                   / "UI2",
                   / "UI3",
                   / "UI4",
                   / "UI5",
                   / "UI6",
                   / "UO2",
                   / "UO3",
                   / "UO4",
                   / "UO5",
                   / "UO6",
                   / "V11",
                   / "V12",
                   / "V13",
                   / "V21",
                   / "V22",
                   / "V23",
                   / "V31",
                   / "V32",
                   / "V33",
                   / "VI2",
                   / "VI3",
                   / "VI4",
                   / "VI5",
                   / "VI6",
                   / "VO2",
                   / "VO3",
                   / "VO4",
                   / "VO5",
                   / "VO6",
                   / "WI1",
                   / "WI2",
                   / "WI3",
                   / "WI4",
                   / "WI5",
                   / "WI6",
                   / "WO",
                   / "WO1",
                   / "WO2",
                   / "WO3",
                   / "WO4",
                   / "WO5",
                   / "WO6",
        ),
      | LIAISON_CHAMNO = _F(
           ◆ CHAM_NO = cham_no,
           ◆ COEF_IMPO = float,
        ),
      | LIAISON_RBE3 = _F(
           ◇ GROUP_NO_MAIT = grno,
           ◆ DDL_MAIT = / "DRX",
                        / "DRY",
                        / "DRZ",
                        / "DX",
                        / "DY",
                        / "DZ",
           ◇ GROUP_NO_ESCL = list[grno],
           ◆ DDL_ESCL = list[text],
           ◇ COEF_ESCL = list[float] (défaut: 1.0),
        ),
      | LIAISON_INTERF = _F(
           ◆ MACR_ELEM_DYNA = macr_elem_dyna,
           ◇ TYPE_LIAISON = / "RIGIDE" (par défaut),
                            / "SOUPLE",
        ),
      | LIAISON_PROJ = _F(
           ◆ MATR_PROJECTION = corresp_2_mailla,
           ◆ DDL = / "DRGX",
                   / "DRGY",
                   / "DRGZ",
                   / "DRX",
                   / "DRY",
                   / "DRZ",
                   / "DX",
                   / "DY",
                   / "DZ",
                   / "GLIS",
                   / "GONF",
                   / "GRX",
                   / "H1PRE1",
                   / "H1X",
                   / "H1Y",
                   / "H1Z",
                   / "K1",
                   / "K2",
                   / "K3",
                   / "LH1",
                   / "PHI",
                   / "PRE1",
                   / "PRE2",
                   / "PRES",
                   / "PRES11",
                   / "PRES12",
                   / "PRES13",
                   / "PRES21",
                   / "PRES22",
                   / "PRES23",
                   / "PRES31",
                   / "PRES32",
                   / "PRES33",
                   / "PSI",
                   / "TEMP",
                   / "UI2",
                   / "UI3",
                   / "UI4",
                   / "UI5",
                   / "UI6",
                   / "UO2",
                   / "UO3",
                   / "UO4",
                   / "UO5",
                   / "UO6",
                   / "V11",
                   / "V12",
                   / "V13",
                   / "V21",
                   / "V22",
                   / "V23",
                   / "V31",
                   / "V32",
                   / "V33",
                   / "VI2",
                   / "VI3",
                   / "VI4",
                   / "VI5",
                   / "VI6",
                   / "VO2",
                   / "VO3",
                   / "VO4",
                   / "VO5",
                   / "VO6",
                   / "WI1",
                   / "WI2",
                   / "WI3",
                   / "WI4",
                   / "WI5",
                   / "WI6",
                   / "WO",
                   / "WO1",
                   / "WO2",
                   / "WO3",
                   / "WO4",
                   / "WO5",
                   / "WO6",
           ◇ TYPE = / "EXCENTREMENT",
                    / "IDENTITE" (par défaut),
        ),
      | VECT_ASSE = cham_no,
      | FORCE_NODALE = _F(
           ◆ / GROUP_NO = list[grno],
           ◆ | FX = float,
             | FY = float,
             | FZ = float,
             | MX = float,
             | MY = float,
             | MZ = float,
           ◇ ANGL_NAUT = list[float],
        ),
      | FORCE_FACE = _F(
           ◇ GROUP_MA = list[grma],
           ◆ | FX = float,
             | FY = float,
             | FZ = float,
        ),
      | FORCE_ARETE = _F(
           ◇ GROUP_MA = list[grma],
           ◆ | FX = float,
             | FY = float,
             | FZ = float,
             | MX = float,
             | MY = float,
             | MZ = float,
        ),
      | FORCE_CONTOUR = _F(
           ◇ GROUP_MA = list[grma],
           ◆ | FX = float,
             | FY = float,
             | FZ = float,
        ),
      | FORCE_INTERNE = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◆ | FX = float,
             | FY = float,
             | FZ = float,
        ),
      | PRE_SIGM = _F(
           ◆ SIGM = carte / cham_elem,
        ),
      | PRES_REP = _F(
           ◆ | TOUT = "OUI" (ou non renseigné),
             | GROUP_MA = list[grma],
             | FISSURE = list[fiss_xfem],
           ◆ | PRES = float,
             | CISA_2D = float,
        ),
      | EFFE_FOND = _F(
           ◆ GROUP_MA_INT = list[grma],
           ◇ GROUP_MA = list[grma],
           ◆ PRES = float,
        ),
      | PRE_EPSI = _F(
           ◆ | TOUT = "OUI" (ou non renseigné),
             | GROUP_MA = list[grma],
             | EPSI = carte / cham_elem,
           ◆ | EPXX = float,
             | EPYY = float,
             | EPZZ = float,
             | EPXY = float,
             | EPXZ = float,
             | EPYZ = float,
             | EPX = float,
             | KY = float,
             | KZ = float,
             | EXX = float,
             | EYY = float,
             | EXY = float,
             | KXX = float,
             | KYY = float,
             | KXY = float,
             | VECT_N = list[float],
           # Si: exists("VECT_N")
               ◆ | KN1 = float,
                 | KN2 = float,
        ),
      | FORCE_POUTRE = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◇ TYPE_CHARGE = / "FORCE" (par défaut),
                           / "VENT",
           # Si: equal_to("TYPE_CHARGE", 'FORCE')
               ◆ | FX = float,
                 | FY = float,
                 | FZ = float,
                 | MX = float,
                 | MY = float,
                 | MZ = float,
                 | N = float,
                 | VY = float,
                 | VZ = float,
                 | MT = float,
                 | MFY = float,
                 | MFZ = float,
                 | MGX = float,
                 | MGY = float,
                 | MGZ = float,
           # Si: equal_to("TYPE_CHARGE", 'VENT')
               ◆ | FX = fonction / formule / nappe,
                 | FY = fonction / formule / nappe,
                 | FZ = fonction / formule / nappe,
                 | N = fonction / formule / nappe,
                 | VY = fonction / formule / nappe,
                 | VZ = fonction / formule / nappe,
        ),
      | FORCE_TUYAU = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◆ PRES = float,
        ),
      | FORCE_COQUE = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◆ | FX = float,
             | FY = float,
             | FZ = float,
             | MX = float,
             | MY = float,
             | MZ = float,
             | PRES = float,
             | F1 = float,
             | F2 = float,
             | F3 = float,
             | MF1 = float,
             | MF2 = float,
           ◇ PLAN = / "INF",
                    / "MAIL" (par défaut),
                    / "MOY",
                    / "SUP",
        ),
      | FORCE_COQUE_FO = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◇ PRES = fonction / formule / nappe,
        ),
      | LIAISON_COQUE = _F(
           ◆ | GROUP_MA_1 = list[grma],
             | GROUP_MA_2 = list[grma],
             | GROUP_NO_1 = list[grno],
             | GROUP_NO_2 = list[grno],
           ◇ SANS_GROUP_MA_1 = list[grma],
           ◇ SANS_GROUP_NO_1 = list[grno],
           ◇ SANS_GROUP_MA_2 = list[grma],
           ◇ SANS_GROUP_NO_2 = list[grno],
        ),
      | RELA_CINE_BP = _F(
           ◆ CABLE_BP = cabl_precont,
           ◇ RELA_CINE = / "NON",
                         / "OUI" (par défaut),
           # Si: equal_to("RELA_CINE", 'OUI')
               ◇ SIGM_BPEL = / "NON" (par défaut),
                             / "OUI",
           # Si: equal_to("RELA_CINE", 'NON')
               ◇ SIGM_BPEL = "OUI",
           ◇ TYPE_EPX = / "ADHE" (par défaut),
                        / "FROT",
                        / "GLIS",
           ◇ DIST_MIN = float,
        ),
      | FORCE_ELEC = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◇ POSITION = / "FINI",
                        / "INFI",
                        / "PARA",
           # Si: not exists("POSITION")
               ◇ FX = float (défaut: 0.0),
               ◇ FY = float (défaut: 0.0),
               ◇ FZ = float (défaut: 0.0),
           # Si: equal_to("POSITION", 'PARA')
               ◆ / TRANS = list[float],
                 / DIST = float,
               # Si: exists("DIST")
                   ◆ POINT2 = list[float],
           # Si: (equal_to("POSITION", 'FINI')) or (equal_to("POSITION", 'INFI'))
               ◆ POINT1 = list[float],
               ◆ POINT2 = list[float],
        ),
      | VITE_FACE = _F(
           ◇ GROUP_MA = list[grma],
           ◆ / VNOR = float,
             / DIRECTION = list[float],
           # Si: exists("DIRECTION")
               ◆ VITE = float,
        ),
      | ONDE_FLUI = _F(
           ◇ GROUP_MA = list[grma],
           ◆ PRES = float,
        ),
      | FLUX_THM_REP = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◆ | FLUN = float,
             | FLUN_HYDR1 = float,
             | FLUN_HYDR2 = float,
        ),
      | FORCE_SOL = _F(
           ◆ / GROUP_NO_INTERF = grno,
             / SUPER_MAILLE = ma,
           ◆ | UNITE_RESU_MASS = unit,
             | UNITE_RESU_RIGI = unit,
             | UNITE_RESU_AMOR = unit,
           ◇ UNITE_RESU_FORC = unit,
           ◇ NB_PAS_TRONCATURE = int (défaut: 0),
           ◇ TYPE = / "ASCII" (par défaut),
                    / "BINAIRE",
        ),
      | ECHANGE_THM = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◆ | COEF_11 = float,
             | COEF_12 = float,
             | COEF_21 = float,
             | COEF_22 = float,
           ◇ PRE1_EXT = float,
           ◇ PRE2_EXT = float,
        ),
      | ECHANGE_THM_HR = _F(
           ◆ / TOUT = "OUI" (ou non renseigné),
             / GROUP_MA = list[grma],
           ◆ HR_EXT = float,
           ◆ ALPHA = float,
           ◆ PVAP_SAT = float,
        ),
    ◇ DOUBLE_LAGRANGE = / "NON",
                        / "OUI" (par défaut),
    ◇ INFO = / 1 (par défaut),
             / 2,
)

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