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

Retour à la liste

Numérotation des lignes :

  1. * fichier : vari-youn-4.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 T, ce chargement
  16. * est donc considéré comme un chargement thermique. On impose
  17. * la valeur de T en effectuant un calcul thermique très
  18. * simple (température uniforme imposée partout).
  19. *
  20. **************************************************************
  21.  
  22. *** Options ...
  23.  
  24. opti dime 2 mode plan defo elem seg2 echo 1 ;
  25. * ajout de option epsilon lineaire pour la precision des test!
  26. OPTION epsilon lineaire;
  27. graph = faux ;
  28.  
  29. *** Paramètres ...
  30.  
  31. L = 10. ;
  32. H = 1. ;
  33. S = H * 1. ;
  34.  
  35. E_0 = 2.E+11 ;
  36. * E_1 = (2.0 * E_0) / (0.01 * L) ;
  37. E_1 = (-0.5 * E_0) / (0.1 * L) ;
  38.  
  39. * F = 1.E+10 ;
  40. F = 9.9E+9 ;
  41.  
  42. nbdiv = 1 ;
  43.  
  44. *** Points ...
  45.  
  46. dens (L / nbdiv) ;
  47.  
  48. p1 = 0 0 ;
  49. p2 = 0 H ;
  50.  
  51. *** Ligne ...
  52.  
  53. li1 = p1 d 1 p2 ;
  54.  
  55. *** Surface ...
  56.  
  57. opti elem qua4 ;
  58.  
  59. vectx = L 0 ;
  60. su1 = li1 tran nbdiv vectx ;
  61. pu = su1 poin proc vectx ;
  62.  
  63. titr 'Le maillage du modele' ;
  64. si(graph) ;
  65. trac su1 ;
  66. finsi ;
  67.  
  68. *** Modèle ...
  69.  
  70. listdepl = prog (-0.2 * L) (0.2 * L) ;
  71. listyoun = prog ;
  72. lon = dime listdepl ;
  73. repeter surdpl lon ;
  74. valdep = extr listdepl &surdpl ;
  75. valyou = E_0 + (E_1 * valdep) ;
  76. listyoun = listyoun et (prog valyou) ;
  77. fin surdpl ;
  78. titr 'Module de Young (deplacement)' ;
  79. evyou = evol manu T listdepl YOUN listyoun ;
  80. si(graph) ;
  81. dess evyou ;
  82. finsi ;
  83.  
  84. mo1 = mode su1 mecanique elastique ;
  85. mo1t = mode su1 thermique CONS 'partie_thermique' ;
  86. ma1 = mate mo1 NU 0.0 YOUN evyou ALPH 0. ;
  87. ma1t = mate mo1t K 1000 RHO 1000 'C' 1000 ;
  88.  
  89. *** Préparation de la table pour PASAPAS ...
  90.  
  91. tabnl = table ;
  92. * tabnl . GRANDS_DEPLACEMENTS = vrai ;
  93. tabnl . MODELE = mo1 et mo1t ;
  94. tabnl . CARACTERISTIQUES = ma1 et ma1t ;
  95. cl1 = (bloq ux li1) et (bloq uy p1) ;
  96. tabnl . BLOCAGES_MECANIQUES = cl1 ;
  97.  
  98. ordmax = 1.8 ;
  99. * ldpl0 = manu CHML mo1 T 1.0 STRESSES ;
  100. evconst = evol manu 't' (prog 0. 1.)
  101. 'f(t)' (prog 0. ordmax) ;
  102. * chavar0 = char T ldpl0 evconst ;
  103. * tbabsc = table ;
  104. * tbabsc . 0 = 0. ;
  105. * tbabsc . 1 = 1.000000001 ;
  106. * tbordo = table ;
  107. * tbordo . 0 = manu chpo su1 1 T 0. ;
  108. * tbordo . 1 = manu chpo su1 1 T ordmax ;
  109. * chavar0 = char T tbabsc tbordo ;
  110. blt = bloq T su1 ;
  111. tim = depi blt 1. ;
  112. chavar0 = char TIMP tim evconst ;
  113.  
  114. fobid = forc fx F (cote 3 su1) ;
  115. lr1 = prog 0. 1. ;
  116. lr2 = prog 0. 1. ;
  117. evbid = evol manu 't' lr1 'f(t)' lr2 ;
  118. chabid = char fobid evbid MECA ;
  119. tabnl . CHARGEMENT = chavar0 et chabid ;
  120. tabnl . BLOCAGES_THERMIQUES = blt ;
  121.  
  122. nb_dt = 5 ;
  123. dt = 1.0 / nb_dt ;
  124. tabnl . TEMPS_CALCULES = prog 0. PAS dt 1. ;
  125.  
  126. *** Le calcul ...
  127.  
  128. pasapas tabnl ;
  129.  
  130. *** Petit post-traitement ...
  131.  
  132. listt = prog ;
  133. listux = prog ;
  134. listuxt = prog ;
  135. listfx = prog ;
  136. nbpas = dime (tabnl . TEMPS) ;
  137. repeter surpas nbpas ;
  138. lindice = &surpas - 1 ;
  139. listt = listt et (prog (tabnl . TEMPS . lindice)) ;
  140. laforc = F * (tabnl . TEMPS . lindice) ;
  141. listfx = listfx et (prog laforc) ;
  142. fauxdepl = ipol (tabnl . TEMPS . lindice) (extr evconst
  143. ABSC) (extr evconst ORDO) ;
  144. mess '-------------------------------------' ;
  145. mess 'fauxdepl = ' fauxdepl ;
  146. E_act = E_0 + (E_1 * fauxdepl) ;
  147. mess 'E_act = ' E_act ;
  148. uxbid = (laforc * L) / (E_act * S) ;
  149. listuxt = listuxt et (prog uxbid) ;
  150. depact = tabnl . DEPLACEMENTS . lindice ;
  151. ledepl = extr depact UX pu ;
  152. listux = listux et (prog ledepl) ;
  153. fin surpas ;
  154.  
  155. titr 'La deformee' ;
  156. defo0 = defo su1 depact 0.0 ;
  157. defo1 = defo su1 depact ROUG ;
  158. si(graph) ;
  159. trac (defo0 et defo1) ;
  160. finsi ;
  161.  
  162. titr 'Courbe de traction provenant de PASAPAS' ;
  163. courbetr = evol manu 'FX' listfx 'UX' listux ;
  164. si(graph) ;
  165. dess courbetr ;
  166. finsi ;
  167.  
  168. titr 'Courbes de traction PASAPAS + théorique' ;
  169. courbteo = evol ROUG manu 'FX' listfx 'UX' listuxt ;
  170. si(graph) ;
  171. dess (courbetr et courbteo) ;
  172. finsi ;
  173.  
  174. *** Vérification de la précision du calcul ...
  175.  
  176. chtit = chai 'Difference entre le depl. fourni par PASAPAS'
  177. ' et le depl. analytique' ;
  178. titr chtit ;
  179. ladiff = courbetr - courbteo ;
  180. ladiff = evol manu (extr ladiff ABSC) (abs (extr ladiff ORDO)) ;
  181. si(graph) ;
  182. dess ladiff ;
  183. finsi ;
  184. precis = maxi (extr ladiff ORDO) ;
  185. mess 'Écart maxi = ' precis ;
  186.  
  187. si(precis > 1.e-8) ;
  188. erre 5 ;
  189. finsi ;
  190.  
  191. *** Bye ...
  192.  
  193. fin ;
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  

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