** Flow around cylinder - H grid PHOTON USE p ; ; ; ; ; msg Computational Domain: gr k 1 pause cl set vec av off msg Velocity Vectors: vec k 1 sh msg Press Any Key to Continue... pause cl msg Contours of UCRT-component: con ucrt k 1 fi;0.02 msg Press Any Key to Continue... pause cl msg Contours of p1 con p1 k 1 fi;0.02 msg Press Eto exit PHOTON ... ENDUSE DISPLAY This case concerns the prediction of laminar flow over a complete cylinder. The default Reynolds Number is 40. The grid is composed of a single block, using a cartesian H topology. The cylinder is represented by a blockage. The Q1 contains PHOTON commands. ENDDIS BOOLEAN(LVISC); LVISC = T REAL(RCYL,X0,X1,X2,X3,Y1,Y2,REYNO,UIN,TET,DTHYD) INTEGER(NX1,NX2,NX3,NY1,NY2) TET = 3.1415/4.0 MESG(Enter Reyolds Number in the range 0.1 - 2000 (40) READVDU(REYNO,REAL,40) IF(REYNO.GT.2000) THEN + REYNO=2000 ELSE + IF(REYNO.LT..1) THEN + REYNO=0.1 + ENDIF ENDIF TEXT(Flow around a Cylinder at Re = :REYNO: TITLE UIN = 1.0; RCYL = 1.0; NZ = 1 DTHYD = RCYL/UIN NX1 = 16; NX2 = 12 ; NX3= 28; NX = NX1+NX2+NX3 NY1 = 6; NY2 = 24; NY = 2*(NY1+NY2) X0 =-4*RCYL; X3 = 10*RCYL X1 =-RCYL*COS(TET); X2 = RCYL*COS(TET) Y1 = RCYL*SIN(TET); Y2 = 6*RCYL BFC= T; GSET(D,NX,NY,NZ,RCYL,RCYL,1.0) GSET(P,P1 ,X1,-Y1,0.0); GSET(P,P2, X2,-Y1,0.0) GSET(P,P3 ,X2, Y1,0.0); GSET(P,P4, X1, Y1,0.0) GSET(P,P5 ,X0,-Y1,0.0); GSET(P,P10, X3,-Y1,0.0) GSET(P,P16,X0, Y1,0.0); GSET(P,P11, X3, Y1,0.0) GSET(P,P6 ,X0,-Y2,0.0); GSET(P,P7 ,X1,-Y2,0.0) GSET(P,P8 ,X2,-Y2,0.0); GSET(P,P9 ,X3,-Y2,0.0) GSET(P,P15,X0, Y2,0.0); GSET(P,P14,X1, Y2,0.0) GSET(P,P13,X2, Y2,0.0); GSET(P,P12,X3, Y2,0.0) ** Center. + GSET(L,L12,P1 ,P2 , NX2,1.0,ARC, 0.0,-RCYL,0.0) + GSET(L,L23,P2 ,P3 ,2*NY1,1.0,ARC, RCYL, 0.0,0.0) + GSET(L,L34,P3 ,P4 , NX2,1.0,ARC, 0.0, RCYL,0.0) + GSET(L,L45,P4 ,P1 ,2*NY1,1.0,ARC,-RCYL, 0.0,0.0) + GSET(L,A51,P5 ,P16,2*NY1,1.0) + GSET(L,A11,P10,P11,2*NY1,1.0) ** Bottom. + GSET(L,L15,P1,P5 ,NX1,1.0) + GSET(L,L67,P6,P7 ,NX1,1.0) + GSET(L,L78,P7,P8 ,NX2,1.0) + GSET(L,L89,P8,P9 ,NX3,1.5) + GSET(L,A21,P2,P10,NX3,1.5) + GSET(L,A91,P10,P9,NY2,1.8) + GSET(L,L56,P5 ,P6,NY2,1.8) ** Top. + GSET(L,A64,P16,P4 ,NX1,1.0) + GSET(L,A54,P15,P14,NX1,1.0) + GSET(L,A43,P14,P13,NX2,1.0) + GSET(L,A32,P13,P12,NX3,1.5) + GSET(L,A31,P3 ,P11,NX3,1.5) + GSET(L,A12,P11,P12,NY2,1.8) + GSET(L,A56,P16,P15,NY2,1.8) + GSET(F,F1 ,P6 ,P7.P8,P9 ,-,P10,P2.P1 ,P5 ,-) + GSET(F,F21,P5 ,- ,P1,- ,P4 ,- ,P16,-) + GSET(F,F22,P1 ,- ,P2, -,P3 ,- ,P4 ,-) + GSET(F,F23,P2 ,- ,P10,-,P11,- ,P3 ,-) + GSET(F,F3 ,P16,P4.P3,P11,-,P12,P13.P14,P15,-) + GSET(M,F1 ,+I+J, 1, 1,1) + GSET(M,F21,+I+J, 1, NY2+1,1) + GSET(M,F22,+I+J, NX1+1, NY2+1,1) + GSET(M,F23,+I+J,NX1+NX2+1, NY2+1,1) + GSET(M,F3 ,+I+J, 1,NY2+2*NY1+1,1) GSET(C,K:NZ+1:,F,K1,1,NX,1,NY,+,0.0,0.0,1.0,INC,1.0) MESG(Show the grid? (N/y) READVDU(ANS,CHAR,N) IF(:ANS:.EQ.Y) THEN VIEW(K,1) ENDIF SOLVE(U1,V1,P1) RHO1 = 1.0 IF(LVISC) THEN + ENUL=UIN*2*RCYL/REYNO ELSE + ENUL = 0.0 ENDIF INIADD=F CONPOR(CYL,0.0,CELL,NX1+1,NX1+NX2,NY2+1,NY2+2*NY1,1,NZ) INLET( IN,WEST, 1, 1,1,NY,1,1,1,1) VALUE(IN,P1,RHO1*UIN) VALUE(IN,U1,UIN) OUTLET(OUT,EAST,NX,NX,1,NY,1,1,1,1) IF(LVISC) THEN + WALL(WN,NORTH,NX1+1,NX1+NX2,NY2 , NY2,1,1,1,1) + WALL(WS,SOUTH,NX1+1,NX1+NX2,NY2+2*NY1+1,NY2+2*NY1+1,1,1,1,1) + WALL(WW,WEST ,NX1+NX2,NX1+NX2,NY2+1,NY2+2*NY1,1,1,1,1) + WALL(WE,EAST , NX1, NX1,NY2+1,NY2+2*NY1,1,1,1,1) ENDIF LSWEEP=250 NONORT = T MESG(Use GCV solver? Y/n) READVDU(ANS,CHAR,Y) GCV=:ANS:.EQ.Y IF(.NOT.GCV) THEN RELAX(P1,LINRLX,0.1) RELAX(U1,FALSDT,DTHYD/NX/10) RELAX(V1,FALSDT,DTHYD/NX/10) SYMBFC=T ENDIF TSTSWP = -1 IXMON=50; IYMON=NY/2