2. Contact definition structure#
sd_contact (K8): := record
/FORMULATION = all
(o) “. CONTACT. PARACI “: V I long = ZPARI (o) “. CONTACT. PARACR “: V R long = ZPARR (o) “. TYPE “: V K8 long = 1
/FORMULATION = “LIAISON_UNIL”
(o) “. UNILATE. NDIMCU “: V I long = 2 (o) “. UNILATE. CMPGCU “: V K8 long = NCMPG (o) “. UNILATE. COED “: V K8 long = NNOCU (o) “. UNILATE. COEG “: V K8 long = NCMPG (o) “. UNILATE. LISNOE “: V I long = NNOCU (o) “. UNILATE. POINOE “: V I long = NNOCU +1 (o) “. UNILATE. COEFPE “: V long = NNOCU
/FORMULATION = one-sided contact (“DISCRETE” or “” or “CONTINUE” or “XFEM”)
“. CONTACT. NDIMCO “: V I long = ZDIME
/FORMULATION = meshed (“DISCRETE” or “CONTINUE”)
(o) “. CONTACT. DIRAPP “: V K8 long = 3* NZOCO (o) “. CONTACT. DIRNOR “: V K8 long = ZDIRN * NZOCO (o) “. CONTACT. JFO1CO “: V K8 long = NZOCO (o) “. CONTACT. JFO2CO “: V K8 long = NZOCO (o) “. CONTACT. TOLECO “: V R long = ZTOLE * NZOCO (o) “. CONTACT. JEUCOQ “: V R long = NMACO (o) “. CONTACT. JEUPOU “: V R long = NMACO
(o) “. CONTACT. PZONECO “: V I long = NZOCO +1 (o) “. CONTACT. PSUMACO “: V I long = NSUCO +1 (o) “. CONTACT. PSUNOCO “: V I long = NSUCO +1 (o) “. CONTACT. MAILCO “: V I long = NMACO (o) “. CONTACT. NOEUCO “: V I long = NNOCO (o) “. CONTACT. MANOCO “: V I long = NMANO (o) “. CONTACT. PMANOCO “: V I long = 1+ NNOCO (o) “. CONTACT. NOMACO “: V I long = NNOMA (o) “. CONTACT. PNOMACO “: V I long = 1+ NMACO
(f) “. CONTACT. PSSNOCO “: V I long = 1+ NZOCO (f) “. CONTACT. SSNOCO “: V I long = STOCNO
(o) “. CONTACT. TYPEMA “: V I long = ZTYPM * NMACO (o) “. CONTACT. MAESCL “: V I long = ZMAES * NTMAE
/FORMULATION = “DISCRETE” (o) “. CONTACT. CARADF “: V R long = ZCMDF * NZOCO
“. CHME “: V sd_char_meca
/FORMULATION = “CONTINUE” (o) “. CONTACT. CARACF “: V R long = ZCMCF * NZOCO (f) “. CONTACT. PSANOFR “: V I long = 1+ NZOCO (f) “. CONTACT. SANOFR “: V I long = STOCNO (f) “. CONTACT. EXCLFR “: V R long = ZEXCL * NZOCO
“. CHME. LIGRE “: V sd_ligrel
/FORMULATION = “XFEM” (o) “. CONTACT. CARAXF “: V R long = ZCMXF * NZOCO (o) “. CONTACT. MODELX “: V K8 long = 1 (o) “. CONTACT. XFIMAI “: V K8 long = NZOCO (o) “. CONTACT. XNRELL “: V K24 long = NFIS (o) “. CONTACT. MAESCX “: V I long = ZMESX * NTMAE
The length of the SDs for the contact is stored in routine FORTRAN CFMMVD. The call is simple:
ZDIME = CFMMVD ('ZDIME')
For example, ZDIMEdonne the length of the object DEFICO (1:16) //”. NDIMCO “. When the SD is multi-zone, the value ZLONGretournée by CFMMVDest is a multiplier (the total length of the object is then equal to NZOCO * ZLONGavec NZOCO the number of zones in contact). Any change in the length of contact SDs must go through this utility. Care should be taken to simultaneously reflect the change in sd_contact.py.