3. Contents of the objects I want#
3.1. Purpose. DIME#
'. DIME ': S V I LONG = 6
V (1): nb_no: number of physical nodes in the mesh
V (2): nb_nl: number of Lagrange nodes in the mesh
nb_nl > 0: there are supermeshes: static substructuring (sss)
V (3): nb_ma: number of meshes in the mesh
V (4): nb_sm: number of supermeshes in the mesh
nb_sm > 0: static substructuring
V (5): nb_sm-mx: greater than the number of supermeshes
V (6): dim_color: /2 (if 2D mesh)
/3 (if 3D mesh)
3.2. Purpose. NOMNOE#
'. NOMNOE ': S N K8 LONG = nb_no
This is the name pointer giving the correspondence:
node_name ↔ node_number
3.3. Purpose. GROUPENO#
'. GROUPENO ': XD V I NO () VARI NB_OJB = nb_gno
number of group_no nb_gno = NUTIOC (”. GROUPENO “)
Let V = “. GROUPENO “(nom_gno)
nb_no_gno = number of nodes with name_gno = LONUTI (V)
for i = 1, nb_no_gno
V (i): number of the itemnode of name_gno
Important note:
A group_no*may be empty (0 nodes). An empty group is represented by a vector of* LONMAX =1 and LONUTI =0. When you want to know the number of elements in a group, you must therefore use JELIRA/LONUTI . When creating a group, remember to fill in ( JEECRA ) the two attributes ( LONMAX and LONUTI ) .
Attention:
The number of group_no*of a mesh can change: you can modify a mesh (command* DEFI_GROUP ) to add group_noto it .
3.4. Purpose. PTRNOMNOE#
“. PTRNOMNOE “: S N K24 LONG = nb_grno
It is the external name pointer used to store node group names.
3.5. Purpose. NOMMAIL#
'. NOMMAI ': S V K8 LONG = nb_ma
This is the name pointer giving the correspondence:
mesh_name ↔ mesh_number
3.6. Purpose. TYPMAIL#
'. TYPMAIL ': S V I LONGB = nb_ma
V (ima): number of the mesh type associated with the mesh with the ima number
mesh types are defined in the /compelem/type_maille__.cata catalog:
SEG2, TRIA3, QUAD4,…, HEXA20
the mesh types recognized by Aster are described in [U3.01]
the correspondence: mesh_type_name ↔ mesh_type_number mesh_type_number is accessible by the name pointer: “& CATA .TM. NOMTM “cf. [D4.04.01].
3.7. Purpose. CONNEX#
'. CONNEX ': XC V I NU () NB_OJB = nb_ma
Let V = “. CONNEX “(ima)
V (1): number of the first knot of the number stitch: ima
…
V (n): number of the last node of the number mesh: ima
n = number of knots in the ima mesh = LONMAX (V)
The number of knots in a mesh is always the number of knots associated with the type of mesh
that is attached to it (see object “& CATA .TM. NBNO “[D4.04.01])
3.8. Purpose. GROUPEMA#
'. GROUPEMA ': XDV I NO () VARI NB_OJB = nb_gma
group_ma number nb_gma = NUTIOC (”. GROUPEMA “)
Let V = “. GROUPEMA “(gma_name)
nb_ma_gma = number of cells with name_gma = LONUTI (V)
for i = 1, nb_ma_gma
V (i): number of the th mesh of name_gma
Important note:
A group_ma*may be empty (0 mesh). An empty group is represented by a vector of* LONMAX =1 and LONUTI =0. When you want to know the number of elements in a group, you must therefore use JELIRA/LONUTI . When creating a group, remember to fill in ( JEECRA ) the two attributes ( LONMAX and LONUTI ) .
Attention:
The number of GROUP_MA of a mesh can change: you can modify a mesh (command DEFI_GROUP ) to add group_ma*to it .*
3.9. Purpose. PTRNOMMAI#
“. PTRNOMMAI “: S N K24 LONG = nb_grma
It is the external name pointer used to store the names of mesh groups.
3.10. Items. NOMACR,. PARA_R,. SUPMAIL and. TYPL#
'. NOMACR ': S V K8 LONG = nb_sm
for i = 1, nb_sm
V (i): name of the MACR_ELEM_STAT associated with the \(i\) supermesh
'. PARA_R ': SVR LONG = 14*nb_sm
for 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): mini
V (14* (i-1) +14): maximum
(TX, TY, TZ) are the translation values of the geometric transformation associated with the supermesh i
(alpha, beta, gamma) are the nautical angles (in radians) defining the rotation of the geometric transformation,
(PX, PY, PZ) defines the center of the previous rotation.
Let macrost be MACR_ELEM_STAT associated with the supermesh i, the position of the supermesh i is defined by isometry of the macrost nodes. Isometry is the composition in order: rotation PUIS translation.
Dmini: minimum distance between 2 knots of mesh i,
dmax: maximum distance between 2 knots of mesh i.
'. SUPMAIL ': XD V I NO () VARI NB_OJB = nb_sm
Let V = “. SUPMAIL “(sma_name)
V is a vector containing the numbers of the nodes in the name_sma supermesh. The nodes of a supermesh can be of the « physical » type or of the « Lagrange » type.
Either:
Inop a « physical » node number of the supermesh name_sma
inol a « Lagrange » node number from the supermesh name_sma
V is a form of copying the object “. CONX “from MACR_ELEM_STAT [D4.08.01].
V defines supermesh connectivity.
Supermeshes are « stuck together » by « physical » knots.
The « Lagrange » knots inherited from MACR_ELEM_STAT are never common to several supermeshes.
Total number of nodes (« physical » + « Lagrange ») with name_sma = LONMAX (V)
The name pointer (internal) of the object “. SUPMAIL “gives the correspondence:
number (super_mesh) ↔ name (super_mesh)
'. TYPL ': S V I LONG = nb_nl
for i = 1, nb_nl
V (i): /-1 if the « Lagrange » node i is of the « before » type
/-2 if the node of « Lagrange » i is of type « after »
3.11. Purpose. ADAPTATION#
'. ADAPTATION ': S V I LONG = 1
V (1): level of adaptation (per lobster) of the mesh.
This level is generally 0. It is not null unless the mesh has been refined by Homard. This information is only used by Homard.
3.12. Object (11). FORM#
'(11). FORM ': S V K32 LONG = 2
This object only exists if the mesh was read in the “MED” format
V (1): “MED”.
V (2): name of the MED mesh.
3.13. Items. MAOR,. CRMA and. CRNO#
These objects only exist in a mesh obtained by the command:
CREA_MAILLAGE/RESTREINT.
. MAOR (1): contains the name of the mesh from which the mesh comes ("origin" mesh).
The object. CRMA gives the correspondence between the numbers of the mailless of the original mesh and of the restricted mesh:
. CRMA (ima_re) -> ima_orig
The object. CRNO gives the correspondence between the node numbers of the original mesh and the restricted mesh:
. CRNO (ino_re) -> ino_orig
3.14. Items. PTVOIS and. ELVOIS#
These objects describe the neighbors of the cells in a mesh.
Each neighbor (i.e. neighboring cell) has a type:
3D PAR FACE: F3:1
2D PAR FACE: F2:2
3D PAR ARRETE: A3:3
2D PAR ARRETE: A2:4
1D PAR ARRETE: A 1:5
3D PAR SOMMET: S3:6
2D PAR SOMMET: S2:7
1D PAR SOMMET: S1:8
0D PAR SOMMET: S0:9
We store in objects. PTVOIS and. ELVOIS:
For any M0 mesh of the mesh:
Total number of neighbors NVTOT
For each MV neighbor:
Neighbor type
mesh number
number of common vertices between M0 and MV: nso_com
For is=1, nso_com:
Local number in M0
Local number in MV
3.15. Objects”. PATCH “,”. CONOPA “,”. COMAPA “#
A macro-mesh is an object from the “ collection. PATCH “ and is characterized by 3 objects: “. CONOPA “,”. COMAPA “ and “. PTRNOMPAT “:
'. PATCH ': it is a collection of contiguous integer objects that can be accessed by patch number of variable length
'. CONOPA ': it is an integer vector object that allows you to create the inverse connectivity of a node to its macro-mesh.
'. COMAPA ': it is an integer vector object that allows you to create the inverse connectivity of a mesh to its macro-mesh.'. PTRNOMPAT ': this is a K24 vector allowing to link the patch number to the name of the associated mesh group.