3. Contenu des objets jeveux#
3.1. Objet .DIME#
'.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)
3.2. Objet .NOMNOE#
'.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
3.3. Objet .GROUPENO#
'.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 *.*
3.4. 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.
3.5. Objet .NOMMAIL#
'.NOMMAI' : S V K8 LONG = nb_ma
C’est le pointeur de noms donnant la correspondance :
nom_de_maille ↔ numero_de_maille
3.6. Objet .TYPMAIL#
'.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 [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. [D4.04.01].
3.7. Objet .CONNEX#
'.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” [D4.04.01])
3.8. Objet .GROUPEMA#
'.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 .
3.9. Objet .PTRNOMMAI#
“.PTRNOMMAI” : S N K24 LONG = nb_grma
C’est le pointeur de nom externe servant à stocker les noms de groupes de mailles.
3.10. Objets .NOMACR,.PARA_R, .SUPMAIL et .TYPL#
'.NOMACR' : S V K8 LONG = nb_sm
pour i = 1, nb_sm
V(i) : nom du MACR_ELEM_STAT associé à la super-maille \(i\)
'.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.
'.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
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 [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)
'.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 »
3.11. Objet .ADAPTATION#
'.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.
3.12. Objet (11).FORM#
'(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.
3.13. Objets .MAOR, .CRMA et .CRNO#
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
3.14. Objets .PTVOIS et .ELVOIS#
Ces objets décrivent les voisins des mailles d’un maillage.
Chaque voisin (i.e. maille voisine) a un type :
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
3.15. 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” :
'.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é.