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:

  1. The index;

  2. A description;

  3. The keyword (s) concerned in DEFI_CONTACT;

  4. 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#

  1. “. 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#

  1. “. 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#

  1. “. 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

Element whose nodes are excluded by SANS_ *_FR

NDEXFR