Télécharger dvisi.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : dvisi.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *$$$ DVISI
  5. *X DVISI(Jeux de donnees)
  6.  
  7. **
  8. ** -- DVISI -- Cavite carrée De Vahl Davis RA=1.E6
  9. ** Algorithme implicite
  10. *
  11. * Teste en IMPLICITE NS TSCA DUDW DFDT LAPN
  12. * éléments MACRO
  13. * et QUADRATIQUE QUA9 et TRI7
  14. *
  15. * à noter : 1/ l'initialisation du champ de température se fait
  16. * sur (doma $mt maillage) et non pas mt lorsqu'on utilise
  17. * MACRO
  18. *
  19. * 2/ Le champ de vitesse (inconnue UN) est défini et
  20. * calculé sur le domaine fluide $MF uniquement
  21. *
  22. * 3/ Pour amortir les ondes de gravité on utilise DFDT sur U
  23. * uniquement avec un pas de temps judicieusement calculé
  24. *----------------------------------------------------------------------
  25.  
  26. GRAPH = 'N' ;
  27. COMPLET = FAUX ;
  28.  
  29. SI (COMPLET) ;
  30. NITER = 30 ;
  31. d1=0.02 ; d2= 0.1 ;
  32. d1=0.03 ; d2= 0.2 ;
  33.  
  34. SINON ;
  35. d1=0.05 ; d2= 0.3 ;
  36. *d1=0.5 ; d2= 0.5 ;
  37. NITER = 10 ;
  38. FINSI ;
  39.  
  40. DEBP CALCUL ;
  41. ARGU RX*TABLE ;
  42. rv=rx.'EQEX' ;
  43. tn=rv.'INCO'.'TN' ;
  44. un=rv.'INCO'.'UN' ;
  45. rv.'INCO'.'TF'=kcht $mf scal sommet (redu tn (doma $mf maillage));
  46. as2 ama1 = 'KOPS' 'MATRIK' ;
  47. FINPROC as2 ama1 ;
  48.  
  49. DEBPROC POST ;
  50. ARGU RV*TABLE GRAPH*MOT ;
  51. tn=rv.'INCO'.'TN' ;
  52. un=rv.'INCO'.'UN' ;
  53. uref=rv.INCO.'UREF' ;
  54.  
  55.  
  56. srti=RV.'£AA'.'MAILLAGE' ;
  57. srth=RV.'£BB'.'MAILLAGE' ;
  58. evolV = EVOL 'CHPO' (rv.'INCO'.'UN') UX (srti ) ;
  59. evolH = EVOL 'CHPO' (rv.'INCO'.'UN') UY (srth ) ;
  60. evx=extr evolV 'ORDO' ;
  61. evy=extr evolV 'ABSC' ;
  62. evolV= evol 'MANU' 'Vitesse' evx 'Hauteur' evy ;
  63. evh=extr evolH 'ORDO' ;
  64. rv.'EVH'=evh ;
  65.  
  66. SI ('EGA' GRAPH 'O' );
  67. $mt = rv.'$MT' ;
  68. mt=DOMA $mt MAILLAGE ;
  69. ung1=vect un uref ux uy jaune ;
  70. trac ung1 mt ;
  71. trace tn mt ;
  72.  
  73. TAB1=TABLE;
  74. TAB1.'TITRE'=TABLE ;
  75. TAB1 . 1 ='MARQ REGU ' ;
  76. TAB1.'TITRE' . 1 = mot 'Composante_UX ' ;
  77. DESS evolV 'TITX' 'R (m)' 'TITY' 'V (m/s)' LEGE TAB1 ;
  78.  
  79. TAB1.'TITRE' . 1 = mot 'Composante_UY ' ;
  80. DESS evolH 'TITX' 'R (m)' 'TITY' 'V (m/s)' LEGE TAB1 ;
  81.  
  82. FINSI ;
  83.  
  84. FINPROC ;
  85.  
  86. DEBPROC TEST DISCR*MOT KTYP*MOT ;
  87. option dime 2 elem ktyp ;
  88.  
  89.  
  90. p1=0 0 ; p15= 0.5 0 ; p2=1 0 ; p25=1 0.5 ; p3=1 1;
  91. p35=0.5 1 ; p4=0 1 ; p45= 0 0.5 ;
  92.  
  93. nt= 1 ;
  94.  
  95. bas=p1 d dini d1 dfin d2 p15 d dini d2 dfin d1 p2 ;
  96. cdro=p2 d dini d1 dfin d2 p25 d dini d2 dfin d1 p3 ;
  97. haut=p3 d dini d1 dfin d2 p35 d dini d2 dfin d1 p4 ;
  98. cgau=p4 d dini d1 dfin d2 p45 d dini d2 dfin d1 p1 ;
  99. cnt= bas et cdro et haut et cgau ;
  100. mdro=cdro trans nt (0.2 0.) ;
  101. mdro=mdro coul bleu ;
  102. mgau=cgau trans nt (-0.2 0.) ;
  103. mgau=mgau coul rouge;
  104. pdro=cote 3 mdro ;
  105. pgau=cote 3 mgau ;
  106.  
  107. mf= bas cdro haut cgau daller ;
  108. mt= mf et mgau et mdro ;
  109.  
  110. *trace mt ;
  111.  
  112. mt = chan mt quaf ;
  113. mf = chan mf quaf ;
  114. *opti donn 5 ;
  115. mdro = chan mdro quaf ;
  116. mgau = chan mgau quaf ;
  117. elim (mt et mf et mdro et mgau) 1.e-3 ;
  118.  
  119. $mt= MODE mt 'NAVIER_STOKES' DISCR ;
  120. $mf= MODE mf 'NAVIER_STOKES' DISCR ;
  121. $mdro = MODE mdro 'NAVIER_STOKES' DISCR ;
  122. $mgau = MODE mgau 'NAVIER_STOKES' DISCR ;
  123. *doma $mt 'IMPR' ;
  124. *doma $mf 'IMPR' ;
  125.  
  126. AA=cdro moin (0.5 0.) ;
  127. BB=bas plus (0. 0.5) ;
  128. elim (AA et BB et mt) 1.e-3 ;
  129. $AA=mode AA 'NAVIER_STOKES' DISCR ;
  130. $BB=mode BB 'NAVIER_STOKES' DISCR ;
  131. £AA = DOMA $AA 'TABLE' ;
  132. £BB = DOMA $BB 'TABLE' ;
  133.  
  134. C1 = KCHT $mf SCAL SOMMET 1. ;
  135. NU =.7 ;
  136. ALF=NU ;
  137. ALFP=1.e3 ;
  138. Ra = 1.E6 ;
  139. uref= 0.5/(Ra**0.5) ;
  140. gb = 0. (-1.*(Ra)) ;
  141. t0 = 0. ;
  142. EPSS=1.E-8 ;
  143. DT=0.1/(Ra**0.5) ;
  144. KPRESS=MOT 'CENTREP1' ;
  145.  
  146. RV=EQEX 'OMEGA' 1. 'NITER' NITER
  147. 'OPTI' 'EF' IMPL 'CENTREE' 'NODIV'
  148. 'ZONE' $MF 'OPER' 'CALCUL'
  149. 'ZONE' $MF 'OPER' 'DFDT' C1 'UN' DT 'INCO' 'UN'
  150. 'ZONE' $MF 'OPER' 'NS' 1. 'UN' NU GB 'TF' T0 'INCO' 'UN'
  151. 'OPTI' 'IMPL' KPRESS
  152. 'ZONE' $MF 'OPER' 'DUDW' EPSS 'INCO' 'UN'
  153. ;
  154.  
  155. RV=EQEX RV
  156. 'OPTI' 'EF' 'IMPL' 'CENTREE' 'DIV2'
  157. 'ZONE' $MF 'OPER' 'TSCA' 1. 'UN' ALF 0. 'INCO' 'TN'
  158. 'ZONE' $MGAU 'OPER' 'LAPN' ALFP 'INCO' 'TN'
  159. 'ZONE' $MDRO 'OPER' 'LAPN' ALFP 'INCO' 'TN'
  160. ;
  161.  
  162. RV = EQEX RV
  163. 'CLIM'
  164. 'UN' 'UIMP' (bas et cgau et cdro et haut) 0.
  165. 'UN' 'VIMP' (bas et cgau et cdro et haut) 0.
  166. 'TN' 'TIMP' pgau 1. 'TN' 'TIMP' pdro 0.
  167. ;
  168.  
  169. RV.INCO=TABLE INCO ;
  170. RV.INCO.'UN'=kcht $MF VECT SOMMET (0. 0.);
  171. RV.INCO.'UF'=kcht $MF VECT SOMMET (0. 0.);
  172. corx= coor 1 (doma $mt maillage) ;
  173. RV.INCO.'TN'=kcht $MT SCAL SOMMET ((6./7.) -(10./14.*corx)) ;
  174. RV.INCO.'UREF'= uref ;
  175.  
  176. EXEC RV ;
  177.  
  178. RV.'£AA'=£aa ;
  179. RV.'£BB'=£bb ;
  180. RV.'$MT'=$MT ;
  181.  
  182. FINPROC RV ;
  183.  
  184.  
  185.  
  186. DISCR='QUAF' ;
  187. rv = test DISCR 'QUA8' ;
  188.  
  189. POST rv graph ;
  190.  
  191. si (non COMPLET ) ;
  192. evh=abs (rv.'EVH') ;
  193. list evh ;
  194. levh=prog
  195. +1.28705E-28 190.48 169.84 73.736 8.8625
  196. +4.6032 +6.6793 +7.3036 22.072 +3.4506
  197. 15.628 4.1952 +22.973 +75.193 +167.79
  198. +185.76 +5.01314E-28;
  199. ER=SOMM( (((abs (levh - evh))*0.0625)**2.) / 200. ) ;
  200. mess ' Ecart sur profil de vitesse ' er ;
  201. si ( ER > 5.e-2 ) ; erreur 5 ; finsi ;
  202. FINSI ;
  203.  
  204.  
  205. DISCR='MACRO';
  206. rv = test DISCR 'QUA8' ;
  207.  
  208. POST rv graph ;
  209.  
  210. si (non COMPLET ) ;
  211. evh=abs (rv.'EVH') ;
  212. list evh ;
  213. levh=prog
  214. +1.08113E-27 199.41 180.27 74.817 10.442
  215. +7.2698 +9.7538 +6.5028 12.026 +3.4137
  216. 12.737 7.0361 +18.851 +75.526 +178.49
  217. +195.70 +3.56690E-28;
  218.  
  219. ER=SOMM( (((abs (levh - evh))*0.0625)**2.) / 200. ) ;
  220. mess ' Ecart sur profil de vitesse ' er ;
  221. si ( ER > 1.e-2) ; erreur 5 ; finsi ;
  222. FINSI ;
  223.  
  224.  
  225. DISCR='QUAF';
  226. rv = test DISCR 'TRI6' ;
  227.  
  228. POST rv graph ;
  229.  
  230. si (non COMPLET ) ;
  231. evh=abs (rv.'EVH') ;
  232. list evh ;
  233. levh=prog
  234. +4.52120E-28 195.09 164.52 75.608 18.322
  235. +4.2786 +12.250 +5.8335 9.3695 2.1938
  236. 2.3476 4.2553 +10.490 +74.205 +165.31
  237. +183.44 +3.22803E-28;
  238.  
  239. ER=SOMM( (((abs (levh - evh))*0.0625)**2.) / 200. ) ;
  240. mess ' Ecart sur profil de vitesse ' er ;
  241. si ( ER > 5.e-3 ) ; erreur 5 ; finsi ;
  242. FINSI ;
  243. FIN ;
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  

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