***************************************************** ************************************************************************ ************************************************************************ * fichier : dynasp.dgibi * ** modifie le 15/06/2014 passage EQPR -> EQEX * ** Il a été nécessaire de modifier aussi FROT * ** soi yfrot.eso et yfrti.eso * ***************************************************** * fichier : dynasp.dgibi * Test DYNASP K-epsilon GRAPH = 'N' ; complet = FAUX ; DISCR = 'LINE' ; KPRESS= 'CENTRE' ; BETAP = 1. ; titolo_g = chaine 'Dynasp-35 ' ; titolo = chaine titolo_g ; titr titolo ; si ( complet ) ; n1 = 4 ; n2 = 4*n1 ; n3 = -10*n1 ; sinon ; n1 = 2 ; n2 = 4*n1 ; n3 = -5*n1 ; finsi ; n4 = -1*n1 ; n5 = -1*n2 ; dmed = 2.000/n3 ; dmin = dmed/1.5 ; dmax = dmed*1.5 ; pa0 = 0.000 0.000 ; pb0 = 0.0435 0.000 ; pc0 = 0.200 0.000 ; pa1 = 0.000 1.000 ; pb1 = 0.0435 1.000 ; pc1 = 0.200 1.000 ; pa2 = 0.000 2.000 ; pb2 = 0.0435 2.000 ; pc2 = 0.200 2.000 ; pa3 = 0.000 0.500 ; pb3 = 0.0435 0.500 ; pc3 = 0.200 0.500 ; pa4 = 0.000 1.500 ; pb4 = 0.0435 1.500 ; pc4 = 0.200 1.500 ; top = in et dtop ; wet = weti et wets ; dry = dryi et drys ; axe = axei et axes ; side = sidei et sides ; mt = dry et wet ; wall = bot et side et dtop ; tass mt ; C = 3.50e-2 ; Vi = 0.16 ; Dp = 4.70e-4 ; S = 0.400*0.087 ; C_s = C/S ; * Options * Reading mesh yp = 0.010 ; rapp = (0.400 - yp)/0.400 ; * trac mt ; * Dominions et Mdry et Mwall et Mdtop) 1.e-5 ; 'DOMA' $mt 'IMPR' ; * Physical properties condf = 2.62e-2 ; nuf = 1.50e-5 ; rof = 1.20e-0 ; cpf = 1.00e+3 ; nup = 1.00e-20 ; rop = 2.50e+3 ; cpp = 8.40e+2 ; difp = nup ; rrho = rof/rop ; qvol = 0.00 ; gx = 0.00e+0 ; gy = -9.81e+0 ; gdr = 0.0 (-9.81*(rop-rof)/rop) ; beta = 1.0 1.0 ; * alpha = (3.14/6.0)*n_dot*(Dp**3.0)/Vi ; alpha = C_s/rop/Vi ; n_dot = (6.0/3.14)*C_s/(rop*(Dp**3.0)) ; ustella = 30.0*nuf/yp ; L0 = 0.30 ; K0 = 1.0e-4 ; Rec = 50.0 ; Uref = 4. ; * mess 'Cs' C_s 'Dp' Dp 'n_dot' n_dot ; opti donn 5 ; tabbil = table ; tabbil.'ROCPF' = (rof*cpf) ; tabbil.'ROCPP' = (rop*cpp) ; tabbil.'VOL' = volmt ; tabbil.'CNT' = $cnt ; tabbil.'TOP' = $top ; tabbil.'BOT' = $bot ; * Table for bif tabbif = table ; tabbif.'RHOF' = rof ; tabbif.'RHOP' = rop ; tabbif.'DPART' = Dp ; tabbif.'NUF' = nuf ; * tabbif.'HPART' = mot 'HP' ; * tabbif.'HFLUID' = mot 'HF' ; * tabbif.'LAMBDAF' = condf ; * tabbif.'ROCPP' = (rop*cpp) ; * tabbif.'ROCPF' = (rof*cpf) ; * tabbif.'TGASN' = mot 'TF' ; * tabbif.'TGASE' = mot 'TFE' ; * tabbif.'TPARTN' = mot 'TP' ; * tabbif.'TPARTE' = mot 'TPE' ; * Points for time histories nc = 10 ; ps = npti / nc ; pf = ps * nc ; 'UN' 1 lh 'UN' 2 lh 'VN' 1 lh 'VN' 2 lh 'KN' lh 'EN' lh * 'TP' lh 'TF' lh 'A' lh ; si ( complet ) ; nbit = 10000 ; sinon ; nbit = 800 ; * nbit = 20 ; finsi ; * Equations + boudary conditions * Navier-Stokes + K-epsilon + particle mass conservation * ZONE $mt OPER NS nuf zero INCO UN OPTI 'NOCONS' 'SUPG' 'MMPG' ZONE $wall OPER FPU nuf 'USTAR' yp INCO UN KN EN ZONE $mt OPER NS nup gdr INCO VN OPTI 'CONS' 'SUPG' ZONE $mt OPER TSCA nup 'VN' qvol 'TN' INCO A ; * Coupling terms on q.d.m equations rv = EQEX rv OPTI 'NOCONS' 'EFM1' * OPTI 'IMPL' ZONE $mt OPER FROT 'KFL' beta 'VN' INCO UN * OPTI 'IMPL' ZONE $mt OPER FROT 'KPR' beta 'UN' INCO VN ; rv = EQEX rv ZONE $mt OPER FILTREKE Uref L0 INCO KN EN ZONE $mt OPER PPRE 'VN' rrho INCO VN ZONE $mt OPER BIF tabbif INCO VN ; * Coupling terms on energy equations * rv = EQEX rv * ZONE $mt OPER TSCA difp 'VN' qvol INCO TP * ZONE $mt OPER TSCA diff 'UN' qvol INCO TF * ZONE $mt OPER ECHI 'HP' 'TFE' INCO TP * ZONE $mt OPER ECHI 'HF' 'TPE' INCO TF * ZONE $mt OPER BILA tabbil ; 'ZONE' $MT 'OPER' 'DFDT' 1. 'UN' 'DELTAT' 'INCO' 'UN' 'ZONE' $MT 'OPER' 'DFDT' 1. 'VN' 'DELTAT' 'INCO' 'VN' 'ZONE' $MT 'OPER' 'DFDT' 1. 'KN' 'DELTAT' 'INCO' 'KN' 'ZONE' $MT 'OPER' 'DFDT' 1. 'EN' 'DELTAT' 'INCO' 'EN' 'ZONE' $MT 'OPER' 'DFDT' 1. 'A' 'DELTAT' 'INCO' 'A' ; * Boundary coditions rv = EQEX rv * CLIM UN UIMP cnt 0.0 UN VIMP side 0.0 CLIM UN VIMP top 0.0 UN VIMP bot 0.0 CLIM UN UIMP axe 0.0 UN UIMP side 0.0 CLIM VN UIMP axe 0.0 VN UIMP side 0.0 CLIM VN VIMP in (-1*Vi) VN VIMP dtop 0.0 CLIM A TIMP in alpha A TIMP dtop 0.0 * CLIM TP TIMP in 20.0 ; * Pressure equation ; rvp.'METHINV'.TYPINV=1 ; rvp.'METHINV'.IMPINV=0 ; rvp.'METHINV'.NITMAX=300; rvp.'METHINV'.PRECOND=3 ; rvp.'METHINV'.RESID =1.e-8 ; rvp.'METHINV' . 'FCPRECT'=100 ; rvp.'METHINV' . 'FCPRECI'=100 ; * Initial conditions rv.titolo = titolo ; rv.INCO = table INCO ; * rv.INCO.'TP' = kcht $mt scal sommet (0.0 ) tpwet ; * rv.INCO.'TF' = kcht $mt scal sommet (0.0 ) ; * rv.INCO.'TPE' = kcht $mt scal centre (0.0 ) ; * rv.INCO.'TFE' = kcht $mt scal centre (0.0 ) ; * rv.INCO.'HF' = kcht $mt scal centre (0.0 ) ; * rv.INCO.'HP' = kcht $mt scal centre (0.0 ) ; rv.'YP' = yp ; rv.'NUF' = nuf ; * Executing exec rv ; * Saving results * repix rv ; * sauv rv ; * Procedura test debproc test ; si ( complet ) ; upt1_l = 0.53580 ; upt2_l = 0.59501 ; vpt1_l = 3.0245 ; vpt2_l = 3.5610 ; apt1_l = 1.18535E-03 ; apt2_l = 1.00603E-03 ; sinon ; upt1_l = 0.43961 ; upt2_l = 0.38635 ; vpt1_l = 3.0859 ; vpt2_l = 3.4686 ; apt1_l = 6.78202E-04 ; apt2_l = 5.94036E-04 ; finsi ; upt1_e = abs ((upt1 - upt1_l)/upt1_l) ; upt2_e = abs ((upt2 - upt2_l)/upt2_l) ; vpt1_e = abs ((vpt1 - vpt1_l)/vpt1_l) ; vpt2_e = abs ((vpt2 - vpt2_l)/vpt2_l) ; apt1_e = abs ((apt1 - apt1_l)/apt1_l) ; apt2_e = abs ((apt2 - apt2_l)/apt2_l) ; erlim = 5.00e-2 ; si (upt1_e > erlim) ; erreur 5 ; finsi ; si (upt2_e > erlim) ; erreur 5 ; finsi ; si (vpt1_e > erlim) ; erreur 5 ; finsi ; si (vpt2_e > erlim) ; erreur 5 ; finsi ; si (apt1_e > erlim) ; erreur 5 ; finsi ; si (apt2_e > erlim) ; erreur 5 ; finsi ; mess 'upt1' upt1 'upt2' upt2 'vpt1' vpt1 'vpt2' vpt2 ; mess 'apt1' apt1 'apt2' apt2 ; finproc ; * Procedura visu debproc visu rv*table ; tdom = $mt ; un = rv.inco.'UN' ; vn = rv.inco.'VN' ; vn = vn * filtro ; a = rv.inco.'A' ; * tp = rv.inco.'TP' ; * tf = rv.inco.'TF' ; * txl = mot 'section 0.74 (m)' ; t1 = chaine titolo_g 'U;V /axe ' ; t2 = chaine titolo_g 'Z=0.74 (m)' ; t3 = chaine titolo_g 'Z=1.26 (m)' ; t4 = chaine titolo_g 'Air veloc.' ; t5 = chaine titolo_g 'Alpha/axe ' ; t6 = chaine titolo_g 'Alpha ' ; t7 = chaine titolo_g 'Y+' ; tab1 = table ; tab1.1 = 'MARQ CROI REGU ' ; tab1.2 = 'MARQ LOSA REGU ' ; tab1.'TITRE' = table ; tab2 = table ; tab2.1 = 'MARQ LOSA REGU ' ; tab2.3 = 'MARQ CARR REGU ' ; tab2.4 = 'MARQ ETOI REGU ' ; tab2.'TITRE' = table ; tab3 = table ; tab3.1 = 'MARQ LOSA REGU ' ; tab3.'TITRE' = table ; * tpaxe = evol chpo tp scal axe ; * tfaxe = evol chpo tf scal axe ; * tpln1 = evol chpo tp scal line1 ; * tfln1 = evol chpo tf scal line1 ; * @excel1 u2axe 'pp' ; * dess (tfaxe et tpaxe) mima titx txa tity tyt gril lege tab1 ; * dess (tfln et tpln ) mima titx txl tity tyt gril lege tab1 ; si (exist rv 'INCO' 'USTAR') ; yp = rv.'YP' ; nuf = rv.'NUF' ; ue = rv.'INCO'.'USTAR' ; Yplus = us * yp / nuf ; finsi ; si (exist rv 'INCO' 'HP' ) ; finsi ; si (exist rv 'INCO' 'HF' ) ; finsi ; si (exist rv 'INCO' 'H' ) ; finsi ; si (exist rv 'INCO' 'TF') ; finsi ; si (exist rv 'INCO' 'TP') ; finsi ; si (exist rv 'INCO' 'A') ; finsi ; si (exist rv 'INCO' 'KN') ; kn = rv.inco.'KN' ; en = rv.inco.'EN' ; trac kn mesh cmesh ; trac en mesh cmesh ; trac L0 mesh cmesh ; * up = kn * 2.0 / 3.0 ; * up = up ** 0.5 ; * unor = kops un 'PSCA' un ; ** up = up / unor ; * upln = evol chpo up scal line1 ; * dess (upln ) mima titx txl tity tyup gril ; finsi ; si (exist rv 'INCO' 'NT') ; nte = nte1 et nte2 ; nr = nt / nuf ; trac nt mesh cmesh ; trac nr mesh cmesh ; finsi ; * evoluzioni nel tempo finsi ; finsi ; finsi ; finsi ; finsi ; finsi ; finproc ; test rv complet ; si ( 'EGA' graph 'O' ); visu rv ; finsi ; fin ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales