** MBFGE Test: 2D laminar/turbulent flow induced by rotating impeler. ************************************************************** DISPLAY ---------------------------------------------------------- The case concerns unsteady 2D laminar/turbulent flow generated by rotating impeller in the cylinder with baffles. The main purpose of the case is to demonstrate the way to set problem using sliding LINK option of MBFGE. User is advised to pay attention on the use of the following PIL- commands: READCO(MBGR+Y) MPATCH(1,MBS1.2,NORTH,...); MPATCH(2,MBS2.1,SOUTH,...) NOTE!, that the stacking along Y-axis, achieved by the use +Y in READCO, provides for XCYCLE=T treatment. ---------------------------------------------------------- ENDDIS L(PAUSE ************************************************************** BOOLEAN(LBUFF,LTURB); LBUFF= T; LTURB= T ************************************************************** PHOTON USE p ; ; ; ; ; msg Computational Domain: gr k 1 msg Press Any Key to Continue... pause cl set vec av off msg Velocity Vectors: vec k 1 sh use patgeo msg Press Any Key to Continue... pause cl msg Contours of Pressure: con p1 k 1 fi;0.001 use patgeo msg Press Any Key to Continue... msg Press Eto exit PHOTON ... ENDUSE ************************************************************** GROUP 1. Run title and other preliminaries REAL(RINT,RIMP,RBUF,REXT,REYNO,PI,OMEGA,RLNK,DTHYD) REAL(UIMP,TKEIN,EPSIN,COEF) INTEGER(NX1,NY11,NY12,NY1,NZ1,NX2,NY21,NY22,NY2,NZ2,IBUF) IF(LTURB) THEN + TEXT(MBFGE: 2D Stirred flow (K-E). + REYNO= 1000.; COEF= GRND3 ELSE + TEXT(MBFGE: 2D Stirred flow (Re=100). + REYNO= 100.; COEF= 1.0 ENDIF TITLE ** Problem definition: PI = 3.14159 RINT= 0.008; RIMP = 0.025; RBUF= 0.03; REXT= 0.04 RLNK= 0.026; OMEGA= 5./PI; UIMP= OMEGA*RIMP NX1 = 18; NY11 = 12; NY12= 2; NY1= NY11+NY12; NZ1= 1 NX2 = NX1; NY21 = 6; NY22= 10; NY2= NY21+NY22; NZ2= 1 IBUF= NX1/2; DTHYD= PI/2./NX1/OMEGA GROUP 2. Transience; time-step specification STEADY= F; GRDPWR(T,NX1+1,1.0,1.0) GROUP 6. Body-fitted coordinates or grid distortion BFC= T; GSET(D,NX1,NY1,NZ1,REXT,REXT,0.1) GSET(P,P1, 0.0,RINT,0.0); GSET(P,P2,REXT,RINT,0.0) GSET(P,P3,REXT,RIMP,0.0); GSET(P,P4,REXT,RLNK,0.0) GSET(P,P5, 0.0,RLNK,0.0); GSET(P,P6, 0.0,RIMP,0.0) GSET(L,L1,P1,P2, NX1,1.0); GSET(L,L2,P2,P3,NY11,S1.5) GSET(L,L3,P3,P4,NY12,1.0); GSET(L,L4,P4,P5, NX1, 1.0) GSET(L,L5,P5,P6,NY12,1.0); GSET(L,L6,P6,P1,NY11,S1.5) GSET(F,F1,P1,-,P2,P3,P4,-,P5,P6); 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) GSET(C,I:NX1+1:,F,I1,1,NY1,1,NZ1,RZ,-PI/3.,0.0,0.0,INC,1.0) DUMPC(MBGR1) BFC= T; GSET(D,NX2,NY2,NZ2,REXT,REXT,0.1) GSET(P,P1, 0.0,RLNK,0.0); GSET(P,P2,REXT,RLNK,0.0) GSET(P,P3,REXT,RBUF,0.0); GSET(P,P4,REXT,REXT,0.0) GSET(P,P5, 0.0,REXT,0.0); GSET(P,P6, 0.0,RBUF,0.0) GSET(L,L1,P1,P2, NX2, 1.0); GSET(L,L2,P2,P3,NY21,S1.6) GSET(L,L3,P3,P4,NY22,S1.5); GSET(L,L4,P4,P5, NX2, 1.0) GSET(L,L5,P5,P6,NY22,S1.5); GSET(L,L6,P6,P1,NY21,S1.6) GSET(F,F1,P1,-,P2,P3,P4,-,P5,P6); GSET(M,F1,+I+J,1,1,1) GSET(C,K:NZ2+1:,F,K1,1,NX2,1,NY2,+,0.0,0.0,0.1,INC,1.0) GSET(C,I:NX2+1:,F,I1,1,NY2,1,NZ2,RZ,-PI/3.,0.0,0.0,INC,1.0) DUMPC(MBGR2) ** Assemble blocks: NUMBLK = 2; READCO(MBGR+Y); GVIEW(Z); VIEW ** Next is instead of MBLINK(1,SOUTH,2,NORTH) to set sliding LINK: MPATCH(1,MBS1.2,NORTH,1,NX1,NY1,NY1,1,NZ1,1,LSTEP) MPATCH(2,MBS2.1,SOUTH,1,NX2, 1, 1,1,NZ2,1,LSTEP) GROUP 7. Variables stored, solved & named STORE(VPOR,EPOR); SOLVE(P1,U1,V1) IF(LTURB) THEN + TURMOD(KEMODL); KELIN= 1; STORE(ENUT,GEN1) + TKEIN= 0.25*UIMP*UIMP*0.018; EPSIN= TKEIN**1.5/RIMP + FIINIT(KE)= TKEIN; FIINIT(EP)= EPSIN ENDIF L($F150) GROUP 9. Properties of the medium (or media) ENUL= 2.*REXT*RIMP*OMEGA/REYNO; RHO1= 1000. GROUP 11. Initialization of variable or porosity fields INIADD= F IF(LBUFF) THEN +MPATCH(1,IMPEL,INIVAL,IBUF,IBUF,1,NY11,1,NZ1,1,1) + COVAL(IMPEL,EPOR,0.0,0.0) +MPATCH(2,BUFF,INIVAL,IBUF,IBUF,NY21+1,NY2,1,NZ2,1,1) + COVAL(BUFF,EPOR,0.0,0.0) ENDIF GROUP 13. Boundary conditions and special sources XCYCLE= T ** Coriolis ANGVEL= OMEGA ROTAXA= 0.0; ROTAYA= 0.0; ROTAZA= 0.0 ROTAXB= 0.0; ROTAYB= 0.0; ROTAZB= 1.0 MPATCH(1,SLIDRT1,CELL,1,NX1,1,NY1,1,NZ1,1,LSTEP) ** Walls. MPATCH(1,WS,SWALL,1,NX1, 1, 1,1,NZ1,1,LSTEP) COVAL(WS,UC1,COEF,0.0); COVAL(WS,VC1,COEF,0.0) MPATCH(2,WN,NWALL,1,NX2,NY2,NY2,1,NZ2,1,LSTEP) COVAL(WN,UC1,COEF,0.0); COVAL(WN,VC1,COEF,0.0) IF(LTURB) THEN + COVAL(WS, KE,GENLAW,GENLAW); COVAL(WS, EP,GENLAW,GENLAW) + COVAL(WN, KE,GENLAW,GENLAW); COVAL(WN, EP,GENLAW,GENLAW) ENDIF IF(LBUFF) THEN +MPATCH(1, WIMPE,EWALL, IBUF, IBUF, 1,NY11,1,NZ1,1,LSTEP) + COVAL(WIMPE,UC1,COEF,0.0); COVAL(WIMPE,VC1,COEF,0.0) +MPATCH(1, WIMPW,WWALL,IBUF+1,IBUF+1, 1,NY11,1,NZ1,1,LSTEP) + COVAL(WIMPW,UC1,COEF,0.0); COVAL(WIMPW,VC1,COEF,0.0) +MPATCH(2,WBUFFE,EWALL, IBUF, IBUF,NY21+1, NY2,1,NZ2,1,LSTEP) + COVAL(WBUFFE,UC1,COEF,0.0); COVAL(WBUFFE,VC1,COEF,0.0) +MPATCH(2,WBUFFW,WWALL,IBUF+1,IBUF+1,NY21+1, NY2,1,NZ2,1,LSTEP) + COVAL(WBUFFW,UC1,COEF,0.0); COVAL(WBUFFW,VC1,COEF,0.0) +IF(LTURB) THEN + COVAL( WIMPE,KE,GENLAW,GENLAW); COVAL( WIMPE,EP,GENLAW,GENLAW) + COVAL( WIMPW,KE,GENLAW,GENLAW); COVAL( WIMPW,EP,GENLAW,GENLAW) + COVAL(WBUFFE,KE,GENLAW,GENLAW); COVAL(WBUFFE,EP,GENLAW,GENLAW) + COVAL(WBUFFW,KE,GENLAW,GENLAW); COVAL(WBUFFW,EP,GENLAW,GENLAW) +ENDIF ENDIF GROUP 15. Termination of sweeps LSWEEP = 20; TSTSWP = -1 GROUP 16. Termination of iterations SELREF = T; RESFAC = 1.E-5 GROUP 17. Under-relaxation devices RELAX(P1,LINRLX,0.5) GROUP 19. Data communicated by satellite to GROUND * LSG3 = T, activates curvilinearity treatment; LSG3= T SPEDAT(SET,GXMONI,TRANSIENT,L,F) GROUP 22. Spot-value print-out IXMON = NX1/2+1; IYMON = NY1/2+1; IZMON = 1 GROUP 24. Dumps for restarts * User can get PHI-files for each step by uncommenting next: IDISPA= 1; CSG1 = A