** Plane channel with distorted grid. DISPLAY The Q1 presents a test case for viscous flow through a highly distorted mesh, with or without a body force representing a porous medium. It allows the behaviour of the GCV, CCM and standard staggered solvers to be compared. In all cases, the vector field should show completely uniform flow. If the body force is not included, the pressure should be uniform and zero, as there are no wall boundaries. If they are included, there should be a uniform pressure gradient in the X direction. ENDDIS MESG(Select equation formulation: MESG( G - GCV (default) MESG( S - Standard staggered formulation MESG( M - CCM Colocated formulation MESG( V - CCV Colocated formulation MESG( MESG(Enter letter for choice READVDU(ANS,CHAR,G) REAL(DTF) CASE :ANS: OF WHEN S,1 SYMBFC=T; ANS='Staggered' DTF=0.0001 WHEN M,1 CCM=T ; ANS=CCM; DTF=0.0001 WHEN V,1 CCV=T ; ANS=CCV; DTF=0.0001 MESG(To get the correct vectors in PHOTON, issue the MESG(command: MESG(SET VEC COMP UC1 VC1 - MESG(before drawing the vectors. ORELSE GCV=T;LSG9=T; ANS=GCV; DTF=1E4 ENDCASE PHOTON USE p ; ; ; ; ; msg Computational Domain: gr k 1 pause cl msg Velocity Vectors: vec k 1 sh msg Press Any Key to Continue... pause cl msg Contours of p1 con p1 k 1 fi;0.0001 msg Press Eto exit PHOTON ... ENDUSE REAL(ANGL,DELX,DNX) REAL(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18) REAL(Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,Y10,Y11,Y12,Y13,Y14,Y15,Y16,Y17,Y18) REAL(XLEN1,XLEN2,XLEN3,YLEN1,YLEN2) INTEGER(NX1,NX2,NX3,NY1,NY2) MESG(Enter skew angle in range 0 - 70 (70) READVDU(ANGL,REAL,70) IF(:ANS:.EQ.CCM.AND.ANGL.GT.50) THEN MESG(WARNING: CCM wil not converge for angles much above 50 ENDIF TEXT(XY Duct, :ANS: Solver, Skew angle :ANGL: TITLE ANGL = ANGL*3.14159/180.0 XLEN1=0.2;XLEN2=0.2;XLEN3=0.8;YLEN1=0.1;YLEN2=0.1 note: NX3 > 2 ! --------------- NX1=2;NX2=2;NX3=6;NY1=5;NY2=NY1 DNX = XLEN3 / NX3; DELX = YLEN1 * TAN(ANGL) X1=0.;X4=X1;X6=X1 X2=XLEN1;X3=X2;X5=X2 X7=XLEN1+XLEN3;X10=X7;X12=X7 X8=XLEN1+XLEN3+XLEN2;X9=X8;X11=X8 X13=XLEN1+DNX;X17=X13 X14=XLEN1+XLEN3-DNX-DELX;X18=X14 X15=XLEN1+DNX+DELX X16=XLEN1+XLEN3-DNX Y1=0.;Y2=Y1;Y7=Y1;Y8=Y1;Y13=Y1;Y14=Y1 Y4=YLEN1;Y3=Y4;Y10=Y4;Y9=Y4;Y15=Y4;Y16=Y4 Y6=YLEN1+YLEN2;Y5=Y6;Y12=Y6;Y11=Y6;Y17=Y6;Y18=Y6 NX = NX1+NX2+NX3; NY = NY1+NY2 ; NZ = 1 BFC= T; GSET(D,NX,NY,NZ,X8,Y6,1.0) GSET(P,P1 ,X1 ,Y1 ,0.0) GSET(P,P2 ,X2 ,Y2 ,0.0) GSET(P,P3 ,X3 ,Y3 ,0.0) GSET(P,P4 ,X4 ,Y4 ,0.0) GSET(P,P5 ,X5 ,Y5 ,0.0) GSET(P,P6 ,X6 ,Y6 ,0.0) GSET(P,P7 ,X7 ,Y7 ,0.0) GSET(P,P8 ,X8 ,Y8 ,0.0) GSET(P,P9 ,X9 ,Y9 ,0.0) GSET(P,P10,X10,Y10,0.0) GSET(P,P11,X11,Y11,0.0) GSET(P,P12,X12,Y12,0.0) GSET(P,P13,X13,Y13,0.0) GSET(P,P14,X14,Y14,0.0) GSET(P,P15,X15,Y15,0.0) GSET(P,P16,X16,Y16,0.0) GSET(P,P17,X17,Y17,0.0) GSET(P,P18,X18,Y18,0.0) GSET(L,L12 ,P1 ,P2 ,NX1,1.0) GSET(L,L43 ,P4 ,P3 ,NX1,1.0) GSET(L,L65 ,P6 ,P5 ,NX1,1.0) GSET(L,L78 ,P7 ,P8 ,NX2,1.0) GSET(L,L109,P10,P9 ,NX2,1.0) GSET(L,L121,P12,P11,NX2,1.0) GSET(L,L213,P2 ,P13, 1,1.0) GSET(L,L134,P13,P14,NX3-2,1.0) GSET(L,L147,P14,P7 , 1,1.0) GSET(L,L315,P3 ,P15, 1,1.0) GSET(L,L156,P15,P16,NX3-2,1.0) GSET(L,L160,P16,P10, 1,1.0) GSET(L,L517,P5 ,P17, 1,1.0) GSET(L,L178,P17,P18,NX3-2,1.0) GSET(L,L182,P18,P12, 1,1.0) GSET(L,L14 ,P1 ,P4 ,NY1,1.0) GSET(L,L23 ,P2 ,P3 ,NY1,1.0) GSET(L,L710,P7 ,P10,NY1,1.0) GSET(L,L89 ,P8 ,P9 ,NY1,1.0) GSET(L,L46 ,P4 ,P6 ,NY2,1.0) GSET(L,L35 ,P3 ,P5 ,NY2,1.0) GSET(L,L102,P10,P12,NY2,1.0) GSET(L,L911,P9 ,P11,NY2,1.0) GSET(L,L135,P13,P15,NY1,1.0) GSET(L,L146,P14,P16,NY1,1.0) GSET(L,L157,P15,P17,NY2,1.0) GSET(L,L168,P16,P18,NY2,1.0) GSET(F,F1,P1 ,-,P2 ,-,P3 ,-,P4 ,-); GSET(M,F1,+I+J, 1,1,1) GSET(F,F2,P7 ,-,P8 ,-,P9 ,-,P10,-); GSET(M,F2,+I+J,NX1+NX3+1,1,1) GSET(F,F3,P4 ,-,P3 ,-,P5 ,-,P6 ,-); GSET(M,F3,+I+J, 1,NY1+1,1) GSET(F,F4,P10,-,P9 ,-,P11,-,P12,-);GSET(M,F4,+I+J,NX1+NX3+1,NY1+1,1) GSET(F,F5,P2 ,-,P13,-,P15,-,P3 ,-); GSET(M,F5,+I+J, NX1+1,1,1) GSET(F,F6,P13,-,P14,-,P16,-,P15,-); GSET(M,F6,+I+J, NX1+2,1,1) GSET(F,F7,P14,-,P7 ,-,P10,-,P16,-); GSET(M,F7,+I+J,NX1+NX3,1,1) GSET(F,F8,P3 ,-,P15,-,P17,-,P5 ,-); GSET(M,F8,+I+J,NX1+1,NY1+1,1) GSET(F,F9,P15,-,P16,-,P18,-,P17,-); GSET(M,F9,+I+J,NX1+2,NY1+1,1) GSET(F,F10,P16,-,P10,-,P12,-,P18,-);GSET(M,F10,+I+J,NX1+NX3,NY1+1,1) GSET(C,K:NZ+1:,F,K1,1,NX,1,NY,+,0.0,0.0,1.0) REAL(SCA); SCA = 1. INTEGER(IYIN1); IYIN1=2 DIFCUT=0.0; ENUL=1.0; RHO1=1. SOLVE(P1,U1,V1) FIINIT(U1) =0.0; FIINIT(V1) = 0.0; FIINIT(P1) =0.0 PATCH(INL1,WEST,1,1, 1,IYIN1,1,1,1,1) PATCH(INL2,WEST,1,1,IYIN1+1,NY ,1,1,1,1) COVAL(INL1,P1,FIXFLU,1.0 ) COVAL(INL2,P1,FIXFLU,1.0*SCA) PATCH(OULET,EAST,NX,NX,1,NY,1,1,1,1) COVAL(OULET,P1, 1.0E8 ,0.0) NONORT=T COVAL(INL1,U1,ONLYMS,1.0 ) COVAL(INL2,U1,ONLYMS,1.0*SCA) MESG(Introduce Porous Medium? (N/y) READVDU(ANS,CHAR,N) IF(:ANS:.EQ.Y) THEN Porous Medium Test + PATCH(RES,PHASEM,1,NX,1,NY,1,1,1,1) + COVAL(RES,U1,1.E4,0.0) + COVAL(RES,V1,1.E4,0.0) + IF(GCV) THEN + LSG9=F + ENDIF ENDIF SELREF = T; RESFAC =1.0E-8 ECHO=T;IXMON=NX-1;IYMON=NY/2 NXPRIN=1; NYPRIN=1 TSTSWP=-1; LSWEEP=1000 NXPRIN= 1; NYPRIN=1 IF(.NOT.GCV) THEN RELAX(P1,LINRLX,0.1) ENDIF RELAX(U1,FALSDT,DTF);RELAX(V1,FALSDT,DTF) MESG(Show the grid? (N/y) READVDU(ANS,CHAR,N) IF(:ANS:.EQ.Y) THEN GCLEAR;GVIEW(Z);GGRID(Z,1,1,NX+1,1,NY+1,3,0); GDRAW ENDIF