TALK=T;RUN( 1, 1) ** LOAD(x207) from the x Input Library MB-FGE Test: 2D flow in the 'Arc'-like geometry. ************************************************************** BOOLEAN(LTURB); LTURB= T ************************************************************** DISPLAY This case concerns plane incompressible laminar (LTURB=F) or turbulent (LTURB=T) flow in the 'Arc'-like domain. When flow is turbulent, the two-layer KE-EP turbulence model is used. This model employs distances to the nearest wall, so user can check the procedure of wall distance (varable WDIS) calculation for a rather complex geometry in the presence of MBFGE links. The computational grid uses 4 blocks, and 1 embedded fine grid, for a total of 5 domains. It is built in Y-Z plane. 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 ************************************************************** PHOTON USE p ; ; ; ; ; msg Computational Domain: mgrid 1 i 1 mgrid 2 i 1 col 2 mgrid 3 i 1 col 3 mgrid 4 i 1 col 4 mgrid 5 i 1 col 5 msg Press Any Key to Continue... pause cl set vec av off msg Velocity Vectors: mvec 1 i 1 sh mvec 2 i 1 sh mvec 3 i 1 sh mvec 4 i 1 sh mvec 5 i 1 sh msg Press Any Key to Continue... pause cl msg Contours of Pressure: mcon 1 p1 i 1 fi 0.005 mcon 2 p1 i 1 fi 0.005 mcon 3 p1 i 1 fi 0.005 mcon 4 p1 i 1 fi 0.005 mcon 5 p1 i 1 fi 0.005 msg Press Eto exit PHOTON ... pause ENDUSE GROUP 1. Run title and other preliminaries TEXT(MB-FGE: 2D Laminar Flow Inside The 'Arc'. INTEGER(NX1,NY1,NZ1,NX2,NY2,NZ2,NX3,NY3,NZ3,NX4,NY4,NZ4,NX5,NY5,NZ5) INTEGER(IC,KYS1I,KYN1I,KZW1O,KZE1O,KYS3O,KYN3O,KZW3I,KZE3I) INTEGER(NARC,IFC12,IFC32,IFC43,IFC51Z,IFC51Y,NZC1,NYCA1) REAL(PI,LXD1,LYD1,LZD1,LZD4,YCBOT,YCTOP,ZCEST1,YCTOP1,YCBOT1) REAL(REYNU,WIN,VIN,DTHYD,TKEIN,EPSIN) IF(LTURB) THEN + REYNU= 4.5E4 + TEXT(MB-FGE: 2D Turbulent Flow Inside The 'Arc'. ELSE + REYNU= 500. + TEXT(MB-FGE: 2D Laminar Flow Inside The 'Arc'. ENDIF TITLE ** Problem definition: WIN = 1.0; VIN = 0.0; PI = 3.1415 NARC = 4; IFC12= 1; IFC32=2; IFC43= 2; IFC51Z= 2; IFC51Y= 2 KYS1I=8; KYN1I= 12; KZW1O=NARC*IFC12+1; KZE1O=3*NARC*IFC12 KYS3O=14; KYN3O= 18; KZW3I=NARC*IFC32+1; KZE3I=3*NARC*IFC32 ** 1st domain: LXD1 = 1.0; LYD1= 1.0; LZD1= 1.0; LZD4= 0.4 NX1 = 1; NY1 = 20; NZ1 = 4*IFC12*NARC NYCA1= 4; NZC1= 8 ** 2nd domain: NX2 = 1; NY2 = 20; NZ2 = 2*NARC ** 3rd domain: NX3 = 1; NY3 = 20; NZ3 = 4*IFC32*NARC ** 4th domain: NX4 = 1; NY4 = IFC43*(KYN3O-KYS3O+1); NZ4= 10 ** 5th domain: NX5 = 1; NY5= IFC51Y*(KYN1I-KYS1I+1+2*NYCA1); NZ5= IFC51Z*NZC1 GROUP 6. Body-fitted coordinates or grid distortion BFC= T; GSET(D,NX1,NY1,NZ1,LXD1/NX1,LYD1/NX1,LZD1/NZ1) ** Define grid points and lines for the first domain: GSET(P,P11,0.0, 0.0,0.0); GSET(P,P12,0.0,0.0, LZD1) GSET(P,P14,0.0,LYD1,0.0); GSET(P,P13,0.0,LYD1,LZD1) GSET(L,L112,P11,P12,NZ1,1.0); GSET(L,L123,P12,P13,NY1,1.0) GSET(L,L134,P13,P14,NZ1,1.0); GSET(L,L141,P14,P11,NY1,1.0) GSET(F,F1,P11,-,P12,-,P13,-,P14,-); GSET(M,F1,+K+J,1,1,1) GSET(C,I:NX1+1:,F,I1,+,LXD1,0.0,0.0) ** Corner points for the embedded grid. ** IC = KYS1I-NYCA1; YCBOT1 = YC(1,IC, 1) IC = KYN1I+NYCA1+1; YCTOP1 = YC(1,IC, 1) IC = NZC1+1; ZCEST1 = ZC(1, 1,IC) DUMPC(MBGR1) ** Define grid points and lines for the second domain: GSET(D,NX2,NY2,NZ2,LXD1/NX2,LYD1/NY2,LZD1/NZ2) GSET(P,P21,0.0,LYD1,LZD1/4.); GSET(P,P22,0.0,LYD1,3*LZD1/4) GSET(P,P24,0.0,LYD1,LZD1/4.); GSET(P,P23,0.0,LYD1,3*LZD1/4) GSET(L,L212,P21,P22,NZ2,1.0); GSET(L,L223,P22,P23,1,1.0) GSET(L,L234,P23,P24,NZ2,1.0); GSET(L,L241,P24,P21,1,1.0) GSET(F,F2,P21,-,P22,-,P23,-,P24,-); GSET(M,F2,+K+J,1,1,1) GSET(C,I:NX2+1:,F,I1,+,LXD1,0.0,0.0) GSET(C,J:NY2+1:,F,J1,RX,PI,1.0,1.5,INC,1.0) DUMPC(MBGR2) ** Define grid points and lines for the third domain: GSET(D,NX3,NY3,NZ3,LXD1/NX3,LYD1/NY3,LZD1/NZ3) GSET(P,P31,0.0,LYD1,3*LZD1); GSET(P,P32,0.0,LYD1,2*LZD1) GSET(P,P34,0.0, 0.0,3*LZD1); GSET(P,P33,0.0, 0.0,2*LZD1) GSET(L,L312,P31,P32,NZ3,1.0); GSET(L,L323,P32,P33,NY3,1.0) GSET(L,L334,P33,P34,NZ3,1.0); GSET(L,L341,P34,P31,NY3,1.0) GSET(F,F3,P31,-,P32,-,P33,-,P34,-); GSET(M,F3,+K+J,1,1,1) GSET(C,I:NX3+1:,F,I1,+,LXD1,0.0,0.0) DUMPC(MBGR3) ** Define grid points and lines for the forth domain: IC= KYN3O+1; YCBOT= YC(1,KYS3O,1); YCTOP= YC(1,IC,1) GSET(D,NX4,NY4,NZ4,LXD1/NX4,LYD1/NY4,LZD4/NZ4) GSET(P,P41,0.0,YCBOT,3*LZD1+LZD4); GSET(P,P42,0.0,YCBOT,3*LZD1) GSET(P,P44,0.0,YCTOP,3*LZD1+LZD4); GSET(P,P43,0.0,YCTOP,3*LZD1) GSET(L,L412,P41,P42,NZ4,1.0); GSET(L,L423,P42,P43,NY4,1.0) GSET(L,L434,P43,P44,NZ4,1.0); GSET(L,L441,P44,P41,NY4,1.0) GSET(F,F4,P41,-,P42,-,P43,-,P44,-); GSET(M,F4,+K+J,1,1,1) GSET(C,I:NX4+1:,F,I1,+,LXD1,0.0,0.0) DUMPC(MBGR4) ** Define grid points and lines for the fine grid: GSET(D,NX5,NY5,NZ5,LXD1/NX5,LYD1/NY5,LZD1/NZ5) GSET(P,P51,0.0,YCBOT1,0.0); GSET(P,P52,0.0,YCBOT1,ZCEST1) GSET(P,P54,0.0,YCTOP1,0.0); GSET(P,P53,0.0,YCTOP1,ZCEST1) GSET(L,L512,P51,P52,NZ5,1.0); GSET(L,L523,P52,P53,NY5,1.0) GSET(L,L534,P53,P54,NZ5,1.0); GSET(L,L541,P54,P51,NY5,1.0) GSET(F,F5,P51,-,P52,-,P53,-,P54,-); GSET(M,F5,+K+J,1,1,1) GSET(C,I:NX5+1:,F,I1,+,LXD1,0.0,0.0) DUMPC(MBGR5) ** Assemble blocks: NUMBLK = 5; READCO(MBGR+) GVIEW(X); VIEW ** Set links: MBLINK(1,NORTH,2,SOUTH); MBLINK(2,NORTH,3,SOUTH) MBLINK(3,LOW , 4,HIGH ); MBLINK(5,IN,1) GROUP 7. Variables stored, solved & named STORE(VPOR); SOLVE(P1,V1,W1) IF(LTURB) THEN + STORE(GEN1,ENUT,LEN1,WGAP); TURMOD(KEMODL-2L) ENDIF L($F150) GROUP 9. Properties of the medium (or media) ENUL = WIN/REYNU; RHO1 = 1.0 GROUP 11. Initialization of variable or porosity fields INIADD= F IF(LTURB) THEN + TKEIN= (0.05*WIN)**2; EPSIN= 0.1643*TKEIN**1.5/0.09 + FIINIT(P1)= 1.3E-4; FIINIT(KE)= TKEIN; FIINIT(EP)= EPSIN ENDIF GROUP 13. Boundary conditions and special sources ** Inlet. IC = IFC51Y*NYCA1 MPATCH(5,IN,LOW,1,NX1,IC+1,NY5-IC,1,1,1,LSTEP) COVAL(IN, P1,FIXFLU,RHO1*WIN) COVAL(IN,VC1,ONLYMS, 0.0); COVAL(IN,WC1,ONLYMS,WIN) ** Outlet. MPATCH(4,OUT,LOW,1,NX4,1,NY4,1,1,1,LSTEP) COVAL(OUT, P1, 1.E5,0.0) COVAL(OUT,VC1,ONLYMS,0.0); COVAL(OUT,WC1,ONLYMS,0.0) ** Walls: **** 1st domain. MPATCH(1,LW11,LWALL,1,NX1,1,KYS1I-1,1,1,1,LSTEP) MPATCH(1,LW12,LWALL,1,NX1,KYN1I+1,NY1,1,1,1,LSTEP) MPATCH(1,HW12,HWALL,1,NX1,1,NY1,NZ1,NZ1,1,LSTEP) MPATCH(1,WS11,SWALL,1,NX1,1,1,1,NZ1,1,LSTEP) MPATCH(1,WN11,NWALL,1,NX1,NY1,NY1,1,KZW1O-1,1,LSTEP) MPATCH(1,WN12,NWALL,1,NX1,NY1,NY1,KZE1O+1,NZ1,1,LSTEP) **** 2nd domain. MPATCH(2,LW22,LWALL,1,NX2,1,NY2,1,1,1,LSTEP) MPATCH(2,HW22,HWALL,1,NX2,1,NY2,NZ2,NZ2,1,LSTEP) **** 3rd domain. MPATCH(3,LW31,LWALL,1,NX3,1,KYS3O-1,1,1,1,LSTEP) MPATCH(3,LW32,LWALL,1,NX3,KYN3O+1,NY3,1,1,1,LSTEP) MPATCH(3,WN31,NWALL,1,NX3,NY3,NY3,1,NZ3,1,LSTEP) MPATCH(3,WS31,SWALL,1,NX3,1,1,1,KZW3I-1,1,LSTEP) MPATCH(3,WS32,SWALL,1,NX3,1,1,KZE3I+1,NZ3,1,LSTEP) MPATCH(3,HW31,HWALL,1,NX3,1,NY3,NZ3,NZ3,1,LSTEP) **** 4th domain. MPATCH(4,WN41,NWALL,1,NX4,NY4,NY4,1,NZ4,1,LSTEP) MPATCH(4,WS41,SWALL,1,NX4,1,1,1,NZ4,1,LSTEP) **** 5th domain. IC = IFC51Y*NYCA1 MPATCH(5,LW51,LWALL,1,NX5,1,IC,1,1,1,LSTEP) MPATCH(5,LW52,LWALL,1,NX5,NY5-IC+1,NY5,1,1,1,LSTEP) IF(LTURB) THEN + COVAL( IN,KE,ONLYMS,TKEIN); COVAL( IN,EP,ONLYMS,EPSIN) + COVAL(OUT,KE,ONLYMS, SAME); COVAL(OUT,EP,ONLYMS, SAME) + COVAL(LW11,KE,1.0,0.0); COVAL(LW11,LTLS,1.0,0.0) + COVAL(LW12,KE,1.0,0.0); COVAL(LW12,LTLS,1.0,0.0) + COVAL(HW12,KE,1.0,0.0); COVAL(HW12,LTLS,1.0,0.0) + COVAL(WS11,KE,1.0,0.0); COVAL(WS11,LTLS,1.0,0.0) + COVAL(WN11,KE,1.0,0.0); COVAL(WN11,LTLS,1.0,0.0) + COVAL(WN12,KE,1.0,0.0); COVAL(WN12,LTLS,1.0,0.0) + COVAL(LW22,KE,1.0,0.0); COVAL(LW22,LTLS,1.0,0.0) + COVAL(HW22,KE,1.0,0.0); COVAL(HW22,LTLS,1.0,0.0) + COVAL(LW31,KE,1.0,0.0); COVAL(LW31,LTLS,1.0,0.0) + COVAL(LW32,KE,1.0,0.0); COVAL(LW32,LTLS,1.0,0.0) + COVAL(WN31,KE,1.0,0.0); COVAL(WN31,LTLS,1.0,0.0) + COVAL(WS31,KE,1.0,0.0); COVAL(WS31,LTLS,1.0,0.0) + COVAL(WS32,KE,1.0,0.0); COVAL(WS32,LTLS,1.0,0.0) + COVAL(HW31,KE,1.0,0.0); COVAL(HW31,LTLS,1.0,0.0) + COVAL(WN41,KE,1.0,0.0); COVAL(WN41,LTLS,1.0,0.0) + COVAL(WS41,KE,1.0,0.0); COVAL(WS41,LTLS,1.0,0.0) + COVAL(LW51,KE,1.0,0.0); COVAL(LW51,LTLS,1.0,0.0) + COVAL(LW52,KE,1.0,0.0); COVAL(LW52,LTLS,1.0,0.0) ENDIF COVAL(LW11,VC1, 1.0,0.0); COVAL(LW11,WC1,1.0,0.0) COVAL(LW12,VC1, 1.0,0.0); COVAL(LW12,WC1,1.0,0.0) COVAL(HW12,VC1, 1.0,0.0); COVAL(HW12,WC1,1.0,0.0) COVAL(WS11,VC1, 1.0,0.0); COVAL(WS11,WC1,1.0,0.0) COVAL(WN11,VC1, 1.0,0.0); COVAL(WN11,WC1,1.0,0.0) COVAL(WN12,VC1, 1.0,0.0); COVAL(WN12,WC1,1.0,0.0) COVAL(LW22,VC1, 1.0,0.0); COVAL(LW22,WC1,1.0,0.0) COVAL(HW22,VC1, 1.0,0.0); COVAL(HW22,WC1,1.0,0.0) COVAL(LW31,VC1, 1.0,0.0); COVAL(LW31,WC1,1.0,0.0) COVAL(LW32,VC1, 1.0,0.0); COVAL(LW32,WC1,1.0,0.0) COVAL(WN31,VC1, 1.0,0.0); COVAL(WN31,WC1,1.0,0.0) COVAL(WS31,VC1, 1.0,0.0); COVAL(WS31,WC1,1.0,0.0) COVAL(WS32,VC1, 1.0,0.0); COVAL(WS32,WC1,1.0,0.0) COVAL(HW31,VC1, 1.0,0.0); COVAL(HW31,WC1,1.0,0.0) COVAL(WN41,VC1, 1.0,0.0); COVAL(WN41,WC1,1.0,0.0) COVAL(WS41,VC1, 1.0,0.0); COVAL(WS41,WC1,1.0,0.0) COVAL(LW52,VC1, 1.0,0.0); COVAL(LW52,WC1,1.0,0.0) COVAL(LW51,VC1, 1.0,0.0); COVAL(LW51,WC1,1.0,0.0) GROUP 15. Termination of sweeps LSWEEP = 100; TSTSWP = T GROUP 16. Termination of iterations SELREF = T; RESFAC = 1.E-4 GROUP 17. Under-relaxation devices RELAX(P1, LINRLX,0.5) IF(LTURB) THEN + DTHYD= 1.0/NZ5/WIN; KELIN= 1 + RELAX(KE,FALSDT,DTHYD); RELAX(EP,FALSDT,DTHYD) ENDIF GROUP 19. Data communicated by satellite to GROUND * LSG3 = T, activates curvilinearity treatment; * LSG7 permits CCM-solver to use higher order schemes. LSG3= BFC; LSG7= T SCHMBEGIN VARNAM UC1 SCHEME SMART VARNAM VC1 SCHEME SMART SCHMEND GROUP 22. Spot-value print-out IXMON= 1; IYMON= NY1/2+1; IZMON= NZ1/2+1 LIBREF = 207 STOP