MB-FGE Test: Lid driven flow in a 2D skewed cavern. ************************************************************** DISPLAY This case concerns plane lid driven laminar flow in a skewed cavern. Grid is created in X-Y plane. The main computational domain includes embedded fine grid. Position of the fine grid is defined in terms of the coarse grid cell-block, which needs refinement (IXFG1, IYFG1 - bottom left corner of the block; NXFG1, NYFG1 - number of cells in the X- and Y-directions respectfully), and refinement ratios in X- (IFCX1) and Y-directions (IFCY1). The main objective of the case is to test the treatment of non-orthogonal LINKS in the presence of 'ONE-to-ONE' or 'ONE-to-MANY' conections. The user can modify the following: 1). By changing IXFG1, IYFG1, NXFG1 or NYFG1, place fine grid in other region. NOTE, that it is necessary to apply appropriate boundary conditions, if some face of a fine grid is the wall of a cavern. 2). By changing IFIC, modify connection type from 'ONE- TO-ONE' (IFIC=1) to 'ONE-TO-MANY' (IFIC>1) 3.) By changing skew angle TET or Reynolds number REYNU it is possible to investigate the resulting flow. --------------------------------------------------------- ENDDIS L(PAUSE ************************************************************** PHOTON USE p ; ; ; ; ; msg Computational Domain: mgrid 1 k 1 mgrid 2 k 1 col 4 msg Press Any Key to Continue... pause cl set vec av off msg Velocity Vectors: gr out x 1 y 1 20 z 1 1 gr out x 21 y 1 20 z 1 1 gr out y 1 x 1 20 z 1 1 gr out y 21 x 1 20 z 1 1 mvec 1 k 1 sh mvec 2 k 1 sh msg Press Any Key to Continue... pause cl msg Contours of U-component: mgrid 1 k 1 mgrid 2 k 1 mcon 1 UC1 k 1 fi 0.001 mcon 2 uc1 k 1 fi 0.001 msg Press Any Key to Continue... pause cl msg Contours of V-component: mgrid 1 k 1 mgrid 2 k 1 mcon 1 vc1 k 1 fi 0.001 mcon 2 vc1 k 1 fi 0.001 msg Press Eto exit PHOTON ... pause ENDUSE GROUP 1. Run title and other preliminaries TEXT(MB-FGE: 2D skewed cavity with moving lid. TITLE INTEGER(NX1,NY1,NZ1,NX2,NY2,NZ2,IC,JC) INTEGER(IXFG1,NXFG1,IFCX1,IYFG1,NYFG1,IFCY1) REAL(REYNU,UIN,DCAV,TET,PI,XCR,YCR,DTHYD) REAL(XE1,YE1,XE2,YE2,XE3,YE3,XE4,YE4) ** Problem definition: REYNU= 1.E4; UIN= 1.0; DCAV= 0.1; TET = 50.0 PI = 3.1415; TET= PI*TET/180. ** Number of cells in the main coarse grid: NX1 = 20; NY1= 20; NZ1 = 1 ** Position and characteristics of the fine grid: IXFG1= 1; NXFG1= 10; IFCX1= 2; IYFG1= 1; NYFG1= 8; IFCY1= 2 NX2 = NXFG1*IFCX1; NY2 = NYFG1*IFCY1; NZ2 = 1 GROUP 6. Body-fitted coordinates or grid distortion BFC= T; GSET(D,NX1,NY1,NZ1,DCAV,DCAV,DCAV) GSET(P,P1, 0.0,0.0,0.0); GSET(P,P2,DCAV,0.0,0.0) GSET(P,S2,DCAV/2.,0.0,0.0) XCR = DCAV+DCAV/2.*COS(TET); YCR = DCAV/2.*SIN(TET) GSET(P,P3,XCR,YCR,0.0); XCR = DCAV+DCAV*COS(TET); YCR = DCAV*SIN(TET) GSET(P,P4, XCR,YCR,0.0); GSET(P,P5,XCR-DCAV,YCR,0.0) GSET(P,S5,XCR-DCAV/2.,YCR,0.0) XCR = DCAV/2.*COS(TET); YCR = DCAV/2.*SIN(TET) GSET(P,P6,XCR,YCR,0.0); GSET(L,L12,P1,S2,NX1/2, 1.0); GSET(L,LS2,S2,P2, NX1/2,-1.3) GSET(L,L23,P2,P3,NYFG1, 1.0); GSET(L,L34,P3,P4,NY1-NYFG1,-1.3) GSET(L,L45,P4,S5,NX1/2, 1.3); GSET(L,LS5,S5,P5, NX1/2, 1.0) GSET(L,L56,P5,P6,NY1-NYFG1, 1.3); GSET(L,L61,P6,P1,NYFG1,1.0) GSET(F,F1,P1,S2,P2,P3,P4,S5,P5,P6); GSET(M,F1,+I+J,1,1,1) ** Define grid points and lines for the first embedded grid: IC = IXFG1+NXFG1; JC = IYFG1+NYFG1 XE1= XC(IXFG1,IYFG1,1); YE1= YC(IXFG1,IYFG1,1) XE2= XC(IC, IYFG1,1); YE2= YC(IC, IYFG1,1) XE3= XC(IC, JC, 1); YE3= YC(IC, JC, 1) XE4= XC(IXFG1,JC, 1); YE4= YC(IXFG1,JC, 1) GSET(P,E1,XE1,YE1,0.0); GSET(P,E2,XE2,YE2,0.0) GSET(P,E3,XE3,YE3,0.0); GSET(P,E4,XE4,YE4,0.0) GSET(L,LE12,E1,E2,NX2,1.0); GSET(L,LE23,E2,E3,NY2,1.0) GSET(L,LE34,E3,E4,NX2,1.0); GSET(L,LE41,E4,E1,NY2,1.0) ** Create grid for the main domain: GSET(C,K:NZ+1:,F,K1,1,NX1,1,NY1,+,0.0,0.0,DCAV,INC,1.0) DUMPC(MBGR1) ** Create embedded grid: GSET(D,NX2,NY2,NZ2,DCAV,DCAV,DCAV) GSET(F,F2,E1,-,E2,-,E3,-,E4,-); GSET(M,F2,+I+J,1,1,1) GSET(C,K:NZ2+1:,F,K1,1,NX2,1,NY2,+,0.0,0.0,DCAV,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) L($F150) GROUP 9. Properties of the medium (or media) ENUL= UIN*DCAV/REYNU; RHO1 = 1.189 GROUP 11. Initialization of variable or porosity fields INIADD= F GROUP 13. Boundary conditions and special sources ** Walls. ****** Coarse grid: MPATCH(1,WS1,SWALL, 1,NX1, 1, 1,1,NZ1,1,LSTEP) COVAL(WS1,UC1,1.0,0.0); COVAL(WS1,VC1,1.0,0.0) MPATCH(1,WN, NWALL, 1,NX1,NY1,NY1,1,NZ1,1,LSTEP) COVAL(WN, UC1,1.0,UIN); COVAL(WN, VC1,1.0,UIN*COS(TET)) MPATCH(1,WW1,WWALL, 1, 1, 1,NY1,1,NZ1,1,LSTEP) COVAL(WW1,UC1,1.0,0.0); COVAL(WW1,VC1,1.0,0.0) MPATCH(1,WE, EWALL,NX1,NX1, 1,NY1,1,NZ1,1,LSTEP) COVAL(WE, UC1,1.0,0.0); COVAL(WE, VC1,1.0,0.0) ****** Fine grid: MPATCH(2,WS2,SWALL, 1,NX2, 1, 1,1,NZ2,1,LSTEP) COVAL(WS2,UC1,1.0,0.0); COVAL(WS2,VC1,1.0,0.0) MPATCH(2,WW2,WWALL, 1, 1, 1,NY2,1,NZ2,1,LSTEP) COVAL(WW2,UC1,1.0,0.0); COVAL(WW2,VC1,1.0,0.0) ** Pressure relief MPATCH(1,FIXPRS,CELL,1,1,NY1,NY1,1,NZ1,1,LSTEP) COVAL(FIXPRS,P1,FIXP,0.0) GROUP 15. Termination of sweeps LSWEEP= 500; TSTSWP= -1 GROUP 16. Termination of iterations SELREF= T; RESFAC= 1.E-3 GROUP 17. Under-relaxation devices RELAX(P1,LINRLX,0.2); DTHYD = 10.0*DCAV/NY/UIN RELAX(UC1,FALSDT,DTHYD); RELAX(VC1,FALSDT,DTHYD) GROUP 19. Data communicated by satellite to GROUND * LSG3 = T, activates curvilinearity treatment; * LSG4 = T, activates nonorthogonality treatment. LSG3= T; LSG4= T GROUP 22. Spot-value print-out IXMON= NX1/2+1; IYMON= NY1/2+1; IZMON = 1