Télécharger @keff.procedur

Retour à la liste

Numérotation des lignes :

  1. * @KEFF PROCEDUR PV 09/12/23 21:15:07 6590
  2. *23456789123456789123456789123456789123456789123456789123456789123456789
  3. ************************************************************************
  4. ************************************************************************
  5. *
  6. * PROCEDURE DE CALCUL DU COMPOPRTEMENT EFFECTIF D'UNE MICROSTRUTURE
  7. *
  8. * L. GELEBART 25/09/2008
  9. *
  10. ************************************************************************
  11. ************************************************************************
  12. DEBPROC @KEFF MOD1*MMODEL MAT1*MCHAML CLIM1*PROCEDUR AMPL1*FLOTTANT
  13. CONV1*ENTIER VISU1*TABLE;
  14. *
  15. *PCLIM1 = MOT CLIM1;
  16. MAIL1 = MOD1 EXTR 'MAIL';
  17. AMPL2 = AMPL1 * 1.e-6;
  18. *
  19. * DEFINITION DES 6 CHARGEMENTS
  20. *===================================================
  21. ETAB = TABLE;
  22. ETAB . 1 = TABLE;
  23. ETAB . 1 . 1 = AMPL1; ETAB . 1 . 2 = AMPL2; ETAB . 1 . 3 = AMPL2;
  24. ETAB . 1 . 4 = AMPL2; ETAB . 1 . 5 = AMPL2; ETAB . 1 . 6 = AMPL2;
  25. ETAB . 2 = TABLE;
  26. ETAB . 2 . 1 = AMPL2; ETAB . 2 . 2 = AMPL1; ETAB . 2 . 3 = AMPL2;
  27. ETAB . 2 . 4 = AMPL2; ETAB . 2 . 5 = AMPL2; ETAB . 2 . 6 = AMPL2;
  28. ETAB . 3 = TABLE;
  29. ETAB . 3 . 1 = AMPL2; ETAB . 3 . 2 = AMPL2; ETAB . 3 . 3 = AMPL1;
  30. ETAB . 3 . 4 = AMPL2; ETAB . 3 . 5 = AMPL2; ETAB . 3 . 6 = AMPL2;
  31. ETAB . 4 = TABLE;
  32. ETAB . 4 . 1 = AMPL2; ETAB . 4 . 2 = AMPL2; ETAB . 4 . 3 = AMPL2;
  33. ETAB . 4 . 4 = AMPL1; ETAB . 4 . 5 = AMPL2; ETAB . 4 . 6 = AMPL2;
  34. ETAB . 5 = TABLE;
  35. ETAB . 5 . 1 = AMPL2; ETAB . 5 . 2 = AMPL2; ETAB . 5 . 3 = AMPL2;
  36. ETAB . 5 . 4 = AMPL2; ETAB . 5 . 5 = AMPL1; ETAB . 5 . 6 = AMPL2;
  37. ETAB . 6 = TABLE;
  38. ETAB . 6 . 1 = AMPL2; ETAB . 6 . 2 = AMPL2; ETAB . 6 . 3 = AMPL2;
  39. ETAB . 6 . 4 = AMPL2; ETAB . 6 . 5 = AMPL2; ETAB . 6 . 6 = AMPL1;
  40. *
  41. * INITIALISATIONS
  42. *===================================================
  43. * Systeme lineaire
  44. *-------------------
  45. KSL0 = TABLE; KSL1 = TABLE;
  46. VSL0 = TABLE; VSL1 = TABLE;
  47. I0 = 0;
  48. REPETE BOUI0 36;
  49. I0 = I0 + 1;
  50. VSL0 . I0 = 0.; VSL1 . I0 = 0.;
  51. KSL0 . I0 = TABLE; KSL1 . I0 = TABLE;
  52. J0 = 0;
  53. REPETE BOUJ0 36;
  54. J0 = J0 + 1;
  55. KSL0 . I0 . J0 = 0.;KSL1 . I0 . J0 = 0.;
  56. FIN BOUJ0;
  57. FIN BOUI0;
  58. * tables de sortie (contraintes et deformations moyennes)
  59. *----------------------------------------------------------
  60. C = TABLE;
  61. C . 1 = TABLE; C . 2 = TABLE; C . 3 = TABLE;
  62. C . 4 = TABLE; C . 5 = TABLE; C . 6 = TABLE;
  63. *
  64. *
  65. D = TABLE;
  66. D . 1 = TABLE; D . 2 = TABLE; D . 3 = TABLE;
  67. D . 4 = TABLE; D . 5 = TABLE; D . 6 = TABLE;
  68. *
  69. * BOUCLE SUR LES CHARGEMENTS
  70. *===================================================
  71. I = 0;
  72. REPETER CHGT 6;
  73. I = I + 1;
  74. ETAB1 = TABLE (ETAB . I);
  75. RIG1 FTOT1 = CLIM1 MAIL1 ETAB1;
  76. *K = 0.; QUITTER @KEFF;
  77. *
  78. * CALCUL ELASTIQUE
  79. *-------------------------------
  80. RIGMAT = RIGI MOD1 MAT1;
  81. KTOT1 = RIGMAT ET RIG1;
  82. DEP1 = RESOU KTOT1 FTOT1;
  83. DEFO0 = DEFO DEP1 MAIL1 0.;
  84. DEFO1 = DEFO DEP1 MAIL1 1. ROUGE;
  85. SI ((VISU1 . 1) EGA 1);
  86. trac (DEFO0 ET DEFO1) CACH;
  87. FINSI;
  88. *
  89. DEF1 = EPSI MOD1 DEP1;
  90. SIG1 = SIGMA MOD1 MAT1 DEP1;
  91. SI ((VISU1 . 2) EGA 1);
  92. TRAC MOD1 SIG1;
  93. FINSI;
  94. SI ((VISU1 . 3) EGA 1);
  95. TRAC MOD1 DEF1;
  96. FINSI;
  97. *
  98. * POST-TRAITEMENT
  99. * (contraintes et deformation moyennes)
  100. *-------------------------------
  101. V1 = MESU MAIL1;
  102. *
  103. SXX1 = (INTG SIG1 MOD1 SMXX) / V1;
  104. SYY1 = (INTG SIG1 MOD1 SMYY) / V1;
  105. SZZ1 = (INTG SIG1 MOD1 SMZZ) / V1;
  106. SXY1 = (INTG SIG1 MOD1 SMXY) / V1;
  107. SXZ1 = (INTG SIG1 MOD1 SMXZ) / V1;
  108. SYZ1 = (INTG SIG1 MOD1 SMYZ) / V1;
  109. *
  110. EXX1 = (INTG DEF1 MOD1 EPXX) / V1;
  111. EYY1 = (INTG DEF1 MOD1 EPYY) / V1;
  112. EZZ1 = (INTG DEF1 MOD1 EPZZ) / V1;
  113. EXY1 = (INTG DEF1 MOD1 GAXY) / (2 * V1);
  114. EYZ1 = (INTG DEF1 MOD1 GAYZ) / (2 * V1);
  115. EXZ1 = (INTG DEF1 MOD1 GAXZ) / (2 * V1);
  116. *
  117. * ECRITURE DES RESULTATS DANS DES TABLES (pour les 6 chargements)
  118. *-----------------------------------------------------------------
  119. C . 1 . I = SXX1;
  120. C . 2 . I = SYY1;
  121. C . 3 . I = SZZ1;
  122. C . 4 . I = SXY1;
  123. C . 5 . I = SXZ1;
  124. C . 6 . I = SYZ1;
  125. *
  126. D . 1 . I = EXX1;
  127. D . 2 . I = EYY1;
  128. D . 3 . I = EZZ1;
  129. D . 4 . I = EXY1;
  130. D . 5 . I = EXZ1;
  131. D . 6 . I = EYZ1;
  132. *
  133. * DEFINITION DU SYTEME LINEAIRE 36*36
  134. *-------------------------------------
  135. * !!! mauvais arrangement des equationr pour RESO
  136. *
  137. SI (CONV1 EGA 0);
  138. EXY2 = 2. * EXY1; EXZ2 = 2. * EXZ1; EYZ2 = 2. * EYZ1;
  139. SXY2 = SXY1; SXZ2 = SXZ1; SYZ2 = SYZ1;
  140. FINSI;
  141. SI (CONV1 EGA 1);
  142. RA2 = 2. ** 0.5;
  143. EXY2 = RA2 * EXY1; EXZ2 = RA2 * EXZ1; EYZ2 = RA2 * EYZ1;
  144. SXY2 = RA2 * SXY1; SXZ2 = RA2 * SXZ1; SYZ2 = RA2 * SYZ1;
  145. FINSI;
  146. *
  147. J0 = 0;
  148. REPETE BOUJ0 6;
  149. J0 = J0 + 1;
  150. KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 1) = EXX1;
  151. KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 2) = EYY1;
  152. KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 3) = EZZ1;
  153. KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 4) = EXY2;
  154. KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 5) = EXZ2;
  155. KSL0 . (J0 + (6 *(I-1))) . ((6*(J0-1)) + 6) = EYZ2;
  156. FIN BOUJ0;
  157. *
  158. VSL0 . (1 + (6 *(I-1))) = SXX1;
  159. VSL0 . (2 + (6 *(I-1))) = SYY1;
  160. VSL0 . (3 + (6 *(I-1))) = SZZ1;
  161. VSL0 . (4 + (6 *(I-1))) = SXY2;
  162. VSL0 . (5 + (6 *(I-1))) = SXZ2;
  163. VSL0 . (6 + (6 *(I-1))) = SYZ2;
  164. *
  165. FIN CHGT;
  166. *
  167. * FIN BOUCLE SUR LES CHARGEMENTS
  168. * RESOLUTION SYST LINEAIRE
  169. *===================================================
  170. *
  171. * rearrangement des equations KSL0 et VSL0!
  172. *-------------------------------------------
  173. I0 = 0;
  174. REPETE BOUA0 36;
  175. I0 = I0 + 1;
  176. KSL1 . 1 . I0 = KSL0 . 1 . I0; VSL1 . 1 = VSL0 . 1;
  177. KSL1 . 2 . I0 = KSL0 . 7 . I0; VSL1 . 2 = VSL0 . 7;
  178. KSL1 . 3 . I0 = KSL0 . 13 . I0; VSL1 . 3 = VSL0 . 13;
  179. KSL1 . 4 . I0 = KSL0 . 19 . I0; VSL1 . 4 = VSL0 . 19;
  180. KSL1 . 5 . I0 = KSL0 . 25 . I0; VSL1 . 5 = VSL0 . 25;
  181. KSL1 . 6 . I0 = KSL0 . 31 . I0; VSL1 . 6 = VSL0 . 31;
  182. *
  183. KSL1 . 7 . I0 = KSL0 . 2 . I0; VSL1 . 7 = VSL0 . 2;
  184. KSL1 . 8 . I0 = KSL0 . 8 . I0; VSL1 . 8 = VSL0 . 8;
  185. KSL1 . 9 . I0 = KSL0 . 14 . I0; VSL1 . 9 = VSL0 . 14;
  186. KSL1 . 10 . I0 = KSL0 . 20 . I0; VSL1 . 10 = VSL0 . 20;
  187. KSL1 . 11 . I0 = KSL0 . 26 . I0; VSL1 . 11 = VSL0 . 26;
  188. KSL1 . 12 . I0 = KSL0 . 32 . I0; VSL1 . 12 = VSL0 . 32;
  189. *
  190. KSL1 . 13 . I0 = KSL0 . 3 . I0; VSL1 . 13 = VSL0 . 3;
  191. KSL1 . 14 . I0 = KSL0 . 9 . I0; VSL1 . 14 = VSL0 . 9;
  192. KSL1 . 15 . I0 = KSL0 . 15 . I0; VSL1 . 15 = VSL0 . 15;
  193. KSL1 . 16 . I0 = KSL0 . 21 . I0; VSL1 . 16 = VSL0 . 21;
  194. KSL1 . 17 . I0 = KSL0 . 27 . I0; VSL1 . 17 = VSL0 . 27;
  195. KSL1 . 18 . I0 = KSL0 . 33 . I0; VSL1 . 18 = VSL0 . 33;
  196. *
  197. KSL1 . 19 . I0 = KSL0 . 4 . I0; VSL1 . 19 = VSL0 . 4;
  198. KSL1 . 20 . I0 = KSL0 . 10 . I0; VSL1 . 20 = VSL0 . 10;
  199. KSL1 . 21 . I0 = KSL0 . 16 . I0; VSL1 . 21 = VSL0 . 16;
  200. KSL1 . 22 . I0 = KSL0 . 22 . I0; VSL1 . 22 = VSL0 . 22;
  201. KSL1 . 23 . I0 = KSL0 . 28 . I0; VSL1 . 23 = VSL0 . 28;
  202. KSL1 . 24 . I0 = KSL0 . 34 . I0; VSL1 . 24 = VSL0 . 34;
  203. *
  204. KSL1 . 25 . I0 = KSL0 . 5 . I0; VSL1 . 25 = VSL0 . 5;
  205. KSL1 . 26 . I0 = KSL0 . 11 . I0; VSL1 . 26 = VSL0 . 11;
  206. KSL1 . 27 . I0 = KSL0 . 17 . I0; VSL1 . 27 = VSL0 . 17;
  207. KSL1 . 28 . I0 = KSL0 . 23 . I0; VSL1 . 28 = VSL0 . 23;
  208. KSL1 . 29 . I0 = KSL0 . 29 . I0; VSL1 . 29 = VSL0 . 29;
  209. KSL1 . 30 . I0 = KSL0 . 35 . I0; VSL1 . 30 = VSL0 . 35;
  210. *
  211. KSL1 . 31 . I0 = KSL0 . 6 . I0; VSL1 . 31 = VSL0 . 6;
  212. KSL1 . 32 . I0 = KSL0 . 12 . I0; VSL1 . 32 = VSL0 . 12;
  213. KSL1 . 33 . I0 = KSL0 . 18 . I0; VSL1 . 33 = VSL0 . 18;
  214. KSL1 . 34 . I0 = KSL0 . 24 . I0; VSL1 . 34 = VSL0 . 24;
  215. KSL1 . 35 . I0 = KSL0 . 30 . I0; VSL1 . 35 = VSL0 . 30;
  216. KSL1 . 36 . I0 = KSL0 . 36 . I0; VSL1 . 36 = VSL0 . 36;
  217. *
  218. FIN BOUA0;
  219. *
  220. *CALCUL DU TENSEUR EFFECTIF
  221. *--------------------------
  222. *
  223. KEFF1 = @SYSLIN KSL1 VSL1;
  224. K = TABLE;
  225. I0 = 0;
  226. J0 = 0;
  227. i = 0;
  228. REPETE BOUI0 6;
  229. I0 = I0 + 1;
  230. K . I0 = TABLE;
  231. J0 = 0;
  232. REPETE BOUJ0 6;
  233. J0 = J0 + 1;
  234. i = i+1;
  235. K . I0 . J0 = KEFF1 . i;
  236. FIN BOUJ0;
  237. FIN BOUI0;
  238. *
  239. *
  240. FINPROC K C D;
  241. ************************************************************************
  242. * FIN DE LA PROCEDURE @KEFF
  243. ************************************************************************
  244.  
  245.  

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