Télécharger vari-youn-2-auto.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : vari-youn-2-auto.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. **************************************************************
  5. *
  6. * C'est un k-test dont le but est de tester le fonctionnement
  7. * de PASAPAS avec la variation des données matérielles.
  8. *
  9. * Il s'agit d'une barre en traction simple. Son module de Young
  10. * dépend linéairement du paramètre d'évolution (à la fin du
  11. * chargement on descend à 10% de la valeur initiale).
  12. *
  13. * Pour la résolution, on utilise le mécanisme de traitement
  14. * des matériaux variables implanté dans PASAPAS. La variable
  15. * utilisée par cette mécanique porte le nom LDPL, ce chargement
  16. * n'est donc pas considéré comme un chargement thermique. Le
  17. * pilotage dans PASAPAS est automatique.
  18. *
  19. **************************************************************
  20.  
  21. *** Options ...
  22.  
  23. opti dime 2 mode plan defo elem seg2 echo 1 ;
  24. * ajout de option epsilon lineaire pour la precision des test!
  25. OPTION epsilon lineaire;
  26. graph = faux ;
  27.  
  28. *** Paramètres ...
  29.  
  30. L = 10. ;
  31. H = 1. ;
  32. S = H * 1. ;
  33.  
  34. E_0 = 2.E+11 ;
  35. * E_1 = (2.0 * E_0) / (0.01 * L) ;
  36. E_1 = (-0.9 * E_0) / (1.0 * L) ;
  37.  
  38. * F = 1.E+10 ;
  39. F = 9.9E+9 ;
  40.  
  41. nbdiv = 1 ;
  42.  
  43. *** Points ...
  44.  
  45. dens (L / nbdiv) ;
  46.  
  47. p1 = 0 0 ;
  48. p2 = 0 H ;
  49.  
  50. *** Ligne ...
  51.  
  52. li1 = p1 d 1 p2 ;
  53.  
  54. *** Surface ...
  55.  
  56. opti elem qua4 ;
  57.  
  58. vectx = L 0 ;
  59. su1 = li1 tran nbdiv vectx ;
  60. pu = su1 poin proc vectx ;
  61.  
  62. titr 'Le maillage du modele' ;
  63. si(graph) ;
  64. trac su1 ;
  65. finsi ;
  66.  
  67. *** Modèle ...
  68.  
  69. listdepl = prog (-0.9 * L) (0.9 * L) ;
  70. listyoun = prog ;
  71. lon = dime listdepl ;
  72. repeter surdpl lon ;
  73. valdep = extr listdepl &surdpl ;
  74. valyou = E_0 + (E_1 * valdep) ;
  75. listyoun = listyoun et (prog valyou) ;
  76. fin surdpl ;
  77. titr 'Module de Young (deplacement)' ;
  78. evyou = evol manu LDPL listdepl YOUN listyoun ;
  79. si(graph) ;
  80. dess evyou ;
  81. finsi ;
  82.  
  83. mo1 = mode su1 mecanique elastique ;
  84. ma1 = mate mo1 NU 0.0 YOUN evyou ;
  85.  
  86. *** Préparation de la table pour PASAPAS ...
  87.  
  88. tabnl = table ;
  89. * tabnl . GRANDS_DEPLACEMENTS = vrai ;
  90. tabnl . MODELE = mo1 ;
  91. tabnl . CARACTERISTIQUES = ma1 ;
  92. cl1 = (bloq ux li1) et (bloq uy p1) ;
  93. tabnl . BLOCAGES_MECANIQUES = cl1 ;
  94. tabnl . AUTOMATIQUE = vrai ;
  95.  
  96. ordmax = 8.0 ;
  97. ldpl0 = manu CHML mo1 LDPL 1.0 STRESSES ;
  98. evconst = evol manu 't' (prog 0. 1.)
  99. 'f(t)' (prog 0. ordmax) ;
  100. chavar0 = char LDPL ldpl0 evconst ;
  101.  
  102. fobid = forc fx F (cote 3 su1) ;
  103. lr1 = prog 0. 1. ;
  104. lr2 = prog 0. 1. ;
  105. evbid = evol manu 't' lr1 'f(t)' lr2 ;
  106. chabid = char fobid evbid MECA ;
  107. tabnl . CHARGEMENT = chavar0 et chabid ;
  108.  
  109. nb_dt = 5 ;
  110. dt = 1.0 / nb_dt ;
  111. tabnl . TEMPS_CALCULES = prog 0. PAS dt 1. ;
  112.  
  113. *** Le calcul ...
  114.  
  115. pasapas tabnl ;
  116.  
  117. *** Petit post-traitement ...
  118.  
  119. listt = prog ;
  120. listux = prog ;
  121. listuxt = prog ;
  122. listfx = prog ;
  123. nbpas = dime (tabnl . TEMPS) ;
  124. repeter surpas nbpas ;
  125. lindice = &surpas - 1 ;
  126. listt = listt et (prog (tabnl . TEMPS . lindice)) ;
  127. laforc = F * (tabnl . TEMPS . lindice) ;
  128. listfx = listfx et (prog laforc) ;
  129. fauxdepl = ipol (tabnl . TEMPS . lindice) (extr evconst
  130. ABSC) (extr evconst ORDO) ;
  131. mess '-------------------------------------' ;
  132. mess 'fauxdepl = ' fauxdepl ;
  133. E_act = E_0 + (E_1 * fauxdepl) ;
  134. mess 'E_act = ' E_act ;
  135. uxbid = (laforc * L) / (E_act * S) ;
  136. listuxt = listuxt et (prog uxbid) ;
  137. depact = tabnl . DEPLACEMENTS . lindice ;
  138. ledepl = extr depact UX pu ;
  139. listux = listux et (prog ledepl) ;
  140. fin surpas ;
  141.  
  142. titr 'La deformee' ;
  143. defo0 = defo su1 depact 0.0 ;
  144. defo1 = defo su1 depact ROUG ;
  145. si(graph) ;
  146. trac (defo0 et defo1) ;
  147. finsi ;
  148.  
  149. titr 'Courbe de traction provenant de PASAPAS' ;
  150. courbetr = evol manu 'FX' listfx 'UX' listux ;
  151. si(graph) ;
  152. dess courbetr ;
  153. finsi ;
  154.  
  155. titr 'Courbes de traction PASAPAS + théorique' ;
  156. courbteo = evol ROUG manu 'FX' listfx 'UX' listuxt ;
  157. si(graph) ;
  158. dess (courbetr et courbteo) ;
  159. finsi ;
  160.  
  161. *** Vérification de la précision du calcul ...
  162.  
  163. chtit = chai 'Difference entre le depl. fourni par PASAPAS'
  164. ' et le depl. analytique' ;
  165. titr chtit ;
  166. ladiff = courbetr - courbteo ;
  167. ladiff = evol manu (extr ladiff ABSC) (abs (extr ladiff ORDO)) ;
  168. si(graph) ;
  169. dess ladiff ;
  170. finsi ;
  171. precis = maxi (extr ladiff ORDO) ;
  172. mess 'Écart maxi = ' precis ;
  173.  
  174. si(precis > 1.e-14) ;
  175. erre 5 ;
  176. finsi ;
  177.  
  178. *** Bye ...
  179.  
  180. fin ;
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  

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