Contact definition structure ================================== .. code-block:: text sd_contact (K8): := record /FORMULATION = all .. code-block:: text (o) '. CHME. MODEL. NOMO ': V K8 long = 1 (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') (o) '. CONTACT. NDIMCO ': V I long = ZDIME /FORMULATION = meshed ('DISCRETE' or 'CONTINUE') .. code-block:: text (o) '. CONTACT. METHCO ': V I long = ZMETH * NZOCO (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 .. code-block:: text (o) '. CONTACT. TYPENO ': V I long = ZTYPN * NNOCO (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 (f) '. 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 (o) '. 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: .. code-block:: text 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.