Télécharger rayo-2D-5.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : rayo-2D-5.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. *************************************************************
  6. * *
  7. * Calcul d'une plaque infinie (de largeur 2L) avec tempé- *
  8. * rature imposée au milieu et soumise au rayonnement. *
  9. * Il s'agit de trouver la température au bord en régime *
  10. * permanent. *
  11. * *
  12. * Néanmoins nous cherchons la solution en faisant un *
  13. * calcul transitoire avec PASAPAS pour tester celle-ci *
  14. * en configuration température imposée + rayonnement vers *
  15. * l'infini. *
  16. * *
  17. * Modélisation plane. *
  18. * *
  19. * Auteurs : Michel Bulik & Nadia Coulon *
  20. * *
  21. * Date : Avril 1997 *
  22. * *
  23. * on introduit une emissivite a l infini differente de 1 * |li style="font-weight: normal; vertical-align:top;">
    * et une temperature a l'infini differente de 0K *
  24. *************************************************************
  25. *
  26. *** Options ...
  27.  
  28. opti dime 2 elem seg2 echo 1 ;
  29.  
  30. *** Paramètres ...
  31.  
  32. L = 1. ;
  33. ep = L / 10 ;
  34.  
  35. graph = faux ;
  36.  
  37. Tempini = 1000. ;
  38. Tempext = 2. * Tempini ;
  39.  
  40. cte_sb = 5.673e-8 ;
  41. Gamma = 1. ;
  42. si ( neg Gamma 0. ) ;
  43. lambda = (cte_sb * Tempini * Tempini * Tempini * L) / Gamma ;
  44. mess 'Lambda = ' lambda ;
  45. valemis = 0.8 ;
  46. e0 = 0.5 ;
  47.  
  48. sinon ;
  49. lambda = 1. ;
  50. mess 'Lambda choisie arbitrairement = ' lambda ;
  51. valemis = 0. ;
  52. e0 = 1. ;
  53. finsi ;
  54.  
  55. *** Points ...
  56.  
  57. dens 0.1 ;
  58. p1 = 0 0 ;
  59. p2 = 0 ep ;
  60.  
  61. vechoriz = L 0 ;
  62.  
  63. *** Lignes ...
  64.  
  65. li1 = p1 d 1 p2 ;
  66.  
  67. *** Surface ...
  68.  
  69. opti elem qua4 ;
  70. su1 = li1 tran vechoriz dini 0.1 dfin 0.01 ;
  71.  
  72. li2 = cote 3 su1 ;
  73. p3 = li2 poin proc vechoriz ;
  74.  
  75. li3 = cote 2 su1 ;
  76.  
  77. si(graph) ;
  78. titr 'Le maillage de la plaque' ;
  79. trac su1 ;
  80. finsi ;
  81.  
  82. *** Modèles ...
  83.  
  84. mocnd = mode su1 thermique ;
  85. macnd = mate mocnd 'K' lambda 'RHO' 1. 'C' lambda ;
  86.  
  87. moray = mode li2 thermique rayonnement INFINI ;
  88. maray = mate moray 'EMIS' valemis 'E_IN' e0;
  89.  
  90. *** Température imposée ...
  91.  
  92. blt = bloq 'T' li1 ;
  93. ti = depi blt Tempini ;
  94. lr1 = prog 0 100 ;
  95. lr2 = prog 1 1 ;
  96. ev1 = evol manu 't' lr1 'T' lr2 ;
  97. chti = char 'TIMP' ev1 ti ;
  98.  
  99. *** Température extérieure ...
  100.  
  101. chtext = manu chpo li2 1 'T' Tempext nature diffus ;
  102. chte = char 'TERA' ev1 chtext ;
  103.  
  104. *** Préparation de la table pour PASAPAS ...
  105.  
  106. tabnl = table ;
  107.  
  108. tabnl . MODELE = mocnd et moray ;
  109. tabnl . CARACTERISTIQUES = macnd et maray ;
  110. tabnl . BLOCAGES_THERMIQUES = blt ;
  111. tabnl . CHARGEMENT = chti et chte ;
  112.  
  113. tabnl . TEMPS_CALCULES = prog 0. pas 0.1 1.
  114. pas 0.2 2. ;
  115.  
  116. tabnl . TEMPERATURES = table ;
  117. tabnl . TEMPERATURES . 0 = manu chpo su1 1 'T' Tempini ;
  118.  
  119. * tabnl . RAYONNEMENT = table ;
  120. * tabnl . RAYONNEMENT . 1 = table ;
  121. * tabnl . RAYONNEMENT . 1 . TYPE = 'INFINI' ;
  122. * tabnl . RAYONNEMENT . 1 . MODELE = moray ;
  123.  
  124. tabnl . 'PROCEDURE_THERMIQUE' = 'DUPONT' ;
  125. tabnl . 'CTE_STEFAN_BOLTZMANN' = cte_sb ;
  126.  
  127. tabnl . 'RELAXATION_THETA' = 1. ;
  128.  
  129. *** Appel à PASAPAS ...
  130.  
  131. pasapas tabnl ;
  132.  
  133.  
  134. *** Petit post-traitement ...
  135.  
  136. listt = prog ;
  137. listtp3 = prog ;
  138. listtp3r = prog ;
  139. nbpas = dime (tabnl . TEMPS) ;
  140. repeter surpas nbpas ;
  141. lindice = &surpas - 1 ;
  142. listt = listt et (prog (tabnl . TEMPS . lindice)) ;
  143. valtp3 = extr (tabnl . TEMPERATURES . lindice) T p3 ;
  144. listtp3 = listtp3 et (prog valtp3) ;
  145. valtp3r = (valtp3 - Tempext) / (Tempini - Tempext) ;
  146. listtp3r = listtp3r et (prog valtp3r) ;
  147.  
  148. * ... Vérification s'il n'y a pas d'oscillations spatiales ...
  149. si(faux) ;
  150. chtit = chai 'Profil de temperature au temps '
  151. (tabnl . TEMPS . lindice) ;
  152. titr chtit ;
  153. profil = evol chpo (tabnl . TEMPERATURES . lindice)
  154. 'T' li3 ;
  155. dess profil ;
  156. finsi ;
  157.  
  158. fin surpas ;
  159.  
  160. titr 'Evolution de la temperature au bord de la plaque' ;
  161. evtp3 = evol manu 't' listt 'T' listtp3 ;
  162. titr 'Evolution de la temperature relative au bord de la plaque' ;
  163. evtp3r = evol manu 't' listt 'T' listtp3r ;
  164.  
  165. si(graph) ;
  166. dess evtp3 ;
  167. dess evtp3r ;
  168. finsi ;
  169.  
  170. *** Vérification si c'est OK ...
  171.  
  172. ************************************************************************
  173. * *
  174. * On va résoudre analytiquement le problème en écrivant l'égalité *
  175. * des flux (T = température au bord de la plaque) : *
  176. * *
  177. * T_imp - T *
  178. * lambda ------------- = epsilon * sigma * (T^4 - T_ext^4) *
  179. * L *
  180. * avec epsilon(e,e0) *
  181. * *
  182. ************************************************************************
  183.  
  184. ee = ((1./valemis) + (1./e0) - 1.); ee = 1./ee ;
  185. mess ' ee: ' ee ;
  186.  
  187. A_0 = -1 * ((lambda * Tempini / L) +
  188. (ee * cte_sb * (Tempext**4))) ;
  189. A_1 = lambda / L ;
  190. A_2 = 0.0 ;
  191. A_3 = 0.0 ;
  192. A_4 = ee * cte_sb ;
  193.  
  194.  
  195. r1 = racp A_0 A_1 A_2 A_3 A_4 ;
  196.  
  197. * mess 'Zéros du polynôme :' r1 ' ' r2 ' ' r3 ' ' r4 ;
  198.  
  199. sol_anlt = r1 extr 2 ;
  200.  
  201. sol_calc = extr listtp3 (dime listtp3) ;
  202. mess ' anal ' sol_anlt ; mess ' calc ' sol_calc ;
  203. erreur = 100 * (sol_calc - sol_anlt) / sol_anlt ;
  204. mess 'Erreur relative = ' erreur '%' ;
  205.  
  206. si(abs(erreur) > 0.01) ;
  207. erre 5 ;
  208. sinon ;
  209. erre 0 ;
  210. finsi ;
  211.  
  212. *** Bye ...
  213.  
  214. fin ;
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  

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