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. tpha 1. QLAT L;
  109.  
  110. * TEMPÉRATURE IMPOSÉE EN X=0
  111. bl1 = BLOQ 'T' li4 ;
  112. timp1 = DEPI bl1 2. ;
  113. ev1 = EVOL MANU ABS (PROG 0. 1.) ORD (PROG 1. 1.);
  114. cha = CHAR TIMP timp1 ev1;
  115.  
  116. * TABLE POUR THERMIC
  117. xtab = TABL ;
  118. xtab.temperatures = TABL;
  119. xtab.temperatures . 0 = ( MANU CHPO su1 1 'T' 0. ) + ( MANU CHPO li4 1 'T' 2. ) ;
  120. xtab.'MODELE' = mod1 ;
  121. xtab.'CARACTERISTIQUES' = mat;
  122. xtab.'CHARGEMENT' = cha;
  123. xtab.'BLOCAGES_THERMIQUES' = bl1 ;
  124.  
  125. SI complet ;
  126. tFIN = 1.;
  127. SINON;
  128. tFIN = 0.25;
  129. FINSI;
  130.  
  131. xtab.'TEMPS_CALCULES' = PROG 0. pas DT tFIN;
  132. xtab.'PROCEDURE_THERMIQUE' = DUPONT;
  133. SI complet;
  134. xtab.'CRITERE' = 1E-2;
  135. SINON;
  136. xtab.'CRITERE' = 5E-2;
  137. FINSI;
  138. xtab.'RELAXATION_THETA' = 1.;
  139.  
  140. * CALCUL
  141. PASAPAS xtab ;
  142.  
  143. * ANALYSE DES RESULTATS
  144.  
  145. * le front avance comme 2*beta*(t**0.5)
  146. * beta ET Chaleur latente sont liés
  147.  
  148. LTPS = PROG 0.;
  149. LFR = PROG 0. ;
  150. LFRTHEO = PROG 0.;
  151. LFRSANS = PROG 0. ;
  152.  
  153. * BOUCLE SUR LES PAS DE TEMPS
  154. npas = (DIME (xtab.temps)) - 1;
  155. REPE analyse npas;
  156. ite = &analyse;
  157. temp1 = xtab. temps . ite ;
  158. ev1 = EVOL CHPO (xtab. temperatures . ite ) ( li1) 'T';
  159. lt = EXTR ev1 'T' ;
  160.  
  161. * boucle sur les points de la droite li1 :
  162. * recherche du point dont T vaut 1
  163. REPE trak ( DIME lt) ;
  164. tt2 = EXTR lt (&trak) ;
  165. SI ( tt2 < 1. ) ;
  166. xx1 = EXTR ( EXTR ev1 'ABSC' ) (&trak - 1) ;
  167. tt1 = EXTR lt (&trak - 1) ;
  168. xx2 = EXTR ( EXTR ev1 'ABSC' ) &trak ;
  169.  
  170. * Interpolation entre deux noeuds
  171. * xx est la position du front
  172. xx = xx1+((1. - tt1 )*( xx2 - xx1 ) / ( tt2 - tt1 ));
  173. QUITTER trak ;
  174. FINSI ;
  175. FIN trak ;
  176.  
  177. xxtheo = 2. * beta * ( temp1 ** 0.5 ) ;
  178. xxsans = 0.95 * ( temp1 ** 0.5 ) ;
  179.  
  180. * TITR 'Instant' (xtab. temps . ite) ;
  181. * dess ev1 ;
  182.  
  183. MESS 'TEMPS' temp1 ' Front =' xx 'Valeur Theorique' xxtheo;
  184. ltps = ltps ET ( PROG temp1 ) ;
  185. lfr = lfr ET ( PROG xx) ;
  186. lfrtheo = lfrtheo ET ( PROG xxtheo ) ;
  187. lfrsans = lfrsans ET ( PROG xxsans ) ;
  188. FIN analyse ;
  189.  
  190. * VISUALISATION
  191. evfr = EVOL BLEU MANU 'TEMPS' ltps 'ABSCISSE' lfr ;
  192. evfrtheo = EVOL ROUG MANU 'TEMPS' ltps 'ABSCISSE' lfrtheo ;
  193. evfrsans = EVOL VERT MANU 'TEMPS' ltps 'ABSCISSE' lfrsans ;
  194.  
  195. SI(NEG GRAPH 'N');
  196. TITR 'Avance du front : EPSILON=' EPSILON 'Dt=' dt 'Dx=' dx ;
  197. DESS ( evfr ET evfrtheo ) ;
  198. FINSI;
  199.  
  200.  
  201. *Retrait du premier terme nul des LISTREEL
  202. LENT1 = LECT;
  203. REPE SURIND ((DIME lfr) - 1);
  204. Indice = &SURIND;
  205. MESS Indice;
  206. LENT1 = LENT1 ET (LECT (Indice+1));
  207.  
  208. FIN SURIND;
  209.  
  210. lfr2 = EXTR lfr LENT1;
  211. lfrtheo2 = EXTR lfrtheo LENT1;
  212.  
  213. erreu=100. * (abs(lfr2 - lfrtheo2) / lfrtheo2);
  214.  
  215. MESS 'Erreur Maximale : ' (MAXI erreu) ;
  216.  
  217. * Message d'erreur
  218. SI ( (MAXI erreu) > 13. ) ;
  219. MESS 'Résultat incorrect' ;
  220. ERRE 5 ;
  221. FINSI ;
  222.  
  223. *OPTI SAUV 'test.res' ;
  224. *SAUV evfr evfrtheo evfrsans ;
  225. FIN ;
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  

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