Télécharger @clmi2c.procedur

Retour à la liste

Numérotation des lignes :

  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.  
  225.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales