Télécharger @cldhc.procedur

Retour à la liste

Numérotation des lignes :

  1. * @CLDHC PROCEDUR PV 13/06/11 21:15:00 7777
  2. ****************************************************
  3. *
  4. * PROCEDURE POUR APPLICATION DE DEF HOMOGENES
  5. * AU CONTOUR AVEC PILOTAGE EN CONTRAINTE
  6. *
  7. * L.GELEBART, G.TREGO 09/06
  8. ****************************************************
  9. ****************************************************
  10. DEBPROC @CLDHC 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. *
  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 homogene
  117. *====================================================
  118. ENVE1 = (SURFX0 ET SURFX1 ET SURFY0 ET SURFY1 ET SURFZ0 ET SURFZ1);
  119. elim 1.e-4 ENVE1;
  120. ENVE_PT1 = CHANGE ENVE1 POI1;
  121. B1 = ENVE_PT1 POIN PRoC (XMAX YMIN ZMIN);
  122. B2 = ENVE_PT1 POIN PRoC (XMIN YMAX ZMIN);
  123. B3 = ENVE_PT1 POIN PRoC (XMIN YMIN ZMAX);
  124. N0 = NBNO ENVE_PT1;
  125. *trac ENVE1 CACH;
  126. RIGCLP = BL0;
  127. i = 0;
  128. REPETE BOU0 (N0);
  129. i = i + 1;
  130. M0 = ENVE_PT1 POIN i;
  131. SI ((M0 NEG B1) ET (M0 NEG B2) ET (M0 NEG B3));
  132. RIGIX = RELA 1. UX M0 - (((coor 1 M0)-XMIN)/LX0) UX B1
  133. -(((coor 2 M0)-YMIN)/LY0) UX B2 - (((coor 3 M0)-ZMIN)/LZ0) UX B3;
  134. RIGIY = RELA 1. UY M0 - (((coor 1 M0)-XMIN)/LX0) UY B1
  135. -(((coor 2 M0)-YMIN)/LY0) UY B2 - (((coor 3 M0)-ZMIN)/LZ0) UY B3;
  136. RIGIZ = RELA 1. UZ M0 - (((coor 1 M0)-XMIN)/LX0) UZ B1
  137. -(((coor 2 M0)-YMIN)/LY0) UZ B2 - (((coor 3 M0)-ZMIN)/LZ0) UZ B3;
  138. RIGCLP = RIGCLP ET (RIGIX ET RIGIY ET RIGIZ);
  139. FINSI;
  140. FIN BOU0;
  141. FINPROC RIGCLP FCLP0;
  142. *******************************************************
  143. * FIN DE LA PROCEDURE CLDHC
  144. *******************************************************
  145.  
  146.  

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