Download contseg3.procedur

Back to the list

   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