Télécharger Lapq.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : lapq.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. * Comparaison a la solution analytique en regime permanent
  5. * de la conduction dans un massif avec source
  6. * volumique. La temperature de paroi est imposee (Tw)
  7. * En 2D et 3D
  8. *
  9. * Lapn T + q = 0.
  10. *
  11. *
  12. * T - Tw = 1/2 lambda/q (r**2 - x**2)
  13. *
  14. *
  15. opti dime 2 elem QUA4 ;
  16.  
  17. GRAPH=VRAI ;
  18. GRAPH=FAUX ;
  19. DISCR = LINE ;
  20. NBIT = 5 ;
  21.  
  22. hz= 2. ;
  23. r0=1. ;
  24. p0=0 0 ;P1= r0 0 ; p2= r0 1 ; P3= 0 1 ;
  25. n1 = 4 ;
  26. n2 = 2 ;
  27. nz= 2 ;
  28. ab = p0 d n1 p1 ;
  29. wall = p1 d n2 p2 ;
  30. bc = p2 d n1 p3 ;
  31. axe = P3 d n2 p0 ;
  32.  
  33. mt= daller ab wall bc axe ;
  34. Mmt= chan QUAF mt ;
  35. Mwall = chan QUAF wall ;
  36. elim (Mwall et Mmt) 1.e-5 ;
  37. $wall = mode Mwall 'NAVIER_STOKES' DISCR ;
  38. wall = doma $wall maillage ;
  39. $mt= mode Mmt 'NAVIER_STOKES' DISCR ;
  40. mt= doma $mt maillage ;
  41. Lambda = 3.142 ;
  42. DT=1. ;
  43. SRC= 7.5 ;
  44. tw= 1.46 ;
  45.  
  46. rt=eqex 'OMEGA' 1. 'NITER' 1 ITMA 1 'FIDT' 1
  47. 'OPTI' 'EF' 'IMPL'
  48. ZONE $mt 'OPER' 'LAPN' lambda 'INCO' 'TN'
  49. ZONE $mt 'OPER' 'FIMP' src 'INCO' 'TN'
  50. 'OPTI' 'EFM1' 'IMPL' 'CENTREE'
  51. ZONE $mt OPER DFDT 1. 'TNM' DT INCO 'TN'
  52. ;
  53.  
  54. RT= eqex RT CLIM
  55. TN TIMP wall tw ;
  56. ;
  57.  
  58. rt.'METHINV'.TYPINV=1 ;
  59. rt.'METHINV'.IMPINV=0 ;
  60. rt.'METHINV'.NITMAX=400;
  61. rt.'METHINV'.PRECOND=3 ;
  62. rt.'METHINV'.RESID =1.e-8 ;
  63. rt. 'METHINV' . 'FCPRECT'=1 ;
  64. rt. 'METHINV' . 'FCPRECI'=1 ;
  65.  
  66. rt.'INCO'=table 'INCO';
  67. rt.inco.'TN'= kcht $mt scal sommet 1. ;
  68. rt.inco.'TNM'= kcht $mt scal sommet 1. ;
  69.  
  70.  
  71. xr= coor 1 mt ;
  72. t =tw + (src / lambda / 2. * ((r0*r0) - (xr*xr))) ;
  73. dg=doma $mt 'XXDIAGSI' ;
  74.  
  75. repeter bloc1 nbit ;
  76. exec rt ;
  77. tn=rt.inco.'TN' ;
  78. ec= t - tn ;
  79. el2= somt (dg * (ec*ec)) ;
  80. mess 'Erreur L2 ' el2 ;
  81. fin bloc1 ;
  82.  
  83. evb= evol 'CHPO' tn ab;
  84. evh= evol 'CHPO' tn (inve bc);
  85. eva= evol 'CHPO' t ab;
  86.  
  87. tab1=table ;
  88. tab1.1 = 'MARQ CROI REGU' ;
  89. tab1.2 = 'MARQ TRIA REGU' ;
  90. tab1.3 = 'MARQ LOSA REGU' ;
  91. tab1.'TITRE' = table ;
  92. tab1.'TITRE'. 1 = 'MOT' 'bas ' ;
  93. tab1.'TITRE'. 2 = 'MOT' 'haut' ;
  94. tab1.'TITRE'. 3 = 'MOT' 'Sol analytique' ;
  95.  
  96. Si GRAPH ;
  97. dess (evh et evb et eva)
  98. LEGE TAB1 DATE MIMA TITR
  99. ' Temperature ' ;
  100. Finsi ;
  101.  
  102. si ( El2 > 1.E-9 ) ; erreur 5 ; finsi ;
  103.  
  104. opti dime 3 elem cub8 ;
  105.  
  106. mt0 = mt volu nz 'TRAN' (0 0 hz) ;
  107. mt1= syme mt0 'PLAN' p0 p1 (1 0 hZ) ;
  108. mt = mt1 et mt0 ;
  109. wal = wall et (syme wall 'POINT' p1) ;
  110. wall = wal trans nz (0 0 hz) ;
  111. elim (mt et wall) 1.e-5 ;
  112.  
  113. Mmt= chan QUAF mt ;
  114. Mwall = chan QUAF wall ;
  115. elim (Mwall et Mmt) 1.e-5 ;
  116. $wall = mode Mwall 'NAVIER_STOKES' DISCR ;
  117. wall = doma $wall maillage ;
  118. $mt= mode Mmt 'NAVIER_STOKES' DISCR ;
  119. mt= doma $mt maillage ;
  120. Lambda = 2. ;
  121. DT=1. ;
  122. SRC= 0.5 ;
  123. tw= 1. ;
  124.  
  125. rt=eqex 'OMEGA' 1. 'NITER' 1 ITMA 1 'FIDT' 1
  126. 'OPTI' 'EF' 'IMPL'
  127. ZONE $mt 'OPER' 'LAPN' Lambda 'INCO' 'TN'
  128. ZONE $mt 'OPER' 'FIMP' src 'INCO' 'TN'
  129. 'OPTI' 'EFM1' 'IMPL' 'CENTREE'
  130. ZONE $mt OPER DFDT 1. 'TNM' DT INCO 'TN'
  131. ;
  132.  
  133. RT= eqex RT CLIM
  134. 'TN' TIMP wall tw ;
  135.  
  136.  
  137. rt.'METHINV'.TYPINV=1 ;
  138. rt.'METHINV'.IMPINV=0 ;
  139. rt.'METHINV'.NITMAX=400;
  140. rt.'METHINV'.PRECOND=3 ;
  141. rt.'METHINV'.RESID =1.e-8 ;
  142. rt. 'METHINV' . 'FCPRECT'=1 ;
  143. rt. 'METHINV' . 'FCPRECI'=1 ;
  144.  
  145. rt.'INCO'=table 'INCO';
  146. rt.inco.'TN'= kcht $mt scal sommet 1. ;
  147. rt.inco.'TNM'= kcht $mt scal sommet 1. ;
  148.  
  149. xr= coor 1 mt ;
  150. t =tw + (src / lambda / 2. * ((r0*r0) - (xr*xr))) ;
  151. dg=doma $mt 'XXDIAGSI' ;
  152.  
  153. repeter bloc1 nbit ;
  154. exec rt ;
  155. tn=rt.inco.'TN' ;
  156. ec= t - tn ;
  157. el2= somt (dg * (ec*ec)) ;
  158. mess 'Erreur L2 ' el2 ;
  159. fin bloc1 ;
  160.  
  161. evb= evol 'CHPO' tn ab;
  162. evh= evol 'CHPO' tn (inve bc);
  163. eva= evol 'CHPO' t ab;
  164.  
  165. tab1=table ;
  166. tab1.1 = 'MARQ CROI REGU' ;
  167. tab1.2 = 'MARQ TRIA REGU' ;
  168. tab1.3 = 'MARQ LOSA REGU' ;
  169. tab1.'TITRE' = table ;
  170. tab1.'TITRE'. 1 = 'MOT' 'bas ' ;
  171. tab1.'TITRE'. 2 = 'MOT' 'haut' ;
  172. tab1.'TITRE'. 3 = 'MOT' 'Sol analytique' ;
  173.  
  174. Si GRAPH ;
  175. dess (evh et evb et eva)
  176. LEGE TAB1 DATE MIMA TITR
  177. ' Temperature ' ;
  178. Finsi ;
  179.  
  180. si ( El2 > 1.E-9 ) ; erreur 5 ; finsi ;
  181.  
  182. FIN ;
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  

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