Télécharger @clmi1c.procedur

Retour à la liste

Numérotation des lignes :

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

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