Télécharger @solvmec_04.dgibi

Retour à la liste

Numérotation des lignes :

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

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