Télécharger faceaface2.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : rayoh-2D.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. ************************************************************************
  6. * *
  7. * Rayonnement thermique en milieu transparent: *
  8. * *
  9. * Test du rayonnement face à face *
  10. * Comparaison avec une solution analytique en régime permanent. *
  11. * *
  12. * Calcul par 2 méthodes: *
  13. * 1. algorithme iteratif *
  14. * 2. utilisation de PASAPAS en transitoire jusqu'au permanent *
  15. * *
  16. * *
  17. * Calcul 2D-plan. *
  18. * *
  19. * on considère 3 plaques parallèles rayonnantes : *
  20. * *
  21. * -------- T3,e3 *
  22. * *
  23. * e2sup face à face *
  24. * -------- T2 *
  25. * e2inf face à face *
  26. * *
  27. * -------- T1,e1 *
  28. * *
  29. * La température des plaques supérieure et inférieure est imposée et *
  30. * uniforme (respectivement 1000K et 2000K) et on détermine la tempéra- *
  31. * ture d'équilibre de la plaque intermédiaire. *
  32. * Le rayonnement entre les plaques 1 et 2 est modélisé par un rayonne- *
  33. * ment face à face, et de meme pour celui entre les plaques 2 et 3 *
  34. * *
  35. * paramètre xquad vrai : éléments quadratiques *
  36. * faux : éléments linéaires *
  37. ************************************************************************
  38.  
  39. graph = FAUX ;
  40.  
  41. xquad = vrai ;
  42.  
  43. si xquad ;
  44. option echo 1 dime 2 elem qua8 ;
  45. sinon ;
  46. option echo 1 dime 2 elem qua4 ;
  47. finsi;
  48.  
  49. *-------------------------------
  50. * Données physiques du problème
  51. *-------------------------------
  52.  
  53. T1 = 1000. ; T3 = 2000. ;
  54. e1 = 0.1 ; e2inf = 0.6 ; e2sup = 0.3 ; e3 = 0.9;
  55. lamb = 2.e3 ;
  56.  
  57. *-------------------------------
  58. * Solution analytique
  59. *-------------------------------
  60.  
  61. r1 = 1. - e1 ; r2i = 1. - e2inf ;
  62. r3 = 1. - e3 ; r2s = 1. - e2sup ;
  63. alpha1= (e1*e2inf) / (1.-(r1*r2i)) ;
  64. alpha3= (e3*e2sup) / (1.-(r3*r2s)) ;
  65. M1 = T1**4. ; M3 = T3**4. ;
  66. M2 = ((alpha1*M1) + (alpha3*M3)) / (alpha1+alpha3) ;
  67. T2_ana = M2**(0.25) ;
  68. *LIST T2_ANA ;
  69.  
  70. *-------------------------------
  71. * Maillage
  72. *-------------------------------
  73.  
  74. p = 0. 0. ; q = 1. 0. ; s = droi 2 p q ;
  75. *s1inf = s tour (0.5 0.) 30. ;
  76. s1inf = s ;
  77. plaq1 = s1inf tran 1 (0. 0.001) ;
  78. s1sup = inve ( cote 3 plaq1) ;
  79.  
  80. s2inf = s1inf plus (0. 0.1) ;
  81. plaq2 = s2inf tran 1 (0. 0.001) ;
  82. s2sup = inve ( cote 3 plaq2) ;
  83.  
  84. rac12 = racc 0.1 s1sup s2inf ;
  85.  
  86. s3inf = s2inf plus (0. 0.1) ;
  87. plaq3 = s3inf tran 1 (0. 0.001) ;
  88. s3sup = inve ( cote 3 plaq3) ;
  89.  
  90. rac23 = racc 0.1 s2Sup s3inf ;
  91.  
  92. tout = plaq1 et plaq2 et plaq3 ;
  93.  
  94. si graph ; trac tout ; finsi ;
  95.  
  96. *-------------------------------
  97. * Conduction
  98. *-------------------------------
  99.  
  100. mcd = mode tout thermique ;
  101. k = mate mcd 'K' lamb 'RHO' 1. 'C' LAMB;
  102. cnd = cond mcd k ;
  103.  
  104. cte_sb = 5.673e-8 ;
  105.  
  106. *-------------------------------
  107. * Modeles de rayonnement et emissivites
  108. *-------------------------------
  109.  
  110. * face a face
  111. mr1 = mode rac12 thermique rayonnement FACE_A_FACE ;
  112. emi1 = mate mr1 'EMI1' e1 'EMI2' e2inf ;
  113.  
  114. mr2S= mode rac23 thermique rayonnement FACE_A_FACE ;
  115. emi2S= mate mr2S 'EMI1' e2SUP 'EMI2' e3 ;
  116.  
  117. *-------------------------------
  118. * Conditions aux limites
  119. *-------------------------------
  120.  
  121. c1 = bloq plaq1 'T' ;
  122. tim1 = depi c1 T1 ;
  123.  
  124. c3 = bloq plaq3 'T' ;
  125. tim3 = depi c3 T3 ;
  126.  
  127. lr1 = prog 0 100 ;
  128. lr2 = prog 1 1 ;
  129.  
  130. ev1 = evol manu 't' lr1 'T' lr2 ;
  131. cht1 = char 'TIMP' ev1 tIM1 ;
  132. ev3 = evol manu 't' lr1 'T' lr2 ;
  133. cht3 = char 'TIMP' ev3 tIM3 ;
  134.  
  135. *** Températures initiales ...
  136.  
  137. T2 = 500. ;
  138. chINI1 = manu chpo PLAQ1 1 'T' T1 nature diffus ;
  139. chINI2 = manu chpo PLAQ2 1 'T' T2 nature diffus ;
  140. chINI3 = manu chpo PLAQ3 1 'T' T3 nature diffus ;
  141.  
  142.  
  143. *----------------------------------------------------------
  144. * 1. Première méthode de résolution : Algorithme itératif
  145. *----------------------------------------------------------
  146.  
  147. *** Initialisation de la température ...
  148.  
  149. tp = CHINI1 ET CHINI2 ET CHINI3 ;
  150. nbpsup = nbno tout ;
  151.  
  152. *** Résolution (par itérations) ...
  153.  
  154. * Coeff. de relaxation ...
  155. alfa = 0.3 ;
  156.  
  157. listemp = prog ;
  158. listres = prog ;
  159.  
  160. maxiter = 100 ;
  161. critconv = 1.e-5 ;
  162. * opti echo 1 ;
  163. REPE bloc1 ;
  164.  
  165. nbiter = &bloc1 ;
  166.  
  167. * traitement du rayonnement:
  168. * face à face (1,2)
  169.  
  170. h12 = HRAYO 'FACE_A_FACE' mr1 emi1 tp ;
  171. cr12 = cond mr1 h12 ;
  172.  
  173. * face à face (2,3)
  174.  
  175. h23 = HRAYO 'FACE_A_FACE' mr2S emi2S tp ;
  176. cr23 = cond mr2s h23 ;
  177.  
  178. crtot = cr12 et cr23 ;
  179. cndtot = crtot et cnd et c1 ET C3;
  180. residu = (cndtot * tp) ;
  181. normres= ((xtx (exco 'Q' residu)) / nbpsup) ** 0.5 ;
  182. * mess ' La norme du flux résiduel = ' normres ;
  183. si((nbiter > 1) et (normres < critconv)) ;
  184. mess 'Convergence à l itération ' (nbiter-1) ;
  185. quitter bloc1 ;
  186. finsi ;
  187. si(nbiter > maxiter) ;
  188. mess 'Erreur ! Pas de convergence après ' (nbiter-1)
  189. ' itérations !' ;
  190. erre 2 ;
  191. quitter bloc1 ;
  192. finsi ;
  193. listres = listres et (prog normres) ;
  194.  
  195. * mess '---------------------------------------' ;
  196. * mess 'Itération N° ' &bloc1 ;
  197.  
  198. tt = resou cndtot (tim1 et TIM3) ;
  199. dt = exco 'T' (tt - tp) 'T' ;
  200. normdt = ((xtx dt) / nbpsup) ** 0.5 ;
  201. * mess ' La norme de delta t = ' normdt ;
  202.  
  203. tn = (alfa * tt) + ((1.-alfa) * tp) ;
  204. tp = tn ;
  205.  
  206.  
  207. FIN bloc1 ;
  208. * opti echo 1 ;
  209.  
  210. *-------------------------------
  211. * Post-traitement ...
  212. *-------------------------------
  213.  
  214. Temp = exco 'T' tt 'T' ;
  215. T2A = redu plaq2 Temp ;
  216. RESIA=maxi( ABS((T2A - T2_ana)/T2_ana));
  217.  
  218. *------------------------------------------------------
  219. * 2. Deuxieme méthode de résolution : appel a PASAPAS
  220. *------------------------------------------------------
  221.  
  222.  
  223. *** Préparation de la table pour PASAPAS ...
  224.  
  225. tabnl = table ;
  226.  
  227. tabnl . MODELE = MCD ET MR1 ET MR2S ;
  228.  
  229.  
  230. tabnl . CARACTERISTIQUES = K ET EMI1 ET EMI2S ;
  231. tabnl . BLOCAGES_THERMIQUES = C1 ET C3 ;
  232. tabnl . CHARGEMENT = cht1 et cht3 ;
  233.  
  234. tabnl . TEMPS_CALCULES = prog 0. pas 0.1 1.
  235. pas 0.2 4. ;
  236.  
  237. tabnl . TEMPERATURES = table ;
  238. tabnl . TEMPERATURES . 0 = CHINI1 ET CHINI2 ET CHINI3 ;
  239.  
  240.  
  241. tabnl . 'PROCEDURE_THERMIQUE' = 'DUPONT' ;
  242. tabnl . 'CTE_STEFAN_BOLTZMANN' = cte_sb ;
  243.  
  244. tabnl . 'RELAXATION_THETA' = 1. ;
  245.  
  246. *** Appel à PASAPAS ...
  247.  
  248. pasapas tabnl ;
  249.  
  250.  
  251. *** Petit post-traitement ...
  252.  
  253. listt = prog ;
  254. listtp3 = prog ;
  255. listtp3r = prog ;
  256. nbpas = dime (tabnl . TEMPS) ;
  257. repeter surpas nbpas ;
  258. lindice = &surpas - 1 ;
  259. listt = listt et (prog (tabnl . TEMPS . lindice)) ;
  260. valtp3 = MAXI (REDU tabnl . TEMPERATURES . lindice PLAQ2) ;
  261. listtp3 = listtp3 et (prog valtp3) ;
  262. fin surpas ;
  263.  
  264. titr 'Evolution de la temperature de la plaque2';
  265. evtp3 = evol manu 't' listt 'T' listtp3 ;
  266.  
  267. si(graph) ;
  268. dess evtp3 ;
  269. finsi ;
  270.  
  271. T2B = redu tabnl . TEMPERATURES . (nbpas - 1) PLAQ2 ;
  272. RESIB=maxi( ABS((T2B - T2_ana)/T2_ana));
  273.  
  274. * comparaison a la solution analytique
  275.  
  276. mess 'Solution analytique ' T2_ana ;
  277.  
  278. mess 'Solution Algorithme ' (MAXI T2A) ;
  279. mess 'Erreur relative ' (100*RESIA) '%' ;
  280.  
  281. mess 'Solution PASAPAS ' (MAXI T2B) ;
  282. mess 'Erreur relative ' (100*RESIB) '%' ;
  283.  
  284. SI ((RESIA &lt;EG 1.E-4)et(RESIB &lt;EG 1.E-4)) ;
  285. ERRE 0;
  286. SINO;
  287. ERRE 5;
  288. FINSI;
  289.  
  290.  
  291. fin ;
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  

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