Télécharger cc3d3.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : cc3d3.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. **
  5. ** --- 08 Novembre 1999 ---
  6. **
  7. ** TEST CAVITE CUBIQUE
  8. **
  9. ** teste KBBT NS en 3D + le Bi CG
  10. ** teste les elements a pression continue sur des hexahedres
  11. ** et prisme P2 + bulle - P1 et Q2 - Q1 algorithme de projection
  12.  
  13. GRAPH = 'N' ;
  14. err1=1.e-6;
  15. DISCR='QUAF';
  16.  
  17. ds1=0.02 ; ds2=0.3 ;
  18. ITMAX=20 ;
  19.  
  20. option dime 2 elem qua4 ;
  21.  
  22. opti isov suli ;
  23. p1= 0 0 ; p12=0.5 0. ; p2= 1 0 ;
  24.  
  25. ab=p1 d dini ds1 dfin ds2 p12 d dini ds2 dfin ds1 p2 ;
  26. ab12= p12 d dini ds1 dfin ds2 (0.5 0.5) d dini ds2
  27. dfin ds1 (0.5 1.) ;
  28. mt0 = ab trans dini ds1 dfin ds2 (0 0.5) trans dini ds2
  29. dfin ds1 (0 0.5) ;
  30.  
  31. mt1= ab trans dini ds1 dfin ds2 (0 0.5);
  32.  
  33. opti elem tri3 ;
  34.  
  35. mt2= (cote 3 mt1) trans dini ds2
  36. dfin ds1 (0 0.5) ;
  37.  
  38. *cnt2=cont mt2 ;
  39. *mt2 = cnt2 surf ;
  40. mt = mt1 et mt2 ;
  41. elim (mt0 et mt) 1.e-5 ;
  42.  
  43. si (ega graph 'O');
  44. trace mt ;
  45. finsi ;
  46.  
  47. bc=cote 2 mt0 ;
  48. cd=cote 3 mt0 ;
  49. da=cote 4 mt0 ;
  50. ct=ab et bc et cd et da ;
  51. elim ct 1.e-3 ;
  52. cnt= ab et bc et cd et da ;
  53.  
  54.  
  55. mt=orie mt ;
  56.  
  57. opti dime 3 elem cub8;
  58.  
  59. prof=0.1;
  60. mth=mt plus (0 0 prof) ;
  61. ab= ab plus (0 0 prof) ;
  62. oeil = 10 10 100 ;
  63. nph=1 ;
  64. cav=mt volu nph mth ;
  65.  
  66. f1=face 1 cav ;
  67. f2=face 2 cav ;
  68. f3=face 3 cav ;
  69.  
  70. psup=(ab plus (0 1 0)) trans nph (0 0 ((-1.)*prof)) ;
  71. psup= CHAN QUAF psup ;
  72. ff3= CHAN QUAF f3 ;
  73. cav= chan cav quaf ;
  74. ab=chan ab quaf ;
  75. f1= chan QUAF f1 ;
  76. f2= chan QUAF f2 ;
  77.  
  78. srti=da plus (0.5 0. 0.) ;
  79. srti = inve srti ;
  80. elim (srti et cav) 1.e-5 ;
  81. srti =chan srti quaf ;
  82.  
  83. elim (cav et psup et ab et ff3 et f1 et f2 et srti) 1.e-5 ;
  84.  
  85. $mt=mode cav 'NAVIER_STOKES' DISCR ;
  86. $AB=mode AB 'NAVIER_STOKES' DISCR ;
  87. DOMA $mt IMPR ;
  88. $srti=mode srti 'NAVIER_STOKES' DISCR ;
  89. DOMA $mt IMPR ;
  90. srti = doma $srti maillage ;
  91.  
  92. DT=1. ;
  93. MU=1. ;
  94. RO= 400.;
  95. kpress='MSOMMET';
  96. prep1=doma $mt kpress;
  97. bcp=elem prep1 POI1 (lect 1 ) ;
  98.  
  99. rv= eqex 'OMEGA' 1. 'NITER' 1 ITMA ITMAX
  100. 'OPTI' 'EF' 'IMPL' KPRESS 'SUPG'
  101. ZONE $mt OPER NS 1. 'UN' (MU/RO) INCO 'UN'
  102. 'OPTI' 'EF' 'BDF2'
  103. ZONE $mt OPER DFDT 1. 'UNM' 'UNMM' DT 'UN' MU INCO 'UN'
  104. ;
  105.  
  106. rv=eqex rv
  107. CLIM
  108. UN UIMP ff3 0. UN VIMP ff3 0. UN WIMP ff3 0.
  109. UN UIMP PSUP 1. UN WIMP (f1 et f2) 0. ;
  110.  
  111. rv=eqex rv CLIM UN WIMP CAV 0. ;
  112.  
  113.  
  114. rv.inco= table inco ;
  115. rv.inco.tn = kcht $mt scal sommet 5. ;
  116. rv.inco.un = kcht $mt vect sommet (1.e-5 1.e-5 1.e-5) ;
  117. rv.inco.'UNM' = kcht $mt vect sommet (1.e-5 1.e-5 1.e-5) ;
  118. rv.inco.'UNMM' = kcht $mt vect sommet (1.e-5 1.e-5 1.e-5) ;
  119.  
  120. rv.inco.pres = kcht $mt scal KPRESS 1.e-5 ;
  121.  
  122. rv.'METHINV'.TYPINV=3 ;
  123. rv.'METHINV'.IMPINV=0 ;
  124. rv.'METHINV'.NITMAX=100;
  125. rv.'METHINV'.PRECOND=3 ;
  126. rv.'METHINV'.RESID =1.e-8 ;
  127.  
  128. RVP= EQEX
  129. 'OPTI' 'EF' KPRESS
  130. ZONE $mt OPER KBBT (-1.) INCO 'UN' 'PRES'
  131. CLIM PRES TIMP bcp 0.
  132. ;
  133.  
  134. rvp.'METHINV'.TYPINV=2 ;
  135. rvp.'METHINV'.IMPINV=0 ;
  136. rvp.'METHINV'.NITMAX=100;
  137. rvp.'METHINV'.PRECOND=3 ;
  138. rvp.'METHINV'.RESID =1.e-10;
  139. rvp.'METHINV' . 'FCPRECT'=100 ;
  140. rvp.'METHINV' . 'FCPRECI'=100 ;
  141.  
  142. RV.'PROJ'= RVP ;
  143.  
  144. exec rv ;
  145. da = chan da quaf ;
  146. elim ( da et cav) 1.e-5 ;
  147. srti=da plus (0.5 0. 0.) ;
  148. srti = inve srti ;
  149. elim (srti et cav) 1.e-5 ;
  150. evolV = EVOL 'CHPO' (rv.'INCO'.'UN') UX (srti ) ;
  151. evx=extr evolV 'ORDO' ;
  152. list evx ;
  153. evy=extr evolV 'ABSC' ;
  154. evolV= evol 'MANU' 'Vitesse' evx 'Hauteur' evy ;
  155.  
  156. si ('EGA' graph 'O' );
  157. TAB1=TABLE;
  158. TAB1.'TITRE'=TABLE ;
  159. TAB1 . 1 ='MARQ REGU ' ;
  160.  
  161. TAB1.'TITRE' . 1 = mot 'Composante_UY ' ;
  162. DESS evolV 'TITX' 'R (m)' 'TITY' 'V (m/s)' LEGE TAB1 ;
  163.  
  164. c1=vect (rv.inco.'UN') 0.3 ux uy uz jaune ;
  165. *trace c1 mt ;
  166. trace c1 cav ;
  167. trace (rv.inco.'PRESSION') mt cnt ;
  168. finsi ;
  169.  
  170. lrr=prog
  171. -9.45667E-40 -1.18439E-02 -2.33401E-02 -4.26135E-02 -6.08201E-02
  172. -9.03463E-02 -.11898 -.16633 -.18921 -.16629
  173. -8.99933E-02 -1.74638E-02 2.50559E-02 7.02040E-02 .12375
  174. .18613 .31337 .46512 .68187 .83580
  175. 1.0000;
  176.  
  177. lr = evx ;
  178.  
  179. Dgsrti = doma $srti 'XXDIAGSI' ;
  180. li= 'EXTR' (evol chpo Dgsrti srti) 'ORDO' ;
  181.  
  182. ER=( SOMM( ((lr - lrr)*(lr - lrr))*li) )** 0.5 ;
  183. mess ' Ecart sur CENTREP1 TRI7 QUADR ' er ;
  184. Si ( er > err1 ) ; erreur 5 ; finsi ;
  185. FIN ;
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  

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