Contenu des objets jeveux ========================= Objet .DIME ----------- .. code-block:: text '.DIME' : S V I LONG = 6 V(1) : nb_no : nombre de nœuds physiques du maillage V(2) : nb_nl : nombre de nœuds de Lagrange du maillage nb_nl > 0 : il existe des super-mailles : sous-structuration statique (sss) V(3) : nb_ma : nombre de mailles du maillage V(4) : nb_sm : nombre de super-mailles du maillage nb_sm > 0 : sous-structuration statique V(5) : nb_sm_mx : majorant du nombre de super-mailles V(6) : dim_coor : /2 (si maillage 2D) /3 (si maillage 3D) Objet .NOMNOE ------------- .. code-block:: text '.NOMNOE' : S N K8 LONG = nb_no C'est le pointeur de noms donnant la correspondance : nom_de_nœud ↔ numéro_de_nœud Objet .GROUPENO --------------- .. code-block:: text '.GROUPENO' : XD V I NO() VARI NB_OJB = nb_gno * nombre de group_no nb_gno = NUTIOC ('.GROUPENO') Soit V = '.GROUPENO' (nom_gno) nb_no_gno = nombre de nœuds de nom_gno = LONUTI (V) pour i = 1, nb_no_gno V(i) : numéro du ièmenœud de nom_gno *Remarque importante* : *Un* group_no *peut être vide (0 nœud). Un groupe vide est représenté par un vecteur de* LONMAX=1 *et* LONUTI=0 \*. Quand on veut savoir le nombre de d'éléments d'un groupe, il faut donc utiliser* JELIRA/LONUTI *. Quand on crée un groupe, il faut penser à renseigner (* JEECRA *) les deux attributs (* LONMAX *et* LONUTI *).* *Attention* : *Le nombre de* group_no *d’un maillage peut changer : on peut modifier un maillage (commande* DEFI_GROUP *) pour lui ajouter des* group_no \*.* Objet .PTRNOMNOE ---------------- **'.PTRNOMNOE'** : S N K24 LONG = nb_grno C'est le pointeur de nom externe servant à stocker les noms de groupes de nœuds. Objet .NOMMAIL -------------- .. code-block:: text '.NOMMAI' : S V K8 LONG = nb_ma C’est le pointeur de noms donnant la correspondance : nom_de_maille ↔ numero_de_maille Objet .TYPMAIL -------------- .. code-block:: text '.TYPMAIL' : S V I LONGB = nb_ma V(ima) : numéro du type de maille associé à la maille de numéro ima * les types de maille sont définis dans le catalogue /compelem/type_maille__.cata : SEG2, TRIA3, QUAD4, ..., HEXA20 * les types de maille reconnus par Aster sont décrits dans [:ref:`U3.01 `] * la correspondance : nom_de_type_de_maille ↔ numero_de_type_de_maille est accessible par le pointeur de nom : '&CATA.TM.NOMTM' cf. [:external:ref:`D4.04.01 `]. Objet .CONNEX ------------- .. code-block:: text '.CONNEX' : XC V I NU() NB_OJB = nb_ma Soit V = '.CONNEX' (ima) V(1) : numéro du 1ier nœud de la maille de numéro : ima ... V(n) : numéro du dernier nœud de la maille de numéro : ima n = nombre de nœuds de la maille ima = LONMAX (V) Le nombre de nœuds d'une maille est toujours le nombre de nœuds associé au type de maille qui lui est attaché (voir objet '&CATA.TM.NBNO' [:external:ref:`D4.04.01 `]) Objet .GROUPEMA --------------- .. code-block:: text '.GROUPEMA' : XD V I NO() VARI NB_OJB = nb_gma * nombre de group_ma nb_gma = NUTIOC ('.GROUPEMA') Soit V = '.GROUPEMA' (nom_gma) nb_ma_gma = nombre de mailles de nom_gma = LONUTI (V) pour i = 1, nb_ma_gma V(i) : numéro de la ième maille de nom_gma *Remarque importante* : *Un* group_ma *peut être vide (0 maille). Un groupe vide est représenté par un vecteur de* LONMAX=1 *et* LONUTI=0 \*. Quand on veut savoir le nombre de d'éléments d'un groupe, il faut donc utiliser* JELIRA/LONUTI *. Quand on crée un groupe, il faut penser à renseigner (* JEECRA *) les deux attributs (* LONMAX *et* LONUTI *).* *Attention :* *Le nombre de* GROUP_MA *d’un maillage peut changer : on peut modifier un maillage (commande* DEFI_GROUP *) pour lui ajouter des* group_ma *.* Objet .PTRNOMMAI ---------------- **'.PTRNOMMAI'** : S N K24 LONG = nb_grma C'est le pointeur de nom externe servant à stocker les noms de groupes de mailles. Objets .NOMACR,.PARA_R, .SUPMAIL et .TYPL ----------------------------------------- .. code-block:: text '.NOMACR' : S V K8 LONG = nb_sm pour i = 1, nb_sm V(i) : nom du MACR_ELEM_STAT associé à la super-maille :math:`i` .. code-block:: text '.PARA_R' : S V R LONG = 14*nb_sm pour i = 1, nb_sm : V(14*(i-1)+1) : TX V(14*(i-1)+2) : TY V(14*(i-1)+3) : TZ V(14*(i-1)+4) : alpha V(14*(i-1)+5) : beta V(14*(i-1)+6) : gamma V(14*(i-1)+7) : PX V(14*(i-1)+8) : PY V(14*(i-1)+9) : PZ V(14*(i-1)+13) : dmini V(14*(i-1)+14) : dmaxi * (TX, TY, TZ) sont les valeurs de translation de la transformation géométrique associée à la super-maille i * (alpha, beta, gamma) sont les angles nautiques (en radians) définissant la rotation de la transformation géométrique, * (PX, PY, PZ) définit le centre de la rotation précédente. Soit macrost le MACR_ELEM_STAT associé à la super-maille i, la position de la super-maille i est définie par isométrie des nœuds de macrost. L'isométrie est la composition dans l'ordre : rotation PUIS translation. * Dmini : distance minimale entre 2 nœuds de la maille i, * dmaxi : distance maximale entre 2 nœuds de la maille i. .. code-block:: text '.SUPMAIL' : XD V I NO() VARI NB_OJB = nb_sm Soit V = '.SUPMAIL' (nom_sma) V est un vecteur contenant les numéros des nœuds de la super-maille nom_sma. Les nœuds d'une super-maille peuvent être de type "physique" ou de type "Lagrange". Soit : inop un numéro de nœud "physique" de la super-maille nom_sma inol un numéro de nœud "Lagrange" de la super-maille nom_sma .. code-block:: text 1 ≤ inop ≤ nb_no nb_no + 1 ≤ inol ≤ nb_no + nb_nl V est une forme de recopie de l'objet '.CONX' du MACR_ELEM_STAT [:external:ref:`D4.08.01 `]. V définit la connectivité des super-mailles. Les super-mailles se "recollent" par des nœuds "physiques". Les nœuds de "Lagrange" hérités des MACR_ELEM_STAT ne sont jamais communs à plusieurs super-mailles. Nombre total de nœuds ("physique" + "Lagrange") de nom_sma = LONMAX (V) Le pointeur de noms (interne) de l'objet '.SUPMAIL' donne la correspondance : numero(super_maille)↔nom(super_maille) .. code-block:: text '.TYPL' : S V I LONG = nb_nl pour i = 1, nb_nl V(i) : /-1 si le nœud de "Lagrange" i est de type "avant" /-2 si le nœud de "Lagrange" i est de type "après" Objet .ADAPTATION ----------------- .. code-block:: text '.ADAPTATION' : S V I LONG = 1 V(1) : niveau d'adaptation (par Homard) du maillage. Ce niveau est 0 en général. Il n'est non nul que si le maillage a été raffiné par Homard. Cette information n'est utilisée que par Homard. Objet (11).FORM --------------- .. code-block:: text '(11).FORM' : S V K32 LONG = 2 Cet objet n'existe que si le maillage a été lu au format 'MED' V(1) : 'MED'. V(2) : nom du maillage MED. Objets .MAOR, .CRMA et .CRNO ---------------------------- .. code-block:: text Ces objets n'existent que dans un maillage obtenu par la commande: CREA_MAILLAGE / RESTREINT. .MAOR(1): contient le nom du maillage dont est issu le maillage (maillage «origine»). L'objet .CRMA donne la correspondance entre les numéros des mailless du maillage origine et du maillage restreint: .CRMA(ima_re)-> ima_orig L'objet .CRNO donne la correspondance entre les numéros des nœuds du maillage origine et du maillage restreint: .CRNO(ino_re)-> ino_orig Objets .PTVOIS et .ELVOIS ------------------------- Ces objets décrivent les voisins des mailles d’un maillage. Chaque voisin (i.e. maille voisine) a un type : .. code-block:: text 3D PAR FACE : F3 : 1 2D PAR FACE : F2 : 2 3D PAR ARRETE : A3 : 3 2D PAR ARRETE : A2 : 4 1D PAR ARRETE : A1 : 5 3D PAR SOMMET : S3 : 6 2D PAR SOMMET : S2 : 7 1D PAR SOMMET : S1 : 8 0D PAR SOMMET : S0 : 9 On stocke dans les objets .PTVOIS et .ELVOIS : Pour toute maille M0 du maillage : Nombre total de voisins NVTOT Pour chaque voisin MV : type du voisin numéro de la maille nombre de sommets communs entre M0 et MV : nso_com Pour is = 1, nso_com : Numéro local dans M0 Numéro local dans MV Objets '.PATCH', '.CONOPA', '.COMAPA' ------------------------------------- Une macro-maille est un objet de la collection **'.PATCH'** et se caractérise par 3 objets: **'.CONOPA', '.COMAPA'** et **'.PTRNOMPAT'** : .. code-block:: text '.PATCH' : il s'agit d'une collection d'objets entiers contiguë à accès par numéro de patch de longueur variable '.CONOPA' : il s'agit d'un objet vecteurs d'entiers permettant de créer la connectivité inverse d'un nœud à sa macro-maille. '.COMAPA' : il s'agit d'un objet vecteurs d'entiers permettant de créer la connectivité inverse d'une maille à sa macro-maille.'.PTRNOMPAT' : il s'agit d'un vecteurs de K24 permettant de relier le numéro du patch au nom du groupe de maille associé.