* fichier : canalKL.dgibi * Ce cas teste le modèle K-L bas Reynolds (Wolfshtein Yap) * sur l'écoulement turbulent dans un canal plan. * opti trace 'PSC'; *mess ' Configuration Complete ' ; COMPLET = VRAI ; *mess ' Configuration POST ' ; GRAPH = VRAI ; *----------------------------------------------------------------------- *----------------------------------------------------------------------- * |Triangles | Quadrangles * --------------------------- * LINE | | OK * LINB | | * MACRO| ? | OK * QUAF | | OK *----------------------------------------------------------------------- *----------------------------------------------------------------------- *--- Relecture d'un profil de vitesse asymptotique de Référence -------- Si (NON COMPLET); 2.22209E-03 9.51930E-03 2.15866E-02 3.81009E-02 5.87392E-02 8.31785E-02 0.11110 0.14217 0.17607 0.21248 0.25108 0.29155 0.33355 0.37676 0.42088 0.46556 0.51049 0.55534 0.59980 0.64353 0.68623 0.72755 0.76718 0.80480 0.84008 0.87270 0.90234 0.92868 0.95138 0.97014 0.98462 0.99450 0.99946 1. ; 0.25980 0.60654 0.74057 0.81674 0.87078 0.91336 0.94860 0.97849 1.0042 1.0263 1.0454 1.0617 1.0752 1.0858 1.0935 1.0979 1.0988 1.0962 1.0903 1.0812 1.0692 1.0544 1.0369 1.0164 0.99266 0.96512 0.93291 0.89458 0.84739 0.78511 0.68969 0.48982 6.49844E-02 0. ; Sinon; option acquerir 'ucanal_data.dgibi'; aa=1.; acque z*flottant u*flottant v*flottant; REPETER BLOC1 501; acque z*flottant u*flottant v*flottant; FIN BLOC1 ; Finsi; um=su/ep; mess ' Vitesse moyenne ' um; usr = usr * (1./um); zsr = zsr * (1./ep); *----------------------------------------------------------------------- *----------------------------------------------------------------------- *--- Profil de Reichardt ----------------------------------------------- Ka = 0.41; E=9.5; uplusr=(1./Ka)*(Log (unp + (Ka*yplusr))); uplusr=uplusr + (7.8* (unp - (exp (yplusr*(-1./11)))) - ( (yplusr*(-1./11)) * (exp (yplusr*(-1./3.))) ) ); *--- Profil de Reichardt ----------------------------------------------- *----------------------------------------------------------------------- DISCR=QUAF; *DISCR=MACRO; *DISCR=LINE; KPRES=CENTREP1; *KPRES=MSOMMET ; *KPRES=CENTRE ; KSUPG=SUPG; KSUPG=CENTREE; KSUPG=SUPG ; ******=================================================********** ******=================================================********** ******=================================================********** ******=================================================********** ******=================================================********** Si COMPLET; NBIT =400 ; DT = 0.01; H=1. ; L=40.*H; dcl=H/120; dm=H/20; dcx=H/15.; dmx=H/10.; Sinon; NBIT =7; DT = 0.1; H=1. ; L=10.*H; dcl=H/20; dm=H/5; dcx=H/10.; dmx=H/5.; P0 = 0. 0. ; P1 = L 0. ; P2 = L H ; P3 = 0. H ; entree= P0 d dini dcl dfin dm ps3 d dini dm dfin dcl P3; *entree= P0 d 12 P3; par1 = p0 d dini dcx dfin dmx p1 ; *par1 = p0 d dini dcl dfin dcl p1 ; pc= 1. 1.; ang= 43.; ang= 60.; ang= 0. ; mt = daller entree par2 sortie par1; v1=1. 0. ; v2=0. -1.; v3=-1. 0.; v4=0. 1. ; list vt1; list vt2; list vt3; list vt4; $mt = model Mmt 'NAVIER_STOKES' DISCR; $entree = model Mentree 'NAVIER_STOKES' DISCR; $sortie = model Msortie 'NAVIER_STOKES' DISCR; $par1 = model Mpar1 'NAVIER_STOKES' DISCR; $par2 = model Mpar2 'NAVIER_STOKES' DISCR; doma $mt 'IMPR'; doma $entree 'IMPR'; lm = (lm1*ilm1)+(lm2*ilm2) + lma; dparoi=dparoi*(H - dparoi); dparoi=dparoi+1.e-10; Si GRAPH ; trace mt TITR ' Maillage '; Finsi ; Rey = 10000.; U0 = 1. ; Ufr = U0 ; *Ufr = ye*(H - ye)*U0*1.5*4. ; uux=(cos ang) * U0; uuy=(sin ang) * U0; NU = 1./Rey; NU = 3.14E-5; YP = 1.e-2 ; fnu=1.e10; fnu=Nu ; 'OPTI' 'EF' 'IMPL' KSUPG KPRES ZONE $mt 'OPER' 'KEPSILON' 1. 'UN' 'NU' DT 'INCO' 'KN' 'EN' ZONE $mt 'OPER' 'NS' 1. 'UN' 'MUF' 'INCO' 'UN' 'OPTI' 'EFM1' 'IMPL' 'CENTREE' ; RV= EQEX RV CLIM * UN UIMP entre1 Ufr UN VIMP entree 1.e-4 UN UIMP entre1 uux UN VIMP entree (uuy + 1.e-4) UN UIMP (par1 et par2) 0. UN VIMP (par1 et par2) 0. KN TIMP entre1 ((0.02*Ufr)**2.) KN TIMP (par1 et par2) 0. EN TIMP (par1 et par2) 0. ; rv.'METHINV'.TYPINV=3 ; rv.'METHINV'.IMPINV=0 ; rv.'METHINV'.NITMAX=5000; rv.'METHINV'.PRECOND=3 ; *rv.'METHINV'.PRECOND=2 ; rv.'METHINV'.ILUTLFIL=4 ; rv.'METHINV'.ILUTDTOL=0.; rv.'METHINV'.RESID =1.e-8; rv.'METHINV' . 'FCPRECT'=1 ; rv.'METHINV' . 'FCPRECI'=1 ; RVP= EQEX 'OPTI' 'EF' KPRES ; * rvp.'METHINV'.TYPINV=TYPINVPR ; rvp.'METHINV'.TYPINV=3 ; rvp.'METHINV'.IMPINV=0 ; rvp.'METHINV'.NITMAX=2500; rvp.'METHINV'.PRECOND=3 ; rvp.'METHINV'.ILUTLFIL=10; rvp.'METHINV'.ILUTDTOL=0.; rvp.'METHINV'.RESID =1.e-10 ; rvp.'METHINV' . 'FCPRECT'=50000 ; rvp.'METHINV' . 'FCPRECI'=50000 ; rv.'INCO'= table inco ; rv.'INCO'.'NU'=NU; rv.'Tps' = 1. ; rv.'DT' = DT; rv.'NUPAT' =1; un = rv.inco.'UN' ; Si GRAPH; uet=(nu*(abs (dudy + 1.e-5)))**0.5; yplus1= yp1*uet1*(1./ rv.inco.'NU'); yplus2= yp2*uet2*(1./ rv.inco.'NU'); TAB1 = TABLE ; tab1.'TITRE' = TABLE ; nutsnu=(rv.inco.'MUF')*(1./NU); trace ung mt 'TITR' ' Vitesses '; Finsi ; um=(1./H)*qs; unn=(1./um)*un; evdu = (evusi - evusr)*(evusi - evusr); Si GRAPH ; Finsi; errn = (abs (du - 5.89880E-03)); Si (NON COMPLET); Si(errn > 0.0011); erreur 5 ; Finsi ; Finsi; FIN;
© Cast3M 2003 - Tous droits réservés.
Mentions légales