5. Objects common to all mesh formulations#
Here is the description of the objects depending on the contact zone dedicated to mesh formulations (method CONTINUE and DISCRETE).
5.1. Zone-based pairing options#
These objects correspond to the pairing options that vary from one contact zone to another. For each element, the objects containing the parameters are given in the tables below:
The index;
A description;
The keyword (s) concerned in DEFI_CONTACT;
The question to ask in MMINF *;
5.1.1. Item METHCO#
(o) '. CONTACT. METHCO ': V I long = ZMETH * NZOCO
Object indexed by the contact area number.
Index on the area |
Description |
DEFI_CONTACT |
Question MMINF* |
|
1 |
Pairing type 0 — NODAL 1 — MAIT_ESCL |
APPARIEMENT |
MMINFI |
APPARIEMENT |
2 |
Presence of the DIST_POUTRE keyword |
DIST_POUTRE |
MMINFL |
DIST_POUTRE |
3 |
Presence of the DIST_COQUE keyword |
DIST_COQUE |
MMINFL |
DIST_COQUE |
4 |
Normal type 0 — MAIT 1 — MAIT_ESCL 2 — ESCL |
NORMALE |
MMINFI |
NORMALE |
MMINFL |
MAIT ESCL MAIT_ESCL |
|||
5 |
Type of the vector carried by the master mesh 0 — AUTO 1 — FIXE 2 — VECT_Y |
VECT_MAIT MAIT_FIXE MAIT_VECT_Y |
MMINFI |
VECT_MAIT |
MMINFR |
VECT_MAIT_DIRX VECT_MAIT_DIRY VECT_MAIT_DIRZ |
|||
6 |
Type of the vector carried by the slave mesh 0 — AUTO 1 — FIXE 2 — VECT_Y |
VECT_ESCL ESCL_FIXE ESCL_VECT_Y |
MMINFI |
VECT_ESCL |
MMINFR |
VECT_ESCL_DIRX VECT_ESCL_DIRY VECT_ESCL_DIRZ |
|||
7 |
Match search type 0 — AUTO 1 — FIXE |
TYPE_APPA DIRE_APPA |
MMINFI |
TYPE_APPA |
MMINFR |
TYPE_APPA_DIRX TYPE_APPA_DIRY TYPE_APPA_DIRZ |
|||
MMINFL |
TYPE_APPA_FIXE |
|||
8 |
Number of slave meshes in the zone |
MMINFI |
NBMAE |
|
9 |
Number of slave nodes in the zone |
MMINFI |
NBNOE |
|
10 |
Number of master stitches in the zone |
MMINFI |
NBMAM |
|
11 |
Number of master nodes in the zone |
MMINFI |
NBNOM |
|
12 |
Number of slave cells in effective contact in the zone |
MMINFI |
NBMAEC |
|
13 |
Number of slave nodes in effective contact in the zone |
MMINFI |
NBNOEC |
|
14 |
Number of master cells in effective contact on the zone |
MMINFI |
NBMAMC |
|
15 |
Number of master nodes in effective contact in the zone |
MMINFI |
NBNOMC |
|
16 |
Shift in vectors for slave cells |
MMINFI |
JDECME |
|
17 |
Shift in vectors for master cells |
MMINFI |
JDECMM |
|
18 |
Offset in the vectors for the nodes |
MMINFI |
JDECNE |
|
19 |
Offset in vectors for the nodes master |
MMINFI |
JDECNM |
|
20 |
Number of points |
MMINFI |
NTPT |
|
21 |
Number of points actually in contact |
MMINFI |
NTPC |
|
22 |
Zone in mode without calculation 0 — NON (RESOLUTION =” NON “) 1 — OUI (RESOLUTION =” OUI”) |
RESOLUTION |
MMINFL |
VERIF CALCUL |
5.1.2. Item DIRAPP#
(o) '. CONTACT. DIRAPP ': V K8 long = 3* NZOCO
Object indexed by the contact area number.
Index on the area |
Description |
DEFI_CONTACT |
Question MMINF* |
|
1 |
Next match search direction X |
DIRE_APPA |
MMINFR |
DIRE_APPA_DIRX |
2 |
Next match search direction Y |
DIRE_APPA |
MMINFR |
DIRE_APPA_DIRY |
3 |
Direction of search for pairing next Z |
DIRE_APPA |
MMINFR |
DIRE_APPA_DIRZ |
5.1.3. Item DIRNOR#
(o) '. CONTACT. DIRNOR ': V K8 long = ZDIRN * NZOCO
Object indexed by the contact area number.
Index on the area |
Description |
DEFI_CONTACT |
Question MMINF* |
|
1 |
Normal master next X |
MAIT_FIXE MAIT_VECT_Y |
MMINFR |
VECT_MAIT_DIRX |
2 |
Normal master following Y |
MAIT_FIXE MAIT_VECT_Y |
MMINFR |
VECT_MAIT_DIRY |
3 |
Normal master/following Z |
MAIT_FIXE MAIT_VECT_Y |
MMINFR |
VECT_MAIT_DIRZ |
4 |
Normal slaveNext X |
ESCL_FIXE ESCL_VECT_Y |
MMINFR |
VECT_ESCL_DIRX |
5 |
Normal slaveNext Y |
ESCL_FIXE ESCL_VECT_Y |
MMINFR |
VECT_ESCL_DIRY |
6 |
Normal slaveNext Z |
ESCL_FIXE ESCL_VECT_Y |
MMINFR |
VECT_ESCL_DIRZ |
5.1.4. Objects JFO1COet JFOCO2#
“. CONTACT. JFO1CO “: V K8 long = NZOCO
(o) '. CONTACT. JFO2CO ': V K8 long = NZOCO
Object indexed by the contact area number.
Index on the area |
Description |
DEFI_CONTACT |
Question MMINF* |
|
1 |
Extra game on master mesh*Feature name* |
DIST_MAIT |
MMINFL |
DIST_MAIT |
Index on the area |
Description |
DEFI_CONTACT |
Question MMINF* |
|
1 |
Extra game on slave mesh*Function name* |
DIST_ESCL |
MMINFL |
DIST_ESCL |
5.1.5. Item TOLECO#
(o) '. CONTACT. TOLECO ': V R long = ZTOLE * NZOCO
Object indexed by the contact area number.
Index on the area |
Description |
DEFI_CONTACT |
Question MMINF* |
|
1 |
Parameter out-of-mesh projection |
TOLE_PROJ_EXT |
MMINFR |
TOLE_PROJ_EXT |
2 |
Parameter: tolerance, pairing distance |
TOLE_APPA |
MMINFR |
TOLE_APPA |
3 |
Parameter: interpenetration tolerance in mode without calculation |
TOLE_INTERP |
MMINFR |
TOLE_INTERP |
5.2. Mesh pairing options (slave)#
5.2.1. Objects JEUPOU/JEUCOQ#
(o) '. CONTACT. JEUPOU ': V R long = NMACO
(o) '. CONTACT. JEUCOQ ': V R long = NMACO
These objects contain additional slave-mesh play when using beams (keyword DIST_POUTRE) or shells (keyword DIST_COQUE). The information (thickness of the shell or radius of the beam) is read directly from the SD cara_elem given in DEFI_CONTACT).
Object indexed by the slave mesh number in MAILCO (POSMAE).
Index on the slave knit |
Description |
DEFI_CONTACT |
1 |
Extra play on girder slave mesh |
DIST_ POUTRE CARA_ELEM |
Index on the slave knit |
Description |
DEFI_CONTACT |
1 |
Extra game on shell slave mesh |
DIST_ COQUE CARA_ELEM |
5.3. Description of contact areas#
The contact system is composed of several zones, which are in turn divided into two surfaces composed of meshes, containing knots. Contact surfaces are identified by their absolute number \(i\) in the list of all contact surfaces, all areas combined.
Only tables MAILCO, NOEUCO, and SANSNO list knots and meshes by their absolute numbers in the mesh; all other tables use the index in MAILCO and NOEUCO to refer to a mesh or node. This index is often called position and noted POSMA/POSNO in routines (while the absolute number of the stitch or the knot is instead indicated by NUMMA/NUMNO).
5.3.1. Item PZONECO#
(o) '. CONTACT. PZONECO ': V I long = NZOCO +1
Access pointer to surfaces for each contact zone.
Number ISURF1de the first surface (master) for zone IZONE:
ISURF1 = ZI (JZONE + IZONE -1) +1
Number ISURF2de the second surface (slave) for zone IZONE:
ISURF2 = ZI (JZONE + IZONE)
Direct access routine (preferred):
SUBROUTINE CFZONE (DEFICO, IZONE, TYPSUR, ISURF)
IN DEFICO: SD OF DEFINITION OF CONTACT IN IZONE: NUMERO OF THE ZONE OF CONTACT IN TYPSUR: TYPE OF SURFACE “MAIT” “ESCL” OUT ISURF: NUMERO DANS THE SURFACE POUR ACCES PSUNOCO/PSUMACO
5.3.2. Objects PSUMACO/PSUNOCO#
(o) '. CONTACT. PSUMACO ': V I long = NSUCO +1
(o) '. CONTACT. PSUNOCO ': V I long = NSUCO +1
Access pointer to meshes/nodes on each contact surface. We point to objects MAILCOet NOEUCO.
Offset JDECMA in MAILCO for the first mesh of surface ISURF:
JDECMA = ZI (JSUMA + ISURF -1)
Offset JDECNO in NOEUCO for the first node in surface ISURF:
JDECNO = ZI (JSUNO + ISURF -1)
Number NBMAde meshes for surface ISURF:
NBMA = ZI (JSUMA + ISURF) — ZI (JSUMA + ISURF -1)
Number NBNOde knots for surface ISURF:
NBNO = ZI (JSUNO + ISURF) — ZI (JSUNO + ISURF -1)
To access a node or a mesh, we use the offsets given in PSUMACO/PSUNOCO to navigate MAILCOet NOEUCO. The integers (often denoted POSMAdans the code) contained in PSUMACOvarient between 1 and NMACO. The integers (often noted as the code POSNOdans) contained in PSUNOCOvarient between 1 and NNOCO.
Direct access routine (preferred):
SUBROUTINE CFNBSF (DEFICO, ISURF, TYPENT,, NBENT, JDEC)
IN DEFICO: SD OF DEFINITION OF CONTACT IN TYPENT: TYPE FROM ENTITE “NOEU” ACCES AUX NOEUDS ATTACHES A LA SURFACE “MAIL” ACCES AUX MAILLES ATTACHEES A LA SURFACE IN ISURF: NUMERO OF THE SURFACE OUT NBENT: NOMBRE OF ENTITES OUT JDEC: DECALAGE DANS LES VECTEURS POUR THE PREMIER OF THE SURFACE
5.3.3. Objects MAILCO/NOEUCO#
(o) '. CONTACT. MAILCO ': V I long = NMACO
(o) '. CONTACT. NOEUCO ': V I long = NNOCO
Give the absolute number of meshes/contact nodes. We point to the SD mesh objects.
These objects are accessed using the PSUMACO/PSUNOCO pointers.
Absolute number NUMMAde the I-th mesh on the surface of number ISURF:
NUMMA = ZI (JMACO + JDECMA -1+ ISURF)
Absolute number NUMNOdu I-th node of the surface of number ISURF:
NUMNO = ZI (JNOCO + JDECNO -1+ ISURF)
The integers (often denoted NUMMAdans the code) contained in MAILCOvarient between 1 and the total number of meshes in the mesh. The integers (often noted as NUMNOdans the code) contained in NOEUCOvarient between 1 and the total number of nodes in the mesh.
Direct access routines (preferred):
SUBROUTINE CFNUMM (DEFICO, NMA, POSNMA, NUMNMA)
IN DEFICO: SD FROM CONTACT (DEFINITION) IN NMA: NOMBRE OF MAILLES IN POSNMA: INDICES DANS MAILCO DES MAILLES OUT NUMNMA: NUMEROS ABSOLUS DES MAILLES DANS THE MAILLAGE
SUBROUTINE CFNUMN (DEFICO, NNO, POSNNO, NUMNNO)
IN DEFICO: SD FROM CONTACT (DEFINITION) IN NNO: NOMBRE OF NOEUDS IN POSNNO: INDICES DANS NOEUCO DES NOEUDS OUT NUMNNO: NUMEROS ABSOLUS DES NOEUDS DANS THE MAILLAGE
SUBROUTINE CFPOSN (DEFICO, POSMAI, POSNNO, NNOMAI)
IN DEFICO: SD FROM CONTACT (DEFINITION) IN POSMAI: INDICE OF THE MAILLE (DANS SD CONTACT) OUT POSNNO: INDICES DANS NOEUCO DES NOEUDS OUT NNOMAI: NOMBRE OF NOEUDS OF THE MAILLE (DANS LES SD OF CONTACT)
SUBROUTINE CFNOMM (NOMA, DEFICO, TYPENT,, POSENT, NOMENT)
IN NOMA: NOM FROM MAILLAGE IN DEFICO: SD OF DEFINITION OF CONTACT IN POSENT: POSITION FROM ENTITE DANS LES SD CONTACT IN TYPENT: TYPE FROM ENTITE <MAIL> MAILLE <NOEU> NOEUD OUT NOMENT: NOM OF THE ENTITE
5.3.4. Objects MANOCO/PMANOCO#
“. CONTACT. PMANOCO “: V I long = NNOCO +1
(o) '. CONTACT. MANOCO ': V I long = NMANO
Reverse connectivity is accessed via with MANOCO/PMANOCO objects. Reverse connectivity returns for a given node the meshes attached to it.
The PMANOCO object is indexed by the contact node number in NOEUCO (number given by PSUNOCO and often noted as POSNO in the code). The values in PMANOCO point to MANOCO, they vary between 1 and NMANO. The integers (often noted POSMA in the code) in MANOCO vary between 1 and NMACO (they point to MAILCO).
Offset JDEC in MANOCO from the first stitch attached to the node with number POSNO in CONTNO:
JDEC = ZI (JPOMA + POSNO -1)
Number NBMANOde stitches attached to the number POSNO knot in CONTNO:
NBMANO = ZI (JPOMA + POSNO) — ZI (JPOMA + POSNO -1)
Number POSMA in MAILCO of the I-th stitch attached to the knot of number POSNO in CONTNO:
POSMA = ZI (JMANO + JDEC -1+I)
Direct access routines (preferred):
SUBROUTINE CFNBEN (DEFICO, POSENT, TYPENT,, NBENT, JDECEN)
IN DEFICO: SD OF DEFINITION OF CONTACT IN POSENT: POSITION FROM ENTITE DANS LES SD CONTACT IN TYPENT: TYPE FROM ENTITE “CONINV” POSENT EST A NOEUD -> WE ACCEDE AUX MAILLES ATTACHEES AT THIS NOEUD (CONNECTIVITE INVERSE) “CONNEX” POSENT EST UNE MAILLE -> WE ACCEDE AUX NOEUDS ATTACHES A CETTE MAILLE (CONNECTIVITE DIRECTE) OUT NBENT: NOMBRE OF ENTITES ATTACHES OUT JDECEN: DECALAGE POUR TABLEAU
SUBROUTINE CFINVM (DEFICO, JDECIV, IMA, POSMA)
IN DEFICO: SD FROM CONTACT (DEFINITION)
IN IMA: NUMERO ORDRE FROM THE MAILLE DANS SD CONN. INVERSE.
IN JDECIV: DECALAGE POUR LECTURE DANS SD CONN. INVERSE.
OUT POSMA: POSITION OF THE MAILLE
5.3.5. Objects NOMACO/PNOMACO#
“. CONTACT. PNOMACO “: V I long = NMACO +1
(o) '. CONTACT. NOMACO ': V I long = NNOMA
The mesh connectivity is accessed via a dedicated object and not via the usual sd_mesh objects (like CONNEX). There is in fact a difference because of QUAD8dont we exclude the middle nodes from the contact (the QUAD8ne contact mesh therefore contains only 4 knots). In addition, connectivity has been reduced to the contact meshes, allowing for faster access.
The object PNOMACOest indexed by the contact mesh number in MAILCO (number given by PSUMACOet often referred to as the code POSMAdans). The values in PNOMACOpointent to NOMACO vary between 1 and NNOMA. The integers (often denoted POSNOdans the code) contained in NOMACOvarient between 1 and NNOCO (they point to NOEUCO).
Offset JDEC in NOMACO from the first node of the mesh number POSMA in MAILCO:
JDEC = ZI (JPONO + POSMA -1)
Number NBNOMAde knots for the mesh number POSMA in MAILCO:
NBNOMA = ZI (JPONO + POSMA) - ZI (JPONO + POSMA -1)
Number POSNO in NOEUCO of the I-th knot of the stitch number POSMA in MAILCO:
POSNO = ZI (JNOMA + JDEC -1+I)
Direct access routines (preferred):
SUBROUTINE CFNBEN (DEFICO, POSENT, TYPENT,, NBENT, JDECEN)
IN DEFICO: SD OF DEFINITION OF CONTACT IN POSENT: POSITION FROM ENTITE DANS LES SD CONTACT IN TYPENT: TYPE FROM ENTITE “CONINV” POSENT EST A NOEUD -> WE ACCEDE AUX MAILLES ATTACHEES AT THIS NOEUD (CONNECTIVITE INVERSE) “CONNEX” POSENT EST UNE MAILLE -> WE ACCEDE AUX NOEUDS ATTACHES A CETTE MAILLE (CONNECTIVITE DIRECTE) OUT NBENT: NOMBRE OF ENTITES ATTACHES OUT JDECEN: DECALAGE POUR TABLEAU
SUBROUTINE CFCONN (DEFICO, JDECNO, INO, POSNO)
IN DEFICO: SD FROM CONTACT (DEFINITION) IN INO: NUMERO ORDRE FROM NOEUD DANS TO SD CONN. IN JDECNO: DECALAGE POUR LECTURE DANS SD CONN. OUT POSNO: POSITION FROM NOEUD
5.4. Excluding knots/stitches#
5.4.1. Objects PSSNOCO/SSNOCO#
(f) '. CONTACT. PSSNOCO ': V I long = NZOCO +1
(f) '. CONTACT. SSNOCO ': V I long = STOCNO
Objects used to exclude nodes given by SANS_GROUP_NO/SANS_NO or SANS_GROUP_MA/SANS_MAILLE and valid for the formulations DISCRETE and CONTINUE. PSSNOCOest an indirection pointer to SSNOCO.
Offset JDEC in SSNOCOdu first node excluded for zone IZONE:
JDEC = ZI (JPSANS + IZONE -1)
Number NBEXNOde nodes excluded for zone IZONE:
NBEXNO = ZI (JPSANS + IZONE) — ZI (JPSANS + IZONE -1)
The absolute number of the node in the mesh is stored in SSNOCO at the index given by PSSNOCO.
5.5. Information on stitches and knots#
5.5.1. Item TYPENO#
(o) '. CONTACT. TYPENO ': V I long = ZTYPN * NNOCO
The object “. CONTACT. TYPENO “is indexed by the node number in NOEUCO (number given by PSUNOCOet often referred to as the code POSNOdans). It returns the node type: -1 if it is a slave, +1 if it is master, as well as the contact zone to which it belongs.
Direct access routines (preferred):
SUBROUTINE CFZONN (DEFICO, POSNO, IZONE)
IN DEFICO: SD FROM CONTACT (DEFINITION) IN POSNO: INDICE DANS NOEUCO OF THE NOEUD OUT IZONE: NUMERO OF THE ZONE
SUBROUTINE CFTYPN (DEFICO, POSNO, TYPNO)
IN DEFICO: SD FROM CONTACT (DEFINITION) IN POSNO: INDICE DANS NOEUCO OF THE NOEUD OUT TYPNO: TYPE FROM NOEUD “MAIT” OR “ESCL”
5.5.2. Item TYPEMA#
(o) '. CONTACT. TYPEMA ': V I long = ZTYPM * NMACO
The object “. CONTACT. TYPEMA “is indexed by the contact mesh number in MAILCO (number given by PSUMACOet often referred to as the code POSMAdans). It returns the mesh type: -1 if it is a slave, +1 if it is a master. It also serves as an access pointer to object MAESCL by providing the index INDMAE of a slave cell within the set of grouped slave cells.
Direct access routine (preferred):
SUBROUTINE CFTYPM (DEFICO, POSMA, TYPMA)
IN DEFICO: SD FROM CONTACT (DEFINITION) IN POSMA: INDICE DANS MAILCO FROM THE MAILLE OUT TYPMA: TYPE OF THE MAILLE “MAIT” OR “ESCL”
5.5.3. Item MAESCL#
(o) '. CONTACT. MAESCL ': V I long = ZMAES * NTMAE
Object accessed using the TYPEMA pointer.
The table is constructed by grouping together all the slave cells of all the zones. From MAESCL (1) to MAESCL (NBMAE (1)), we have all the slave cells of the first contact zone, then from MAESCL (NBMAE (1) +1) to MAESCL (NBMAE (2)), we have all the slave cells of the second contact zone, etc. The object TYPEMA provides such a clue and therefore serves as an access pointer to MAESCL.
This table returns various information on slave meshes (mainly in formulation CONTINUE).
Index on the slave mesh |
Description |
Question MMINFM |
1 |
Value of the mesh index in MAILCO |
No access |
2 |
Number of the zone to which the mesh belongs |
IZONE |
3 |
Number of integration points |
NPTM |
4 |
NDEXFR |