Opérandes ========= Mot clé DEFI_SUPER_MAILLE ------------------------- .. code-block:: text ♦ DEFI_SUPER_MAILLE= Ce mot clé facteur permet de définir les super-mailles du maillage à l'aide des macro-éléments. Opérande MACR_ELEM ~~~~~~~~~~~~~~~~~~ .. code-block:: text ♦ MACR_ELEM = l_se l_se est la liste des noms des macro-éléments qui vont engendrer les mailles. Opérande SUPER_MAILLE ~~~~~~~~~~~~~~~~~~~~~ .. code-block:: text ◊ SUPER_MAILLE = l_mail l_mail est la liste des noms que l'on veut donner aux mailles. Cet argument est facultatif. En son absence, on donnera aux mailles les noms des macro-éléments (ceci est évidemment impossible si on veut utiliser plusieurs fois le même macro-élément). Opérandes de transformations géométriques ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: text ◊ | ◊ TRAN= Ce mot clé définit la translation à appliquer au macro-élément: * si on est en **2D** , on attend 2 réels : (tx, ty), * si on est en **3D** , on attend 3 réels : (tx, ty, tz). .. code-block:: text | ◊ ANGL_NAUT= .. code-block:: text ◊ CENTRE= Ces mots clé définissent la rotation à appliquer au macro-élément. Si on est en **2D** , on attend 3 réels: * a est l'angle (en degrés) de rotation dans le plan pour ANGL_NAUT, * px et py sont les coordonnées du centre de rotation pour CENTRE. Si on est en **3D** , on attend 6 réels: * a, b, c sont les angles nautiques :math:`(\alpha ,\beta ,\gamma )` de la rotation (en degrés). (Cf.l’opérateur AFFE_CARA_ELEM [:ref:`U4.42.01 `]) pour ANGL_NAUT, * px, py et pz sont les coordonnées du centre de rotation pour CENTRE. **Remarque importante:** *On sait que l'ordre des mots clés n’est pas significatif pour Aster. L'opération de translation/rotation est* **conventionnellementfaite dans l'ordre rotation* **puistranslation. Ces deux opérations ne commutent pas en général.* Mot clé RECO_GLOBAL ------------------- .. code-block:: text ◊ | RECO_GLOBAL= ♦ / TOUT = 'OUI' , / SUPER_MAILLE= l_maille, ◊ | CRITERE = / 'ABSOLU' , / 'RELATIF' , [DEFAUT] | PRECISION = / prec, / 1.D-3, [DEFAUT] Ce mot clé permet de recoller **automatiquement** un ensemble de super-mailles (désignées par le mot clé SUPER_MAILLE ou le mot clé TOUT) avec un critère de proximité géométrique: 2 nœuds de 2 super-mailles différentes m1 et m2 seront confondus si la distance qui les sépare est: .. code-block:: text < prec (CRITERE = 'ABSOLU'), < prec*min(d(m1),d(m2)) (CRITERE = 'RELATIF'). où d(mi) note la plus petite distance entre 2 nœuds de la super-maille mi. **Remarques:** *Deux nœuds d'une même maille ne seront jamais recollés.* *Si une maille ne contient qu'un seul nœud, il faut utiliser le* *CRITERE='ABSOLU'.* Mot clé RECO_SUPER_MAILLE ------------------------- .. code-block:: text ◊ RECO_SUPER_MAILLE = Ce mot clé facteur permet de recoller “ **à la main** ” certaines super-mailles désignées par l'utilisateur. Les super-mailles que l’on peut recoller sont celles qui ont été définies par le mot clé DEFI_SUPER_MAILLE.On recolle alors les super-mailles via des groupes de nœuds. Pour dire ce que l'on veut recoller il faut donc donner des couples (maille, groupe de nœuds (du maillage initial)). **Remarques:** *Lorsqu'on donne un couple (maille,* *groupe de nœuds), on désigne la liste des nœuds du groupe de nœuds qui sont externes pour le macro-élément qui définit la super-maille. C'est en fait l'intersection du groupe de nœuds et du bord de la sous‑structure. Cette liste est ordonnée comme le groupe de nœuds initial.* *En principe, lorsqu'on recolle 2 mailles via 2 groupes de nœuds, l'ensemble des nœuds désignés doit se recoller (cf. la convention choisie par le mot clé* *OPTION). Un message d'alarme sera émis si ce n'est pas le cas.* Opérandes SUPER_MAILLE/GROUP_NO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: text ◊ SUPER_MAILLE= On donne ici la liste des mailles à recoller. En général, on recolle les mailles 2 par 2. Pour les "coins", il peut être agréable de recoller toutes les mailles concourantes en une seule fois (par exemple les 4 super-cubes qui se partagent la même arête). .. code-block:: text ◊ GROUP_NO= On donne ici la liste des groupes de nœuds à recoller. Cette liste est de même longueur que la liste des mailles. Opérande OPTION ~~~~~~~~~~~~~~~~ .. code-block:: text ◊ OPTION= Ce mot permet de choisir la convention de recollement des listes de nœuds définis par les groupes de nœuds. * 'GEOMETRIQUE': Le programme va confondre les nœuds par des considérations de proximité géométrique. (Cf.mot clé : RECO_GLOBAL) * 'NOEUD_A_NOEUD' / 'INVERSE': .. image:: images/Object_1.svg :width: 163 :height: 77 .. _RefImage_Object_1.svg: .. code-block:: text Si OPTION = 'NOEUD_A_NOEUD' , GROUP_NO = (G1, G2, G3) .. image:: images/Object_2.svg :width: 163 :height: 77 .. _RefImage_Object_2.svg: .. code-block:: text Si OPTION = 'INVERSE' , GROUP_NO = (G1, G2, G3) .. image:: images/Object_3.svg :width: 163 :height: 77 .. _RefImage_Object_3.svg: **Attention :** *Pour option* *'INVERSE', seul le premier groupe de nœuds de la liste des* *GROUP_NOest "retourné".* Mot clé DEFI_GROUP_NO --------------------- .. code-block:: text ◊ DEFI_GROUP_NO= Ce mot clé facteur permet de définir des groupes de nœuds à partir de groupes existant dans les maillages initiaux des macro-éléments. **Remarque:** *Un groupe de nœuds initial peut contenir des nœuds qui n'appartiennent pas aux bords des macro-éléments. Ces nœuds internes n'existent donc pas dans le maillage final. Par commodité, on prend la convention de créer quand même le groupe réduit à son intersection avec le bord du macro-élément.* Opérandes TOUT/SUPER_MAILLE/PREFIXE/INDEX ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: text | ♦ / TOUT = 'OUI' , / SUPER_MAILLE = mail, ◊ PREFIXE = pref, ♦ INDEX = (dm, fm, dn, fn), Ces mots clés permettent de créer tous les groupes de nœuds correspondants aux groupes du maillage initial associé à la maille mail ou à toutes les mailles si: TOUT= 'OUI'. La convention de renommage est la suivante (en pseudo FORTRAN) : gno_fin(k8) = pref//no_mail(dm:fm)//gno_ini(dn:fn) Ce qui veut dire que le nom d'un groupe de nœuds sera formé en concaténant: * le préfixe éventuellement donné par l'utilisateur, * une sous-chaine de caractères extraite du nom de la maille, * une sous-chaine de caractères extraite du nom du group_no du maillage initial. Il faut donc que: ltot= longueur(préfixe) + (fm-dm+1) + (fn-dn+1) 8 Un cas fréquent est le suivant: les maillages qui ont donné naissance aux macro‑éléments proviennent d'un pré-processeur qui engendre des noms de la forme GRNOijkl. Si l'utilisateur donne à ses super-mailles des noms à 2 caractères : SA, SB,...., la séquence: .. code-block:: text DEFI_GROUP_NO=_F(TOUT= 'OUI' , PREFIXE='GN' , INDEX=(1,2,5,8)) Engendrera des groupes de nœuds de noms: .. code-block:: text GNSA0001, GNSA0002,... , GNSB0001. Opérandes GROUP_NO_FIN/SUPER_MAILLE/GROUP_NO_INIT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: text | ♦ GROUP_NO_FIN = gno_fin, ♦ SUPER_MAILLE = mail, ♦ GROUP_NO_INIT= gno_ini, Ces mots clés permettent de créer des groupes de nœuds **un par un** : * gno_fin est le nom que l'on veut donner au GROUP_NO, * mail et gno_ini identifient le GROUP_NO initial: * mail est le nom de la super-maille qui porte le GROUP_NO, * gno_ini est le nom du GROUP_NO du maillage initial.