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