1 : * CONTSEG3 PROCEDUR CHAT 98/11/20 21:16:50 3371 2 : 'DEBPROC' CONTSEG3 L1*'MAILLAGE' L2*'MAILLAGE'; 3 : aa = 'VALEUR' 'MODE'; 4 : typ_elem = 'VALE' 'ELEM'; 5 : 'SI' ( 'EGA' aa 'TRID'); 6 : 'MESS' ' This procedur does not work in 3.D analysis'; 7 : 'QUITTER' CONTSEG3; 8 : 'FINSI'; 9 : MX = 'MOT' 'UX'; 10 : MY = 'MOT' 'UY'; 11 : 'SI' ( 'EGA' aa 'AXIS'); 12 : MX= 'MOT' 'UR' ; 13 : MY= 'MOT' 'UZ'; 14 : 'FINSI'; 15 : 'SI' ( 'EGA' aa 'FOUR'); 16 : MX= 'MOT' 'UR' ; 17 : MY= 'MOT' 'UZ'; 18 : 'FINSI'; 19 : * Cette procédure permet d'adapter un maillage dont les lignes L1 et L2 à 20 : * mettre en contact sont formées d'éléments SEG3, à l'utilisation de 21 : * l'opérateur IMPO. 22 : * En entrée : deux lignes de contact SEG3 issues du maillage 23 : * En sortie : une rigidité à ajouter aux conditions aux limites (on impose 24 : * un déplacement du noeud milieu de chaque élément de la ligne de contact 25 : * égal à la moyenne des déplacements des deux noeuds coins de cet élément) 26 : * et deux lignes de contact SEG2 à utiliser dans IMPO. 27 : * Les deux lignes SEG3, comme dans le cas où IMPO est utilisé sans la présente 28 : * procédure, doivent être orientées en sens opposés. 29 : 30 : * Première ligne de contact 31 : 32 : EL1= L1 'ELEM' 1; 33 : LP1= 'CHAN' EL1 'POI1'; 34 : N1= LP1 'POIN' 1; N2= LP1 'POIN' 2; N3= LP1 'POIN' 3; 35 : RIGX1= 'RELA' 1 MX N1 - 2 MX N2 + 1 MX N3; 36 : RIGY1= 'RELA' 1 MY N1 - 2 MY N2 + 1 MY N3; 37 : 'OPTI' 'ELEM' 'SEG2'; 38 : LIG1= N1 'DROI' 1 N3; 39 : 40 : NBEL1= 'NBEL' L1; 41 : 'SI' ( NBEL1 > 1) ; 42 : 'REPETER' BOU3 (NBEL1 - 1); 43 : EL1= L1 'ELEM' (&BOU3 + 1); 44 : LP1= 'CHAN' EL1 'POI1'; 45 : N1= LP1 'POIN' 1; N2= LP1 'POIN' 2; N3= LP1 'POIN' 3; 46 : RIGX1= RIGX1 'ET' ('RELA' 1 MX N1 - 2 MX N2 + 1 MX N3); 47 : RIGY1= RIGY1 'ET' ('RELA' 1 MY N1 - 2 MY N2 + 1 MY N3); 48 : LIG1= LIG1 'ET' (N1 'DROI' 1 N3); 49 : 'FIN' BOU3; 50 : 'FINSI'; 51 : 52 : RIG1= RIGX1 'ET' RIGY1; 53 : 54 : * Seconde ligne de contact 55 : 56 : EL2= L2 'ELEM' 1; 57 : LP2= 'CHAN' EL2 'POI1'; 58 : N1= LP2 'POIN' 1; N2= LP2 'POIN' 2; N3= LP2 'POIN' 3; 59 : RIGX2= 'RELA' 1 MX N1 - 2 MX N2 + 1 MX N3; 60 : RIGY2= 'RELA' 1 MY N1 - 2 MY N2 + 1 MY N3; 61 : LIG2= N1 'DROI' 1 N3; 62 : 63 : NBEL2= 'NBEL' L2; 64 : 'SI' (NBEL2 > 1); 65 : 'REPETER' BOU4 (NBEL2 - 1); 66 : EL2= L2 'ELEM' (&BOU4 + 1); 67 : LP2= 'CHAN' EL2 'POI1'; 68 : N1= LP2 'POIN' 1; N2= LP2 'POIN' 2; N3= LP2 'POIN' 3; 69 : RIGX2= RIGX2 'ET' ('RELA' 1 MX N1 - 2 MX N2 + 1 MX N3); 70 : RIGY2= RIGY2 'ET' ('RELA' 1 MY N1 - 2 MY N2 + 1 MY N3); 71 : LIG2= LIG2 'ET' (N1 'DROI' 1 N3); 72 : 'FIN' BOU4; 73 : 'FINSI'; 74 : RIG2= RIGX2 'ET' RIGY2; 75 : RIG12= RIG1 'ET' RIG2; 76 : 'OPTI' 'ELEM' TYP_ELEM; 77 : 78 : 'FINPROC' RIG12 LIG1 LIG2; 79 : 80 :
© Cast3M 2003 - All rights reserved.
Disclaimer