TALK=F;RUN( 1, 1) TEXT(USP. Test 11 title DISPLAY This case solves a two-dimensional steady hydrodynamics problem about laminar flow in plane channel. Length of channel is 1 m, height of channel is 0,1 m The viscosity varies with Y-coordinate. The minimum of viscosity is on walls. The maximum viscosity is in centre of channel. ENDDIS REAL(X1,X2,Y1,Y2,DTF,VISC,UAVE,RHO) REAL(REYNO) Initial values NX = 100 NY = 20 NZ = 1 X1=0.;X2=1.0 Y1=0.;Y2=0.1 UAVE = 0.01 RHO = 1. REYNO = 100 LSWEEP=800 RSET(M,NX,NY,NZ) RSET(D,DOM,X2,Y2,1.E-3) SOLVE(P1,U1,V1) STORE(VISL) PARSOL = F REAL(VISMAX,VISMIN,VIS,DVIS) VISMAX = 1.e-4 VISMIN = 1.e-5 mesg(Default value of minimum viscosity is :VISMIN: mesg(Default value of maximum viscosity is :VISMAX: mesg(Do you want to changed them? (y/n) readvdu(ans,char,n) if(:ans:.eq.y)then mesg(Enter minimum viscosity readvdu(VISMIN,real,VISMIN) mesg(New value of minimum viscosity is :VISMIN: mesg(Enter maximum viscosity readvdu(VISMAX,real,VISMAX) mesg(New value of maximum viscosity is :VISMAX: endif Average velocity VISC = (VISMAX+VISMIN)/2 UAVE = REYNO*VISC/Y2 ENUL=VISC RHO1=RHO DVIS = 2*(VISMAX-VISMIN)/NY TERMS (U1 ,Y,Y,Y,N,N,N) TERMS (V1 ,Y,Y,Y,N,N,N) REAL(XCOR,DXC,YCOR,DYC,U1C,P1C,HY,P1AVE) DYC=2./NY DXC=X2/NX HY=Y2*0.5 Following commands set the initial fields and inlet boundary source VIS = VISMIN + 0.5*DVIS DO JJ=1,NY + YCOR=0.5*DYC+(JJ-1)*DYC-1 + U1C = 1.5*UAVE*(1-YCOR*YCOR) + PATCH(IV:JJ:,INIVAL,1,NX,:JJ:,:JJ:,1,NZ,1,1) + INIT(IV:JJ:,VISL,0.0,VIS) + PATCH(IN:JJ:,WEST,1,1,:JJ:,:JJ:,1,NZ,1,1) + COVAL(IN:JJ:,P1,FIXFLU,U1C*RHO) + COVAL(IN:JJ:,U1,ONLYMS,U1C) + COVAL(IN:JJ:,V1,ONLYMS,0.) +IF(JJ.LT.NY/2)THEN + VIS = VIS + DVIS +ELSE + IF(JJ.GT.NY/2)THEN + VIS = VIS - DVIS + ENDIF +ENDIF ENDDO PATCH(OUTLET,EAST,NX,NX,1,NY,1,1,1,1) COVAL(OUTLET,P1, 1.0E+3 ,0.0) NONORT=T ========= Walls ===================== PATCH(WALL1,SWALL,1,NX,1,1,1,1,1,1) COVAL(WALL1,U1,1.,0.0) COVAL(WALL1,V1,1.,0.0) PATCH(WALL2,NWALL,1,NX,NY,NY,1,1,1,1) COVAL(WALL2,U1,1.,0.0) COVAL(WALL2,V1,1.,0.0) DTF=1.E+01 RELAX(P1,LINRLX,1.) RELAX(U1,FALSDT,DTF) RELAX(V1,FALSDT,DTF) USP = T UAUTO = F USPDBG = F UTCPLT = T USPVTK = T USPIMB = F MXLEV = 0 MYLEV = 0 MZLEV = 0 DOMAT = -1 MINPRP = -1 MAXPRP = 250 CELLST = 10 FACEST = 10 mesg(Do you want to use collocated arrangement (y) or staggered one (n)? (y/n) readvdu(ans,char,n) if(:ans:.eq.y)then SPEDAT(SET,USP,METHOD,I,1) RELAX(P1 ,LINRLX, 6.000000E-01) RELAX(U1 ,FALSDT, 1.000000E-01) RELAX(V1 ,FALSDT, 1.000000E-01) mesg(Do you want to use SIMPLEST (y) or SIMPLE (n)? (y/n) readvdu(ans,char,n) if(:ans:.eq.y)then RELAX(P1 ,LINRLX, 1.000000E-00) SPEDAT(SET,USP,SIMPLEST,L,T) endif endif mesg(Do you want to view results in the centres of cells? (y/n) readvdu(ans,char,n) if(:ans:.eq.y)then SPEDAT(SET,USPIO,VERTCENT,L,F) endif SELREF = T; RESFAC =1.0E-7 ECHO=F;IXMON=NX-1;IYMON=NY/2 TSTSWP=-1 NXPRIN= 1; NYPRIN=1 STOP