MB-FGE Test: Flow over back-facing step. ************************************************************** DISPLAY This case concerns 2D incompressible, laminar/turbulent flow over back-facing step. Geometry of the problem was taken from GAMM-workshop 1984 (Re=50, 150, 500). A fully developed parabolic laminar flow profile is prescribed at the inflow. Computational domain comprises fine grid, which is embedded after the step. Sizes (NXFG, NYFG) and refinement ratios (IFCX, IFCY) of the fine grid may be modified: NXFG NYFG Simulation of the turbulent (LTURB=T) flow can be carried out with either the Lam-Bremhorst low-Re extension of the Chen-Kim K-E model (LTWOL=F) or the 2-layer low-Re K-E model (LTWOL=T). User can use higher order convective schemes (MINMOD-, SUPER-BB-, SMART- or QUICK-scheme) by setting appropriate name of the scheme for solved variable. ---------------------------------------------------------- ENDDIS L(PAUSE ************************************************************** BOOLEAN(LUNIF,LTURB,LTWOL,LSCHM) LUNIF= F; LTURB = T; LTWOL= T; LSCHM= T IF(LTURB) THEN + LUNIF= T ENDIF ************************************************************** PHOTON USE p ; ; ; ; ; msg Computational Domain: mgrid 1 k 1 mgrid 2 k 1 col 2 msg Press Any Key to Continue... pause cl set vec av off msg Velocity Vectors: mvec 1 k 1 sh mvec 2 k 1 sh msg Press Any Key to Continue... pause cl msg Contours of Pressure: mcon 1 p1 k 1 fi 0.01 mcon 2 p1 k 1 fi 0.01 pause cl msg Contours of U1-velocity: mcon 1 u1 k 1 fi 0.01 mcon 2 u1 k 1 fi 0.01 msg Press Eto exit PHOTON ... pause ENDUSE ************************************************************** GROUP 1. Run title and other preliminaries INTEGER(NX1,NXSTEP,NY1,NZ1,NX2,NY2,NZ2,NXFG,NYFG,IFCX,IFCY,IC,JC) REAL(XE1,YE1,XE2,YE2,XE3,YE3,XE4,YE4) REAL(REYNU,UIN,HSTEP,STEPL,HCHAN,LCHAN,YCUR,UCR,DTHYD,TKEIN,EPSIN) IF(LTURB) THEN + REYNU= 4.5E4; UIN= 1.0 +IF(LTWOL) THEN + TEXT(MB-FGE: 2D Flow Over Back-Step (2L K-E). +ELSE + TEXT(MB-FGE: 2D Flow Over Back-Step (L-B K-E). +ENDIF ELSE + REYNU= 150.0; UIN= 1.0 + TEXT(MB-FGE: 2D Flow Over Back-Step (Re=150). ENDIF TITLE HSTEP= 0.5; STEPL = 3.0; HCHAN= 1.5; LCHAN= 22.0 ** First domain. NXSTEP= 6; NX1= 22; NY1= 12; NZ1= 1 ** Fine grid: NXFG= 8; NYFG= 8; IFCX= 3; IFCY= 2 NX2 = NXFG*IFCX; NY2 = NYFG*IFCY; NZ2 = 1 GROUP 6. Body-fitted coordinates or grid distortion BFC= T; GSET(D,NX1,NY1,NZ1,LCHAN,HCHAN,0.1) ** Define grid points and lines for the main domain: GSET(P,P1, 0.0, 0.0,0.0); GSET(P,P2,STEPL, 0.0,0.0) GSET(P,P3,LCHAN, 0.0,0.0); GSET(P,P4,LCHAN,HSTEP,0.0) GSET(P,P5,LCHAN,HCHAN,0.0); GSET(P,P6,STEPL,HCHAN,0.0) GSET(P,P7, 0.0,HCHAN,0.0); GSET(P,P8, 0.0,HSTEP,0.0) GSET(L,L12,P1,P2, NXSTEP,-1.3); GSET(L,L23,P2,P3,NX1-NXSTEP,1.0) GSET(L,L34,P3,P4, NY1/3, 1.0); GSET(L,L45,P4,P5, 2*NY1/3,1.0) GSET(L,L56,P5,P6,NX1-NXSTEP, 1.0); GSET(L,L67,P6,P7, NXSTEP,1.3) GSET(L,L78,P7,P8, 2*NY1/3, 1.0); GSET(L,L81,P8,P1, NY1/3,1.0) GSET(F,F1,P1,P2,P3,P4,P5,P6,P7,P8); GSET(M,F1,+I+J,1,1,1) GSET(C,K:NZ1+1:,F,K1,1,NX1,1,NY1,+,0.0,0.0,0.1,INC,1.0) ** Define grid nodes to insert fine grid: IC= NXSTEP+1; XE1= XC(IC, 1,1); YE1= YC(IC, 1,1) IC= IC+NXFG; XE2= XC(IC, 1,1); YE2= YC(IC, 1,1) JC= NYFG+1; XE3= XC(IC,JC,1); YE3= YC(IC,JC,1) IC= IC-NXFG; XE4= XC(IC,JC,1); YE4= YC(IC,JC,1) DUMPC(MBGR1) ** Define grid points and lines for the fine grid: GSET(D,NX2,NY2,NZ2,1.0,1.0,0.1) GSET(P,P1,XE1,YE1,0.0); GSET(P,P2,XE2,YE2,0.0) GSET(P,P3,XE3,YE3,0.0); GSET(P,P4,XE4,YE4,0.0) GSET(L,L12,P1,P2,NX2,1.0); GSET(L,L23,P2,P3,NY2,1.0) GSET(L,L34,P3,P4,NX2,1.0); GSET(L,L41,P4,P1,NY2,1.0) GSET(F,F1,P1,-,P2,-,P3,-,P4,-); GSET(M,F1,+I+J,1,1,1) GSET(C,K:NZ1+1:,F,K1,1,NX2,1,NY2,+,0.0,0.0,0.1,INC,1.0) DUMPC(MBGR2) ** Assemble blocks: NUMBLK = 2; READCO(MBGR+L); GVIEW(Z); VIEW ** Set links: ** You can use MBLINK command instead of READCO(...+L). MBLINK(2,IN,1) GROUP 7. Variables stored, solved & named STORE(VPOR); SOLVE(P1,U1,V1) IF(LTURB) THEN + STORE(GEN1,ENUT,LEN1); + IF(LTWOL) THEN + TURMOD(KEMODL-2L) + ELSE + TURMOD(KECHEN-LOWRE) + ENDIF ENDIF L($F150) GROUP 9. Properties of the medium (or media) ENUL= UIN*HSTEP/REYNU GROUP 11. Initialization of variable or porosity fields INIADD= F; FIINIT(UC1)= UIN MPATCH(1,STEP,INIVAL,1,NXSTEP,1,NY1/3,1,NZ1,1,1) INIT(STEP,VPOR,0.0,0.0) IF(LTURB) THEN + TKEIN= (0.05*UIN)**2; EPSIN= 0.1643*TKEIN**1.5/0.09/HSTEP + FIINIT(P1) = 1.3E-4; FIINIT(KE)= TKEIN; FIINIT(EP)= EPSIN + FIINIT(ENUT)= 1.E-3 ENDIF GROUP 13. Boundary conditions and special sources ** Inlet. JC= NY1/3+1 DO II = JC,NY1 + IF(LUNIF) THEN + UCR = UIN + ELSE + YCUR= HSTEP+(2*(II-JC)+1)/2*(HCHAN-HSTEP)/(NY1-JC+1) + UCR = UIN*(1.0-((2*YCUR-HCHAN-HSTEP)/(HCHAN-HSTEP))**2) + ENDIF + MPATCH(1,INL:II:,WEST,1,1,II,II,1,NZ1,1,LSTEP) + COVAL(INL:II:,P1, FIXFLU,UCR*RHO1) + COVAL(INL:II:,UC1,ONLYMS,UCR); COVAL(INL:II:,VC1,ONLYMS,0.0) + IF(LTURB) THEN + COVAL(INL:II:,KE,ONLYMS,TKEIN);COVAL(INL:II:,EP,ONLYMS,EPSIN) + ENDIF ENDDO ** Outlet: MPATCH(1,OUT,EAST,NX1,NX1,1,NY1,1,NZ1,1,LSTEP) COVAL(OUT,P1,1000.,0.0) ** Walls. MPATCH(1,WS1,SWALL, 1,NXSTEP, JC, JC,1,NZ1,1,LSTEP) MPATCH(1,WS2,SWALL,NXSTEP+1, NX1, 1, 1,1,NZ2,1,LSTEP) MPATCH(1,WN1,NWALL, 1, NX1,NY1, NY1,1,NZ1,1,LSTEP) MPATCH(2,WW1,WWALL, 1, 1, 1,NY1/3*IFCY,1,NZ2,1,LSTEP) MPATCH(2,WS3,SWALL, 1, NX2, 1, 1,1,NZ2,1,LSTEP) IF(LTURB) THEN + COVAL(WS1,UC1,LOGLAW,0.0); COVAL(WS1, VC1,LOGLAW,0.0) + COVAL(WS1, KE, 1.0,0.0); COVAL(WS1,LTLS, 1.0,0.0) + COVAL(WS2,UC1,LOGLAW,0.0); COVAL(WS2, VC1,LOGLAW,0.0) + COVAL(WS2, KE, 1.0,0.0); COVAL(WS2,LTLS, 1.0,0.0) + COVAL(WN1,UC1,LOGLAW,0.0); COVAL(WN1, VC1,LOGLAW,0.0) + COVAL(WN1, KE, 1.0,0.0); COVAL(WN1,LTLS, 1.0,0.0) + COVAL(WW1,UC1,LOGLAW,0.0); COVAL(WW1, VC1,LOGLAW,0.0) + COVAL(WW1, KE, 1.0,0.0); COVAL(WW1,LTLS, 1.0,0.0) + COVAL(WS3,UC1,LOGLAW,0.0); COVAL(WS3, VC1,LOGLAW,0.0) + COVAL(WS3, KE, 1.0,0.0); COVAL(WS3,LTLS, 1.0,0.0) + COVAL(OUT,KE,ONLYMS,SAME); COVAL(OUT,EP,ONLYMS,SAME) ELSE + COVAL(WS1,UC1,1.0,0.0); COVAL(WS1,VC1,1.0,0.0) + COVAL(WS2,UC1,1.0,0.0); COVAL(WS2,VC1,1.0,0.0) + COVAL(WN1,UC1,1.0,0.0); COVAL(WN1,VC1,1.0,0.0) + COVAL(WW1,UC1,1.0,0.0); COVAL(WW1,VC1,1.0,0.0) + COVAL(WS3,UC1,1.0,0.0); COVAL(WS3,VC1,1.0,0.0) ENDIF GROUP 15. Termination of sweeps LSWEEP = 100; TSTSWP = -1 GROUP 16. Termination of iterations SELREF = T; RESFAC = 1.E-3 GROUP 17. Under-relaxation devices RELAX(P1,LINRLX,0.5) IF(LTURB) THEN + LSWEEP= 200; DTHYD= LCHAN/NX/UIN; KELIN= 1 + RELAX( KE,LINRLX,0.5); RELAX( EP,LINRLX,0.1) + RELAX( UC1,FALSDT,DTHYD); RELAX(VC1,FALSDT,DTHYD) + RELAX(ENUT,LINRLX,0.1) ENDIF GROUP 19. Data communicated by satellite to GROUND * LSG7 permits CCM-solver to use higher order schemes. LSG7= LSCHM SCHMBEGIN VARNAM UC1 SCHEME MINMOD VARNAM VC1 SCHEME MINMOD VARNAM KE SCHEME MINMOD VARNAM EP SCHEME MINMOD SCHMEND GROUP 22. Spot-value print-out IXMON= NX1+NX2/2+2; IYMON= NY2/2+1; IZMON=1