Télécharger tran4.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : tran4.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. *******************************************
  6. * Test tran4.dgibi: jeux de données *
  7. * --------------------------------- *
  8. *******************************************
  9.  
  10. * SI GRAPH = N PAS DE GRAPHIQUE AFFICHE
  11. * SINON SI GRAPH DIFFERENT DE N TOUS
  12. * LES GRAPHIQUES SONT AFFICHES
  13.  
  14. GRAPH = 'N' ;
  15.  
  16. SAUT PAGE;
  17. SI (NEG GRAPH 'N') ;
  18. OPTI ECHO 1 ;
  19. OPTI TRAC PSC ;
  20. SINO ;
  21. OPTI ECHO 0 ;
  22. FINSI ;
  23.  
  24. SAUT PAGE;
  25.  
  26. *******************************************
  27. * pour calcul complet mettre complet=vrai;
  28. *******************************************
  29. complet = vrai;
  30.  
  31. *-----------------------------------------*
  32. * TRAN4 *
  33. * *
  34. * Test de l'option changement de phase de *
  35. * l'opérateur capacité et de l'algorithme *
  36. * de transit3 *
  37. *******************************************
  38. * PROBLEME DE STEPHAN UNIDIMENSIONNEL *
  39. * *
  40. * Transport de la chaleur par diffusion *
  41. * uniquement *
  42. * *
  43. * T(0,t) = 0 SI t<0 *
  44. * T(0,t) = 2 SI t>0 *
  45. * ------------------------------------- *
  46. * | BARRE | *
  47. * ------------------------------------- *
  48. * x=0 T=0° *
  49. * à l'inFINi *
  50. * *
  51. * Changement de phase à 1° avec chaleur *
  52. * latente massique L. Toutes les autres *
  53. * caractéristiques sont egales à 1. *
  54. * *
  55. * Recherche de l'avancée du front de *
  56. * changement de phase en fonction du temps*
  57. * (entre 0 ET 1 seconde) *
  58. * *
  59. * REFERENCE pour la solution analytique *
  60. * "Conduction of Heat in Solids" *
  61. * H S Carslaw and J C Jaeger *
  62. * Oxford Clarendon Press 1959 *
  63. * ch XI p291 *
  64. *-----------------------------------------*
  65.  
  66. *==========================================
  67. * paramètres pour l'integration numérique
  68.  
  69. * Pour le test on conseille
  70. * dt=0.025 dx=0.01 EPSILON=0.1
  71.  
  72. * largeur du changement de phase
  73. EPSILON = 0.1 ;
  74. * chaleur latente
  75. L = 4.7427 ;
  76. * constante de la solution analytique
  77. BETA = 0.25 ;
  78. * pas de temps
  79. DT = 0.025 ;
  80. * pas d'espace
  81. DX = 0.05 ;
  82. *==========================================
  83.  
  84. * MAILLAGE avec des QUA4
  85. OPTI DIME 2 ELEM SEG2;
  86. DENS DX ;
  87. p1 = 0. 0. ;
  88. p4 = 0. DX ;
  89. DENS (4.*DX) ;
  90. p2 = 10. 0. ;
  91. p3 = 10. DX ;
  92. *
  93. li1 = d p1 p2 ;
  94. li2 = d 1 p2 p3 ;
  95. li3 = d p3 p4 ;
  96. li4 = d 1 p4 p1 ;
  97. OPTI ELEM QUA4 ;
  98. su1 = DALL li1 li2 li3 li4 'PLAN' ;
  99.  
  100. SI(NEG GRAPH 'N');
  101. TRAC 'QUAL' su1 ;
  102. FINSI;
  103.  
  104. * MODELE DE CALCUL
  105. mod1 = MODE su1 THERMIQUE PHASE QUA4 ;
  106.  
  107. * CARACTERISTIQUES
  108. mat = MATE mod1 'C' 1. 'K' 1. 'RHO' 1.
  109. tpha 1. QLAT L;
  110.  
  111. * TEMPÉRATURE IMPOSÉE EN X=0
  112. bl1 = BLOQ 'T' li4 ;
  113. timp1 = DEPI bl1 2. ;
  114. ev1 = EVOL MANU ABS (PROG 0. 1.)
  115. ORD (PROG 1. 1.);
  116. cha = CHAR TIMP timp1 ev1;
  117.  
  118. * TABLE POUR THERMIC
  119. xtab = TABL ;
  120. xtab.temperatures = TABL;
  121. xtab.temperatures . 0 =
  122. ( MANU CHPO su1 1 'T' 0. ) +
  123. ( MANU CHPO li4 1 'T' 2. ) ;
  124. xtab.'MODELE' = mod1 ;
  125. xtab.'CARACTERISTIQUES' = mat;
  126. xtab.'CHARGEMENT' = cha;
  127. xtab.'BLOCAGES_THERMIQUES' = bl1 ;
  128.  
  129. SI complet ;
  130. tFIN = 1.;
  131. SINON;
  132. tFIN = 0.25;
  133. FINSI;
  134.  
  135. xtab.'TEMPS_CALCULES' =
  136. PROG 0. pas DT tFIN;
  137. xtab.'PROCEDURE_THERMIQUE' = DUPONT;
  138. SI complet;
  139. xtab.'CRITERE' = 1E-2;
  140. SINON;
  141. xtab.'CRITERE' = 5E-2;
  142. FINSI;
  143. xtab.'RELAXATION_THETA' = 1.;
  144.  
  145. * CALCUL
  146. PASAPAS xtab ;
  147.  
  148. * ANALYSE DES RESULTATS
  149.  
  150. * le front avance comme 2*beta*(t**0.5)
  151. * beta ET Chaleur latente sont liés
  152.  
  153. LTPS = PROG 0.;
  154. LFR = PROG 0. ;
  155. LFRTHEO = PROG 0.;
  156. LFRSANS = PROG 0. ;
  157.  
  158. * BOUCLE SUR LES PAS DE TEMPS
  159. npas = (DIME (xtab.temps)) - 1;
  160. REPE analyse npas;
  161. ite = &analyse;
  162. temp1 = xtab. temps . ite ;
  163. ev1 = EVOL CHPO
  164. (xtab. temperatures . ite ) ( li1) 'T';
  165. lt = EXTR ev1 'T' ;
  166.  
  167. * boucle sur les points de la droite li1 :
  168. * recherche du point dont T vaut 1
  169. REPE trak ( DIME lt) ;
  170. tt2 = EXTR lt (&trak) ;
  171. SI ( tt2 < 1. ) ;
  172. xx1 = EXTR ( EXTR ev1 'ABSC' )
  173. (&trak - 1) ;
  174. tt1 = EXTR lt (&trak - 1) ;
  175. xx2 = EXTR ( EXTR ev1 'ABSC' )
  176. &trak ;
  177.  
  178. * Interpolation entre deux noeuds
  179. * xx est la position du front
  180. xx = xx1+((1. - tt1 )*( xx2 - xx1 ) /
  181. ( tt2 - tt1 ));
  182. QUITTER trak ;
  183. FINSI ;
  184. FIN trak ;
  185.  
  186. xxtheo = 2. * beta * ( temp1 ** 0.5 ) ;
  187. xxsans = 0.95 * ( temp1 ** 0.5 ) ;
  188.  
  189. * TITR 'Instant' (xtab. temps . ite) ;
  190. * dess ev1 ;
  191.  
  192. MESS 'TEMPS' temp1 ' Front =' xx
  193. 'Valeur Theorique' xxtheo;
  194. ltps = ltps ET ( PROG temp1 ) ;
  195. lfr = lfr ET ( PROG xx) ;
  196. lfrtheo = lfrtheo ET ( PROG xxtheo ) ;
  197. lfrsans = lfrsans ET ( PROG xxsans ) ;
  198. FIN analyse ;
  199.  
  200. * VISUALISATION
  201. evfr = EVOL BLEU MANU 'TEMPS'
  202. ltps 'ABSCISSE' lfr ;
  203. evfrtheo = EVOL ROUG MANU 'TEMPS'
  204. ltps 'ABSCISSE' lfrtheo ;
  205. evfrsans = EVOL VERT MANU 'TEMPS'
  206. ltps 'ABSCISSE' lfrsans ;
  207.  
  208. SI(NEG GRAPH 'N');
  209. TITR 'Avance du front :
  210. EPSILON=' EPSILON 'Dt=' dt 'Dx=' dx ;
  211. DESS ( evfr ET evfrtheo ) ;
  212. FINSI;
  213.  
  214.  
  215. *Retrait du premier terme nul des LISTREEL
  216. LENT1 = LECT;
  217. REPE SURIND ((DIME lfr) - 1);
  218. Indice = &SURIND;
  219. MESS Indice;
  220. LENT1 = LENT1 ET (LECT (Indice+1));
  221.  
  222. FIN SURIND;
  223.  
  224. lfr2 = EXTR lfr LENT1;
  225. lfrtheo2 = EXTR lfrtheo LENT1;
  226.  
  227. erreu=100. *
  228. (abs(lfr2 - lfrtheo2) / lfrtheo2);
  229.  
  230. MESS 'Erreur Maximale : ' (MAXI erreu) ;
  231.  
  232. * Message d'erreur
  233. SI ( (MAXI erreu) > 13. ) ;
  234. MESS 'Résultat incorrect' ;
  235. ERRE 5 ;
  236. FINSI ;
  237.  
  238. *OPTI SAUV 'test.res' ;
  239. *SAUV evfr evfrtheo evfrsans ;
  240. FIN ;
  241.  
  242.  
  243.  
  244.  
  245.  

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