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

Retour à la liste

Numérotation des lignes :

  1. * fichier : vari-youn-2.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.
  17. *
  18. **************************************************************
  19.  
  20. *** Options ...
  21.  
  22. opti dime 2 mode plan defo elem seg2 echo 1 ;
  23. * ajout de option epsilon lineaire pour la precision des test!
  24. OPTION epsilon lineaire;
  25.  
  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.5 * E_0) / (0.1 * 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.2 * L) (0.2 * 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.  
  95. ordmax = 1.8 ;
  96. ldpl0 = manu CHML mo1 LDPL 1.0 STRESSES ;
  97. evconst = evol manu 't' (prog 0. 1.)
  98. 'f(t)' (prog 0. ordmax) ;
  99. chavar0 = char LDPL ldpl0 evconst ;
  100.  
  101. fobid = forc fx F (cote 3 su1) ;
  102. lr1 = prog 0. 1. ;
  103. lr2 = prog 0. 1. ;
  104. evbid = evol manu 't' lr1 'f(t)' lr2 ;
  105. chabid = char fobid evbid MECA ;
  106. tabnl . CHARGEMENT = chavar0 et chabid ;
  107.  
  108. nb_dt = 5 ;
  109. dt = 1.0 / nb_dt ;
  110. tabnl . TEMPS_CALCULES = prog 0. PAS dt 1. ;
  111.  
  112. *** Le calcul ...
  113.  
  114. pasapas tabnl ;
  115.  
  116. *** Petit post-traitement ...
  117.  
  118. listt = prog ;
  119. listux = prog ;
  120. listuxt = prog ;
  121. listfx = prog ;
  122. nbpas = dime (tabnl . TEMPS) ;
  123. repeter surpas nbpas ;
  124. lindice = &surpas - 1 ;
  125. listt = listt et (prog (tabnl . TEMPS . lindice)) ;
  126. laforc = F * (tabnl . TEMPS . lindice) ;
  127. listfx = listfx et (prog laforc) ;
  128. fauxdepl = ipol (tabnl . TEMPS . lindice) (extr evconst
  129. ABSC) (extr evconst ORDO) ;
  130. mess '-------------------------------------' ;
  131. mess 'fauxdepl = ' fauxdepl ;
  132. E_act = E_0 + (E_1 * fauxdepl) ;
  133. mess 'E_act = ' E_act ;
  134. uxbid = (laforc * L) / (E_act * S) ;
  135. listuxt = listuxt et (prog uxbid) ;
  136. depact = tabnl . DEPLACEMENTS . lindice ;
  137. ledepl = extr depact UX pu ;
  138. listux = listux et (prog ledepl) ;
  139. fin surpas ;
  140.  
  141. titr 'La deformee' ;
  142. defo0 = defo su1 depact 0.0 ;
  143. defo1 = defo su1 depact ROUG ;
  144. si(graph) ;
  145. trac (defo0 et defo1) ;
  146. finsi ;
  147.  
  148. titr 'Courbe de traction provenant de PASAPAS' ;
  149. courbetr = evol manu 'FX' listfx 'UX' listux ;
  150. si(graph) ;
  151. dess courbetr ;
  152. finsi ;
  153.  
  154. titr 'Courbes de traction PASAPAS + théorique' ;
  155. courbteo = evol ROUG manu 'FX' listfx 'UX' listuxt ;
  156. si(graph) ;
  157. dess (courbetr et courbteo) ;
  158. finsi ;
  159.  
  160. *** Vérification de la précision du calcul ...
  161.  
  162. chtit = chai 'Difference entre le depl. fourni par PASAPAS'
  163. ' et le depl. analytique' ;
  164. titr chtit ;
  165. ladiff = courbetr - courbteo ;
  166. ladiff = evol manu (extr ladiff ABSC) (abs (extr ladiff ORDO)) ;
  167. si(graph) ;
  168. dess ladiff ;
  169. finsi ;
  170. precis = maxi (extr ladiff ORDO) ;
  171. mess 'Écart maxi = ' precis ;
  172.  
  173. si(precis > 1.e-14) ;
  174. erre 5 ;
  175. finsi ;
  176.  
  177. *** Bye ...
  178.  
  179. fin ;
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  

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