2. Syntax#

/grill
/mesh
/skeleton = DEFI_GROUP (
    ◆ reuse = <objet de MAILLAGE ou GRILLE >,
    ◆/MAILLAGE = mesh/skeleton,
      /GRILLE = grid,
    ◆ | DETR_GROUP_MA = _F (
           ◆ NOM = text,
        ),
      | CREA_GROUP_MA = _F (
           ◆ NOM = text,
           ◆/TOUT = "OUI" (or not specified),
             /GROUP_MA = grma,
             /INTERSEC = grma,
             /UNION = grma,
             /DIFFE = grma,
             /OPTION =/"APPUI ",
                        /"BANDE ",
                        /"CYLINDRE ",
                        /"FACE_NORMALE ",
                        /"FISS_XFEM ",
                        /"SPHERE ",
           ◇ TYPE_MAILLE =/"1D",
                           /"2D",
                           /"3D",
                           /"HEXA20 ",
                           /"HEXA27 ",
                           /"HEXA8 ",
                           /"PENTA15 ",
                           /"PENTA18 ",
                           /"PENTA6 ",
                           /"POI1 ",
                           /"PYRAM13 ",
                           /"PYRAM5 ",
                           /"QUAD4 ",
                           /"QUAD8 ",
                           /"QUAD9 ",
                           /"SEG2 ",
                           /"SEG3 ",
                           /"SEG4 ",
                           /"TETRA10 ",
                           /"TETRA4 ",
                           /"TOUT" (by default),
                           /"TRIA3 ",
                           /"TRIA6 ",
                           /"TRIA7 ",
           # If: exists (" GROUP_MA ")
               ◇/NUME_INIT = int,
                 /POSITION =/"FIN ",
                              /"INIT ",
                              /"MILIEU ",
               # If: exists (" NUME_INIT ")
                   ◇ NUME_FIN = int,
           # If: equal_to (" OPTION ", 'FACE_NORMALE')
               ◆/ANGL_NAUT = float,
                 /VECT_NORMALE = float,
               ◇ ANGL_PREC = float (default: 0.5),
               ◇ VERI_SIGNE =/"NON ",
                              /"OUI" (by default),
           # If: equal_to (" OPTION ", 'SPHERE')
               ◆/POINT = float,
                 /GROUP_NO_CENTRE = grno,
               ◆ RAYON = float,
               ◇ CRIT_NOEUD =/"AU_MOINS_UN" (by default),
                              /"MAJORITE ",
                              /"TOUS ",
           # If: equal_to (" OPTION ", 'CYLINDRE')
               ◆/POINT = float,
                 /GROUP_NO_CENTRE = grno,
               ◆ RAYON = float,
               ◆/ANGL_NAUT = float,
                 /VECT_NORMALE = float,
               ◇ CRIT_NOEUD =/"AU_MOINS_UN" (by default),
                              /"MAJORITE ",
                              /"TOUS ",
           # If: equal_to (" OPTION ", 'BANDE')
               ◆/POINT = float,
                 /GROUP_NO_CENTRE = grno,
               ◆ DIST = float,
               ◆/ANGL_NAUT = float,
                 /VECT_NORMALE = float,
               ◇ CRIT_NOEUD =/"AU_MOINS_UN" (by default),
                              /"MAJORITE ",
                              /"TOUS ",
           # If: equal_to (" OPTION ", 'APPUI')
               ◆/GROUP_NO = grno,
               ◆ TYPE_APPUI =/"AU_MOINS_UN ",
                              /"MAJORITE ",
                              /"SOMMET ",
                              /"TOUT ",
           # If: equal_to (" OPTION ", 'FISS_XFEM')
               ◇ TYPE_GROUP =/"CRACKTIP ",
                              /"FISSUREE ",
                              /"HEAVISIDE ",
                              /"MIXTE ",
                              /"XFEM" (by default),
               ◆ FISSURE = fiss_xfem,
        ),
      | CREA_GROUP_NO = _F (
           ◇ OPTION =/"ENV_CYLINDRE ",
                      /"ENV_SPHERE ",
                      /"FISS_XFEM ",
                      /"INCLUSION ",
                      /"INTERVALLE_VALE ",
                      /"NOEUD_ORDO ",
                      /"PLAN ",
                      /"RELA_CINE_BP ",
                      /"SEGM_DROI_ORDO ",
                      /"TUNNEL ",
           # If: not exists (" OPTION ")
               ◆/TOUT_GROUP_MA = "OUI" (or not specified),
                 /GROUP_MA = grma,
                 /GROUP_NO = grno,
                 /INTERSEC = grno,
                 /UNION = grno,
                 /DIFFE = grno,
               # If: exists (" GROUP_MA ")
                   ◇ NOM = text,
                   ◇ CRIT_NOEUD =/"CENTRE ",
                                  /"MILIEU ",
                                  /"SOMMET ",
                                  /"TOUS" (by default),
               # If: exists (" GROUP_NO ")
                   ◇/NUME_INIT = int,
                     /POSITION =/"FIN ",
                                  /"INIT ",
                                  /"MILIEU ",
                   # If: exists (" NUME_INIT ")
                       ◇ NUME_FIN = int,
               # If: not exists (" GROUP_MA ") and not exists (" TOUT_GROUP_MA ")
                   ◆ NOM = text,
           # If: equal_to (" OPTION ", 'ENV_SPHERE')
               ◆ NOM = text,
               ◆/POINT = float,
                 /GROUP_NO_CENTRE = grno,
               ◆ RAYON = float,
               ◆ PRECISION = float,
           # If: equal_to (" OPTION ", 'ENV_CYLINDRE')
               ◆ NOM = text,
               ◆/POINT = float,
                 /GROUP_NO_CENTRE = grno,
               ◆ RAYON = float,
               ◆/ANGL_NAUT = float,
                 /VECT_NORMALE = float,
               ◆ PRECISION = float,
           # If: equal_to (" OPTION ", 'PLAN')
               ◆ NOM = text,
               ◆/POINT = float,
                 /GROUP_NO_CENTRE = grno,
               ◆/ANGL_NAUT = float,
                 /VECT_NORMALE = float,
               ◆ PRECISION = float,
           # If: equal_to (" OPTION ", 'SEGM_DROI_ORDO')
               ◆ NOM = text,
               ◇ GROUP_NO = big,
               ◆ GROUP_NO_ORIG = grno,
               ◆ GROUP_NO_EXTR = grno,
               ◆ PRECISION = float,
               ◆ CRITERE =/"ABSOLU ",
                           /"RELATIF ",
           # If: equal_to (" OPTION ", 'NOEUD_ORDO')
               ◆ NOM = text,
               ◆ GROUP_MA = GRMA,
               ◇ GROUP_NO_ORIG = big,
               ◇ GROUP_NO_EXTR = big,
               ◇ VECT_ORIE = float,
               ◇ ORIGINE = "SANS" (or not specified),
           # If: equal_to (" OPTION ", 'TUNNEL')
               ◆ NOM = text,
               ◆ | ALL = "YES" (or not specified),
                 | GROUP_MA = grma,
               ◇ GROUP_MA_AXE = Grma,
               ◇ GROUP_NO_ORIG = big,
               ◆ RAYON = float,
               ◇ LONGUEUR = float,
           # If: equal_to (" OPTION ", 'INCLUSION')
               ◆ NOM = text,
               ◆ CAS_FIGURE =/"2.5D",
                              /"2D",
                              /"3D",
               ◇ DISTANCE_MAX = float,
               ◆ GROUP_MA = GRMA,
               ◆ GROUP_MA_INCL = Grma,
               ◇ MAILLAGE_INCL = mesh,
           # If: equal_to (" OPTION ", 'FISS_XFEM')
               ◆ NOM = text,
               ◆ TYPE_GROUP =/"CRACKTIP ",
                              /"HEAVISIDE ",
                              /"MIXTE ",
                              /"TORE ",
                              /"XFEM ",
                              /"ZONE_MAJ ",
               ◆ FISSURE = fiss_xfem,
               # If: equal_to (" TYPE_GROUP ", 'TORE')
                   ◆ RAYON_TORE = float,
           # If: equal_to (" OPTION ", 'INTERVALLE_VALE')
               ◆ NOM = text,
               ◆ CHAM_GD = cham_no,
               ◆ NOM_CMP = text,
               ◆ VALE = float,
           # If: equal_to (" OPTION ", 'RELA_CINE_BP')
               ◆ CABLE_BP = cabl_precont,
               ◇ PREF_GRNO = text (default: "RCBP "),
        ),
      | DETR_GROUP_NO = _F (
           ◆ NOM = text,
        ),
    ◇ ALARME =/"NON ",
               /"OUI" (by default),
    ◇ INFO =/1,
             /2,
)

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