Télécharger @solvmec_02.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : @solvmec_02.dgibi
  2. ************************************************************************
  3. * Test du mini solveur mecanique (procedure @SOLVMEC) *
  4. * - eprouvette entaillee en traction *
  5. * - comportement elasto-plastique *
  6. * - calcul en grands deplacements *
  7. * - calcul avec acceleration de convegence *
  8. * *
  9. * On compare les resultats a ceux de la procedure PASAPAS *
  10. ************************************************************************
  11.  
  12.  
  13.  
  14. ** Options generales
  15. OPTI 'DIME' 2 'ELEM' 'QUA4' 'MODE' 'PLAN' 'CONT' 'ECHO' 1 ;
  16.  
  17.  
  18. ** Geometrie : barre rectangulaire l x h avec une
  19. * entaille circulaire de largeur le et profondeur pe
  20. l = 1.0 ;
  21. h = 0.1 ;
  22. le = 0.1 * l ;
  23. pe = 0.1 * h ;
  24.  
  25.  
  26. ** Maillage
  27. ne = 51 ;
  28. * barre rectangulaire
  29. p0 = 0. 0. ;
  30. p1 = l 0. ;
  31. lb = DROI ne p0 p1 ;
  32. mai = lb TRAN 3 (0. h) ;
  33. ld = mai COTE 2 ;
  34. lh = mai COTE 3 ;
  35. lg = mai COTE 4 ;
  36. * deplacement des noeuds pour l'entaille circulaire
  37. p2 = ((l - le) / 2.) h ;
  38. p3 = ((l + le) / 2.) h ;
  39. re = (pe / 2.) + (le * le / (8. * pe)) ;
  40. p4 = (l / 2.) (h - pe + re) ;
  41. xh yh = COOR lh ;
  42. pmil = xh POIN 'COMPRIS' (COOR 1 p2) (COOR 1 p3) ;
  43. DEPL pmil 'PROJ' 'DIRE' (0. 1.) 'CERC' p4 p2 ;
  44. cmai = CONT mai ;
  45. *****TRAC mai 'TITR' 'Maillage' ;
  46.  
  47.  
  48. ** Modele et caracteristiques materiau
  49. mo = MODE mai 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'PLASTIQUE' 'ISOTROPE' ;
  50. lep = PROG 0. 'PAS' 0.001 0.1 'PAS' 0.01 0.2 ;
  51. lsi = 50.E6 + (1.5E8 * (lep ** 0.5)) ;
  52. ecr = EVOL 'MANU' 'Def. plas' lep 'Sigma' lsi ;
  53. ma = MATE mo 'YOUN' 1.E9 'NU' 0.3 'ECRO' ecr ;
  54.  
  55.  
  56. ** Blocages
  57. clg = BLOQ 'UX' lg ;
  58. clb = BLOQ 'UY' lb ;
  59. cld = BLOQ 'UX' ld ;
  60. cl = clg ET clb ET cld ;
  61.  
  62.  
  63. ** Chargement : deplacement impose sur ld
  64. uimp = 0.2 ;
  65. fuim = DEPI cld uimp ;
  66. ev1 = EVOL 'MANU' 'Temps' (PROG 0. 1.) 'Coef' (PROG 0. 1.) ;
  67. cha = CHAR 'DIMP' fuim ev1 ;
  68.  
  69.  
  70. ** Resolutions avec PASAPAS et @SOLVMEC
  71. tab1 = TABL ;
  72. tab1 . 'MODELE' = mo ;
  73. tab1 . 'CARACTERISTIQUES' = ma ;
  74. tab1 . 'BLOCAGES_MECANIQUES' = cl ;
  75. tab1 . 'CHARGEMENT' = cha ;
  76. tab1 . 'TEMPS_CALCULES' = PROG 0.01 'PAS' 0.01 1. ;
  77. tab1 . 'ACCELERATION_CONVERGENCE' = VRAI ;
  78. tab1 . 'GRANDS_DEPLACEMENTS' = VRAI ;
  79. tab2 = COPI tab1 ;
  80.  
  81. PASAPAS tab1 ;
  82. tpp = TEMP 'HORL' ;
  83.  
  84. @SOLVMEC tab2 ;
  85. tms = TEMP 'HORL' ;
  86.  
  87.  
  88. ** Performances
  89. MESS 'Duree d''execution (ms)' ;
  90. MESS '----------------------' ;
  91. MESS 'PASAPAS :' ' ' tpp ;
  92. MESS '@SOLVMEC :' ' ' tms ;
  93.  
  94.  
  95. ** Post traitement : courbes F (resultante des reactions a gauche) vs U (deplacement impose a droite)
  96. * EPSE max (def. plas. eq. max) vs Temps
  97. n1 = DIME (tab2 . 'TEMPS') ;
  98. ltp = PROG ;
  99. lu1 = PROG ;
  100. lu2 = PROG ;
  101. lr1 = PROG ;
  102. lr2 = PROG ;
  103. le1 = PROG ;
  104. le2 = PROG ;
  105. lerr = PROG ;
  106. lere = PROG ;
  107. REPE b1 n1 ;
  108. * temps
  109. ltp = ltp ET (tab1 . 'TEMPS' . (&b1 - 1)) ;
  110. * deplacements
  111. u1 = tab1 . 'DEPLACEMENTS' . (&b1 - 1) ;
  112. lu1 = lu1 ET (EXTR u1 'UX' p1) ;
  113. u2 = tab2 . 'DEPLACEMENTS' . (&b1 - 1) ;
  114. lu2 = lu2 ET (EXTR u2 'UX' p1) ;
  115. * effort de reaction
  116. r1 = tab1 . 'REACTIONS' . (&b1 - 1) ;
  117. r2 = tab2 . 'REACTIONS' . (&b1 - 1) ;
  118. SI (EGA &b1 1) ;
  119. rr1 = 0. ;
  120. rr2 = 0. ;
  121. SINON ;
  122. rr1 = -1. * (@TOTAL r1 lg 'FX') ;
  123. rr2 = -1. * (@TOTAL r2 lg 'FX') ;
  124. lerr = lerr ET (ABS ((rr1 - rr2) / rr1)) ;
  125. FINSI ;
  126. lr1 = lr1 ET rr1 ;
  127. lr2 = lr2 ET rr2 ;
  128. * deformation plastique equivalente
  129. vi1 = tab1 . 'VARIABLES_INTERNES' . (&b1 - 1) ;
  130. vi2 = tab2 . 'VARIABLES_INTERNES' . (&b1 - 1) ;
  131. epqmax1 = MAXI (EXCO 'EPSE' vi1) ;
  132. epqmax2 = MAXI (EXCO 'EPSE' vi2) ;
  133. le1 = le1 ET epqmax1 ;
  134. le2 = le2 ET epqmax2 ;
  135. SI (epqmax1 > 1.E-10) ;
  136. lere = lere ET (ABS ((epqmax1 - epqmax2) / epqmax1)) ;
  137. FINSI ;
  138. FIN b1 ;
  139. * ecarts relatifs max
  140. err = MAXI 'ABS' lerr ;
  141. ere = MAXI 'ABS' lere ;
  142. MESS 'Ecarts relatifs max' ;
  143. MESS '-------------------' ;
  144. MESS 'Defo. plast. eq. max :' ' ' ere ;
  145. MESS 'Reaction :' ' ' err ;
  146. * trace des courbes
  147. tleg = TABL ;
  148. tleg . 'TITRE' = TABL ;
  149. tleg . 'TITRE' . 1 = CHAI 'Pasapas' ;
  150. tleg . 'TITRE' . 2 = CHAI 'Mini solveur' ;
  151. tleg . 2 = MOT 'MARQ ROND NOLI' ;
  152. eve1 = EVOL 'MANU' 'Temps' ltp 'EPSE max' le1 ;
  153. eve2 = EVOL 'ROUG' 'MANU' 'Temps' ltp 'EPSE max' le2 ;
  154. *****DESS (eve1 ET eve2) 'TITR' 'EPSE max vs Temps' 'LEGE' tleg 'NO' ;
  155. evru1 = EVOL 'MANU' 'Deplacement' lu1 'Reaction' lr1 ;
  156. evru2 = EVOL 'ROUG' 'MANU' 'Deplacement' lu2 'Reaction' lr2 ;
  157. *****DESS (evru1 ET evru2) 'TITR' 'Force vs Deplacement' 'LEGE' tleg 'NO' ;
  158.  
  159. ** Test et erreur si ecart trop important
  160. SI ((ere > 1.E-1) OU (err > 1.E-2)) ;
  161. ERRE 'Ecart trop important entre les resultats de @SOLVMEC et de PASAPAS' ;
  162. FINSI ;
  163.  
  164. FIN ;
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  

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