Download @clmi2c.procedur

Back to the list

   1 : * @CLMI2C   PROCEDUR  PV        13/06/11    21:15:00     7777           
   2 : ****************************************************
   3 : ****************************************************
   4 : *
   5 : *  PROCEDURE POUR APPLICATION DE COND LIM MIXTES
   6 : *  TYPE II AVEC PILOTAGE EN CONTRAINTE
   7 : *
   8 : * L.GELEBART                         08/08
   9 : ****************************************************
  10 : ****************************************************
  11 : DEBPROC @CLMI2C MAIL0*MAILLAGE CONT0*TABLE;
  12 : SXX = CONT0 . 1; SYY = CONT0 . 2; SZZ = CONT0 . 3;
  13 : SXY = CONT0 . 4; SXZ = CONT0 . 5; SYZ = CONT0 . 6;
  14 : MOD0 = MODE MAIL0 MECANIQUE ELASTIQUE;
  15 : *  Identification des points et surfaces exterieures
  16 : *    pour application des CL
  17 : *=====================================================
  18 : ENVE0 = ENVE MAIL0;
  19 : elim0 = 1.e-4;
  20 : ENVE_PT0 = CHANGE ENVE0 POI1;
  21 : XMAX = MAXI (COOR 1 ENVE0);XMIN = MINI (COOR 1 ENVE0);
  22 : YMAX = MAXI (COOR 2 ENVE0);YMIN = MINI (COOR 2 ENVE0);
  23 : ZMAX = MAXI (COOR 3 ENVE0);ZMIN = MINI (COOR 3 ENVE0);
  24 : LX0 = XMAX - XMIN; LY0 = YMAX - YMIN; LZ0 = ZMAX - ZMIN;
  25 : PXMIN = ENVE_PT0 POIN 'PLAN'
  26 :  (XMIN 0. 0.) (XMIN 1. 0.) (XMIN 0. 1.) (LX0 * elim0);
  27 : PYMIN = ENVE_PT0 POIN 'PLAN'
  28 :  (0. YMIN 0.) (1. YMIN 0.) (0. YMIN 1.) (LY0 * elim0);
  29 : PZMIN = ENVE_PT0 POIN 'PLAN'
  30 :  (0. 0. ZMIN) (1. 0. ZMIN) (0. 1. ZMIN) (LZ0 * elim0);
  31 : PXMAX = ENVE_PT0 POIN 'PLAN'
  32 :  (XMAX 0. 0.) (XMAX 1. 0.) (XMAX 0. 1.) (LX0 * elim0);
  33 : PYMAX = ENVE_PT0 POIN 'PLAN'
  34 :  (0. YMAX 0.) (1. YMAX 0.) (0. YMAX 1.) (LY0 * elim0);
  35 : PZMAX = ENVE_PT0 POIN 'PLAN'
  36 :  (0. 0. ZMAX) (1. 0. ZMAX) (0. 1. ZMAX) (LZ0 * elim0);
  37 : *
  38 : SURFX0 = ENVE0 ELEM APPUYE STRICTEMENT PXMIN;
  39 : SURFY0 = ENVE0 ELEM APPUYE STRICTEMENT PYMIN;
  40 : SURFZ0 = ENVE0 ELEM APPUYE STRICTEMENT PZMIN;
  41 : SURFX1 = ENVE0 ELEM APPUYE STRICTEMENT PXMAX;
  42 : SURFY1 = ENVE0 ELEM APPUYE STRICTEMENT PYMAX;
  43 : SURFZ1 = ENVE0 ELEM APPUYE STRICTEMENT PZMAX;
  44 : *
  45 : A1 = ENVE_PT0 POIN PROC (XMIN YMIN ZMIN);
  46 : A2 = ENVE_PT0 POIN PROC (XMAX YMIN ZMIN);
  47 : A4 = ENVE_PT0 POIN PROC (XMIN YMAX ZMIN);
  48 : *
  49 : SX00 = LY0 * LZ0;
  50 : SX0 = MESU SURFX0; 
  51 : SX1 = MESU SURFX1; 
  52 : SY00 = LX0 * LZ0;
  53 : SY0 = MESU SURFY0; 
  54 : SY1 = MESU SURFY1; 
  55 : SZ00 = LX0 * LY0;
  56 : SZ0 = MESU SURFZ0; 
  57 : SZ1 = MESU SURFZ1; 
  58 : *trac SURFZ0;
  59 : MESSAGE 'SX00 = ' SX00;
  60 : MESSAGE 'SX0 = ' SX0;
  61 : MESSAGE 'SX1 = ' SX1;
  62 : MESSAGE 'SY00 = ' SY00;
  63 : MESSAGE 'SY0 = ' SY0;
  64 : MESSAGE 'SY1 = ' SY1;
  65 : MESSAGE 'SZ00 = ' SZ00;
  66 : MESSAGE 'SZ0 = ' SZ0;
  67 : MESSAGE 'SZ1 = ' SZ1;
  68 : *
  69 : *  Application des contraintes
  70 : *================================
  71 : test = 0;
  72 : SI ((SXZ NEG 0.) OU (SYZ NEG 0.) OU (SZZ NEG 0.));
  73 : FZ1 = FSUR MASS MOD0 SURFZ1 (SXZ SYZ SZZ);
  74 : FZ0 = FSUR MASS MOD0 SURFZ0 
  75 :          ((0. - SXZ) (0. - SYZ) (0. - SZZ));
  76 : FZ0 = FZ0 * (SZ00 / SZ0);
  77 : FZ1 = FZ1 * (SZ00 / SZ1);
  78 : FCLP0 = FZ0 ET FZ1;
  79 : test=1;
  80 : FINSI;
  81 : *
  82 : SI ((SXY NEG 0.) OU (SYY NEG 0.) OU (SYZ NEG 0.));
  83 : FY1 = FSUR MASS MOD0 SURFY1 (SXY SYY SYZ);
  84 : FY0 = FSUR MASS MOD0 SURFY0 
  85 :          ((0. - SXY) (0. - SYY) (0. - SYZ));
  86 : FY0 = FY0 * (SY00 / SY0);
  87 : FY1 = FY1 * (SY00 / SY1);
  88 : SI (test EGA 1); 
  89 : FCLP0 = FCLP0 ET (FY0 ET FY1);
  90 : SINON;
  91 : FCLP0 = FY0 ET FY1;
  92 : test=1;
  93 : FINSI;
  94 : FINSI;
  95 : *
  96 : SI ((SXX NEG 0.) OU (SXY NEG 0.) OU (SXZ NEG 0.));
  97 : FX1 = FSUR MASS MOD0 SURFX1 (SXX SXY SXZ);
  98 : FX0 = FSUR MASS MOD0 SURFX0 
  99 :          ((0. - SXX) (0. - SXY) (0. - SXZ));
 100 : FX0 = FX0 * (SX00 / SX0);
 101 : FX1 = FX1 * (SX00 / SX1);
 102 : SI (test EGA 1); 
 103 : FCLP0 = FCLP0 ET (FX0 ET FX1);
 104 : SINON;
 105 : FCLP0 = FX0 ET FX1;
 106 : FINSI;
 107 : FINSI;
 108 : *
 109 : *  Blocage du mvt de corps rigide
 110 : *===========================================
 111 : BL1 = BLOQUE UX UY UZ A1;
 112 : BL2 = BLOQUE UY UZ A2;
 113 : BL3 = BLOQUE UZ A4;
 114 : BL0 = BL1 ET (BL2 ET BL3); 
 115 : *BL0 = @CORIGI ENVE0;
 116 : *
 117 : *  Application des conditions de deformation TANGEANTIELLE homogene
 118 : *=============================================================
 119 : *
 120 : ENVE1 = (SURFX0 ET SURFX1 ET SURFY0 ET SURFY1 ET SURFZ0 ET SURFZ1);
 121 : elim 1.e-4  ENVE1;
 122 : ENVE_PT1 = CHANGE ENVE1 POI1;
 123 : B1 = ENVE_PT1 POIN PROC (XMAX YMIN ZMIN);
 124 : B2 = ENVE_PT1 POIN PROC (XMIN YMAX ZMIN);
 125 : B3 = ENVE_PT1 POIN PROC (XMIN YMIN ZMAX);
 126 : N0 = NBNO ENVE_PT1;
 127 : *trac ENVE1 CACH;
 128 : RIGCLP = BL0;
 129 : *
 130 : SURFXPT0 = CHANGE SURFX0 POI1;
 131 : N0 = NBNO SURFX0;
 132 : i = 0;
 133 : REPETE BOUX0 (N0);
 134 : i = i + 1;
 135 : M0 = SURFXPT0 POIN i;
 136 : SI ((M0 NEG B1) ET (M0 NEG B2) ET (M0 NEG B3));
 137 : RIGIY = RELA 1. UY M0 - (((coor 1 M0)-XMIN)/LX0) UY B1 
 138 : -(((coor 2 M0)-YMIN)/LY0) UY B2 - (((coor 3 M0)-ZMIN)/LZ0) UY B3;
 139 : RIGIZ = RELA 1. UZ M0 - (((coor 1 M0)-XMIN)/LX0) UZ B1 
 140 : -(((coor 2 M0)-YMIN)/LY0) UZ B2 - (((coor 3 M0)-ZMIN)/LZ0) UZ B3;
 141 : RIGCLP = RIGCLP ET (RIGIY ET RIGIZ);
 142 : FINSI;
 143 : FIN BOUX0;
 144 : *
 145 : SURFXPT1 = CHANGE SURFX1 POI1;
 146 : N0 = NBNO SURFX1; 
 147 : i = 0;
 148 : REPETE BOUX1 (N0);
 149 : i = i + 1;
 150 : M0 = SURFXPT1 POIN i;
 151 : SI ((M0 NEG B1) ET (M0 NEG B2) ET (M0 NEG B3));
 152 : RIGIY = RELA 1. UY M0 - (((coor 1 M0)-XMIN)/LX0) UY B1 
 153 : -(((coor 2 M0)-YMIN)/LY0) UY B2 - (((coor 3 M0)-ZMIN)/LZ0) UY B3;
 154 : RIGIZ = RELA 1. UZ M0 - (((coor 1 M0)-XMIN)/LX0) UZ B1 
 155 : -(((coor 2 M0)-YMIN)/LY0) UZ B2 - (((coor 3 M0)-ZMIN)/LZ0) UZ B3;
 156 : RIGCLP = RIGCLP ET (RIGIY ET RIGIZ);
 157 : FINSI;
 158 : FIN BOUX1;
 159 : *
 160 : SURFYPT0 = CHANGE SURFY0 POI1;
 161 : N0 = NBNO SURFY0;
 162 : i = 0;
 163 : REPETE BOUY0 (N0);
 164 : i = i + 1;
 165 : M0 = SURFYPT0 POIN i;
 166 : SI ((M0 NEG B1) ET (M0 NEG B2) ET (M0 NEG B3));
 167 : RIGIX = RELA 1. UX M0 - (((coor 1 M0)-XMIN)/LX0) UX B1 
 168 : -(((coor 2 M0)-YMIN)/LY0) UX B2 - (((coor 3 M0)-ZMIN)/LZ0) UX B3;
 169 : RIGIZ = RELA 1. UZ M0 - (((coor 1 M0)-XMIN)/LX0) UZ B1 
 170 : -(((coor 2 M0)-YMIN)/LY0) UZ B2 - (((coor 3 M0)-ZMIN)/LZ0) UZ B3;
 171 : RIGCLP = RIGCLP ET (RIGIX ET RIGIZ);
 172 : FINSI;
 173 : FIN BOUY0;
 174 : *
 175 : SURFYPT1 = CHANGE SURFY1 POI1;
 176 : N0 = NBNO SURFY1;
 177 : i = 0;
 178 : REPETE BOUY1 (N0);
 179 : i = i + 1;
 180 : M0 = SURFYPT1 POIN i;
 181 : SI ((M0 NEG B1) ET (M0 NEG B2) ET (M0 NEG B3));
 182 : RIGIX = RELA 1. UX M0 - (((coor 1 M0)-XMIN)/LX0) UX B1 
 183 : -(((coor 2 M0)-YMIN)/LY0) UX B2 - (((coor 3 M0)-ZMIN)/LZ0) UX B3;
 184 : RIGIZ = RELA 1. UZ M0 - (((coor 1 M0)-XMIN)/LX0) UZ B1 
 185 : -(((coor 2 M0)-YMIN)/LY0) UZ B2 - (((coor 3 M0)-ZMIN)/LZ0) UZ B3;
 186 : RIGCLP = RIGCLP ET (RIGIX ET RIGIZ);
 187 : FINSI;
 188 : FIN BOUY1;
 189 : *
 190 : SURFZPT0 = CHANGE SURFZ0 POI1;
 191 : N0 = NBNO SURFZ0;
 192 : i = 0;
 193 : REPETE BOUZ0 (N0);
 194 : i = i + 1;
 195 : M0 = SURFZPT0 POIN i;
 196 : SI ((M0 NEG B1) ET (M0 NEG B2) ET (M0 NEG B3));
 197 : RIGIX = RELA 1. UX M0 - (((coor 1 M0)-XMIN)/LX0) UX B1 
 198 : -(((coor 2 M0)-YMIN)/LY0) UX B2 - (((coor 3 M0)-ZMIN)/LZ0) UX B3;
 199 : RIGIY = RELA 1. UY M0 - (((coor 1 M0)-XMIN)/LX0) UY B1 
 200 : -(((coor 2 M0)-YMIN)/LY0) UY B2 - (((coor 3 M0)-ZMIN)/LZ0) UY B3;
 201 : RIGCLP = RIGCLP ET (RIGIX ET RIGIY);
 202 : FINSI;
 203 : FIN BOUZ0;
 204 : *
 205 : SURFZPT1 = CHANGE SURFZ1 POI1;
 206 : N0 = NBNO SURFZ1;
 207 : i = 0;
 208 : REPETE BOUZ1 (N0);
 209 : i = i + 1;
 210 : M0 = SURFZPT1 POIN i;
 211 : SI ((M0 NEG B1) ET (M0 NEG B2) ET (M0 NEG B3));
 212 : RIGIX = RELA 1. UX M0 - (((coor 1 M0)-XMIN)/LX0) UX B1 
 213 : -(((coor 2 M0)-YMIN)/LY0) UX B2 - (((coor 3 M0)-ZMIN)/LZ0) UX B3;
 214 : RIGIY = RELA 1. UY M0 - (((coor 1 M0)-XMIN)/LX0) UY B1 
 215 : -(((coor 2 M0)-YMIN)/LY0) UY B2 - (((coor 3 M0)-ZMIN)/LZ0) UY B3;
 216 : RIGCLP = RIGCLP ET (RIGIX ET RIGIY);
 217 : FINSI;
 218 : FIN BOUZ1;
 219 : *
 220 : FINPROC RIGCLP FCLP0;
 221 : *******************************************************
 222 : * FIN DE LA PROCEDURE CLMI2C
 223 : *******************************************************
 224 :  

© Cast3M 2003 - All rights reserved.
Disclaimer