$$$$ CONTSEG3 * CONTSEG3 PROCEDUR CHAT 98/11/20 21:16:50 3371 'DEBPROC' CONTSEG3 L1*'MAILLAGE' L2*'MAILLAGE'; aa = 'VALEUR' 'MODE'; typ_elem = 'VALE' 'ELEM'; 'SI' ( 'EGA' aa 'TRID'); 'MESS' ' This procedur does not work in 3.D analysis'; 'QUITTER' CONTSEG3; 'FINSI'; MX = 'MOT' 'UX'; MY = 'MOT' 'UY'; 'SI' ( 'EGA' aa 'AXIS'); MX= 'MOT' 'UR' ; MY= 'MOT' 'UZ'; 'FINSI'; 'SI' ( 'EGA' aa 'FOUR'); MX= 'MOT' 'UR' ; MY= 'MOT' 'UZ'; 'FINSI'; * Cette procédure permet d'adapter un maillage dont les lignes L1 et L2 à * mettre en contact sont formées d'éléments SEG3, à l'utilisation de * l'opérateur IMPO. * En entrée : deux lignes de contact SEG3 issues du maillage * En sortie : une rigidité à ajouter aux conditions aux limites (on impose * un déplacement du noeud milieu de chaque élément de la ligne de contact * égal à la moyenne des déplacements des deux noeuds coins de cet élément) * et deux lignes de contact SEG2 à utiliser dans IMPO. * Les deux lignes SEG3, comme dans le cas où IMPO est utilisé sans la présente * procédure, doivent être orientées en sens opposés. * Première ligne de contact EL1= L1 'ELEM' 1; LP1= 'CHAN' EL1 'POI1'; N1= LP1 'POIN' 1; N2= LP1 'POIN' 2; N3= LP1 'POIN' 3; RIGX1= 'RELA' 1 MX N1 - 2 MX N2 + 1 MX N3; RIGY1= 'RELA' 1 MY N1 - 2 MY N2 + 1 MY N3; 'OPTI' 'ELEM' 'SEG2'; LIG1= N1 'DROI' 1 N3; NBEL1= 'NBEL' L1; 'SI' ( NBEL1 > 1) ; 'REPETER' BOU3 (NBEL1 - 1); EL1= L1 'ELEM' (&BOU3 + 1); LP1= 'CHAN' EL1 'POI1'; N1= LP1 'POIN' 1; N2= LP1 'POIN' 2; N3= LP1 'POIN' 3; RIGX1= RIGX1 'ET' ('RELA' 1 MX N1 - 2 MX N2 + 1 MX N3); RIGY1= RIGY1 'ET' ('RELA' 1 MY N1 - 2 MY N2 + 1 MY N3); LIG1= LIG1 'ET' (N1 'DROI' 1 N3); 'FIN' BOU3; 'FINSI'; RIG1= RIGX1 'ET' RIGY1; * Seconde ligne de contact EL2= L2 'ELEM' 1; LP2= 'CHAN' EL2 'POI1'; N1= LP2 'POIN' 1; N2= LP2 'POIN' 2; N3= LP2 'POIN' 3; RIGX2= 'RELA' 1 MX N1 - 2 MX N2 + 1 MX N3; RIGY2= 'RELA' 1 MY N1 - 2 MY N2 + 1 MY N3; LIG2= N1 'DROI' 1 N3; NBEL2= 'NBEL' L2; 'SI' (NBEL2 > 1); 'REPETER' BOU4 (NBEL2 - 1); EL2= L2 'ELEM' (&BOU4 + 1); LP2= 'CHAN' EL2 'POI1'; N1= LP2 'POIN' 1; N2= LP2 'POIN' 2; N3= LP2 'POIN' 3; RIGX2= RIGX2 'ET' ('RELA' 1 MX N1 - 2 MX N2 + 1 MX N3); RIGY2= RIGY2 'ET' ('RELA' 1 MY N1 - 2 MY N2 + 1 MY N3); LIG2= LIG2 'ET' (N1 'DROI' 1 N3); 'FIN' BOU4; 'FINSI'; RIG2= RIGX2 'ET' RIGY2; RIG12= RIG1 'ET' RIG2; 'OPTI' 'ELEM' TYP_ELEM; 'FINPROC' RIG12 LIG1 LIG2;