Group 1. Run Title
TEXT(Residence-Time Demonstration
DISPLAY
This case provides a simple demonstration of the calculation of
residence time for plane turbulent channel flow over a cavity.
The channel is 0.5m high by 3m long, and the cavity, which is
located centrally beneath the channel, is 2.5m high by 1.5m wide.
Fluid enters with a velocity of 1m/s corresponding to a Reynolds
number of 3.24E4. The turbulence is represented by means of the
standard k-e model.
The procedure for calculating the residence time corresponds
closely to the way residence times are measured in practice:
1) obtain the steady-state solution for the hydrodynamics.
2) perform a restart calculation from these solution fields so
as to make a transient analysis for a single scalar quantity
C1, which enters in a short pulse and is then convected out
of the solution domain.
The spread in time corresponds corresponds in part to the
convective and diffusive mixing processes; but numerical
diffusion is also present. The residence time is determined by
monitoring the exit concentration with time, and noting when
the exit value reaches a maximum. The PHOENICS simulation
predicts the expected residence time of 3s, as may be seen
on inspection of the PROFIL plot at the end of the RESULT
file.
ENDDIS
The user may introduce the following FORTRAN coding in Group
19 Section 8 of GROUND (Finish of time step) to temporal
printout of the mass-averaged exit concentration in a file
called TC1.DAT.
198 CONTINUE
IF(ISTEP.EQ.1) THEN
OPEN(65,FILE='TC1.DAT')
WRITE(65,1987)
1987 FORMAT(2X,'ISTEP',3X,'T',7X,'C1EX'/)
ENDIF
CALL GETSOR('OUTLET',P1,GMOUT)
CALL GETSOR('OUTLET',C1,GCOUT)
GC1EX=GCOUT/(GMOUT+1.E-20)
WRITE(65,'(I4,2X,F6.1,2X,1P2E11.5)') ISTEP,TIM,GC1EX
RETURN
************************************************************
Group 2. Transience
MESG( Do you want to run steady ? (y/n)
MESG( A steady run is needed before running a transient
MESG( analysis for the residence-time computation)
READVDU(ANS,CHAR,Y)
IF(:ANS:.EQ.Y) THEN
+ STEADY=T
+ MESG(Steady hydrodynamics run
ELSE
+ STEADY=F
+ MESG(Transient residence-time run
ENDIF
* Set overall time and no. of steps
IF(.NOT.STEADY) THEN
+ RSET(U,0.000000E+00,5.000000E+00,100)
ENDIF
************************************************************
Groups 3, 4, 5 Grid Information
* Overall number of cells, RSET(M,NX,NY,NZ,tolerance)
RSET(M,20,20,1)
* Set overall domain extent:
* xulast yvlast zwlast
name
XSI= 3.000000E+00; YSI= 3.000000E+00; ZSI= 1.000000E+00
RSET(D,CHAM )
* Set objects: x0 y0 z0
* dx dy dz
name
XPO= 0.000000E+00; YPO= 0.000000E+00; ZPO= 0.000000E+00
XSI= 7.500000E-01; YSI= 2.500000E+00; ZSI= 1.000000E+00
RSET(B,B1 )
XPO= 2.250000E+00; YPO= 0.000000E+00; ZPO= 0.000000E+00
XSI= 7.500000E-01; YSI= 2.500000E+00; ZSI= 1.000000E+00
RSET(B,B2 )
* Modify default grid
RSET(X,1,5,1.000000E+00)
RSET(X,2,10,1.000000E+00)
RSET(X,3,5,1.000000E+00)
RSET(Y,1,16,1.000000E+00)
RSET(Y,2,4,1.000000E+00)
************************************************************
Group 6. Body-Fitted coordinates
************************************************************
Group 7. Variables: STOREd,SOLVEd,NAMEd
ONEPHS = T
* Non-default variable names
NAME(146) =EPKE ; NAME(147) =EL1
NAME(148) =ENUT ; NAME(149) =DEN1
NAME(150) =PRPS
* Solved variables list
SOLVE(P1,C1)
IF(STEADY) THEN
+ SOLVE(U1,V1);STORE(C1)
ELSE
+ STORE(U1,V1)
ENDIF
* Stored variables list
STORE(PRPS,DEN1,ENUT,EL1 ,EPKE)
* Additional solver options
SOLUTN(P1 ,Y,Y,Y,N,N,Y)
IF(STEADY) THEN
+ TURMOD(KEMODL)
ELSE
+ STORE(KE,EP)
ENDIF
************************************************************
Group 8. Terms & Devices
TERMS (C1,N,Y,N,Y,Y,Y)
IF(.NOT.STEADY) THEN
+ SCHEME(VANL1,C1)
ENDIF
NEWRH1 = T
NEWENL = T
************************************************************
Group 9. Properties
RHO1 = GRND10
CP1 = 1.005000E+03
ENUL = GRND10
PRT (EP ) = 1.314000E+00
************************************************************
Group 10.Inter-Phase Transfer Processes
************************************************************
Group 11.Initialise Var/Porosity Fields
IF(STEADY) THEN
+ FIINIT(KE ) = 2.500000E-03 ;FIINIT(EP ) = 8.2000E-04
+ FIINIT(EPKE) = 1.000000E+00 ;FIINIT(PRPS) = 0.0
ELSE
+ RESTRT(ALL)
+ NAMFI = 'HYDR'
ENDIF
PATCH(BLOCK1,INIVAL,#1,#1,#1,#1,#1,#1,1,1)
INIT(BLOCK1,PRPS,0.0,198.0)
PATCH(BLOCK2,INIVAL,#3,#3,#1,#1,#1,#1,1,1)
INIT(BLOCK2,PRPS,0.0,198.0)
************************************************************
Group 12. Convection and diffusion adjustments
No PATCHes used for this Group
************************************************************
Group 13. Boundary & Special Sources
IF(STEADY) THEN
+ INLET (INLET,WEST,#1,#1,#2,#2,#1,#1,1,1)
+ VALUE (INLET,P1,1.189)
+ VALUE (INLET,U1,1.0)
+ VALUE (INLET,KE,2.500000E-03)
+ VALUE (INLET,EP,8.2000E-04)
+ WALL (NORWAL,NORTH,1,NX,NY,NY,1,1,1,1)
ELSE
+ INLET (INLETP,WEST,#1,#1,#2,#2,#1,#1,1,1)
+ VALUE (INLETP,P1,1.189)
+ VALUE (INLETP,U1,1.0)
+ VALUE (INLETP,KE,2.500000E-03)
+ VALUE (INLETP,EP,8.2000E-04)
+ VALUE (INLETP,C1,1.0)
+ INLET (INLET,WEST,#1,#1,#2,#2,#1,#1,2,LSTEP)
+ VALUE (INLET,P1,1.189)
+ VALUE (INLET,U1,1.0)
+ VALUE (INLET,KE,2.500000E-03)
+ VALUE (INLET,EP,8.2000E-04)
ENDIF
PATCH (OUTLET,EAST ,#3,#3,#2,#2,1,1,1,LSTEP)
COVAL (OUTLET,P1 , 1.000000E+00, 0.000000E+00)
EGWF = T
************************************************************
Group 14. Downstream Pressure For PARAB
************************************************************
Group 15. Terminate Sweeps
IF(STEADY) THEN
+ LSWEEP = 300
ELSE
+ LSWEEP = 5
ENDIF
RESFAC = 1.000000E-04
************************************************************
Group 16. Terminate Iterations
************************************************************
Group 17. Relaxation
RELAX(P1 ,LINRLX, 1.000000E+00)
RELAX(U1 ,FALSDT, 1.0)
RELAX(V1 ,FALSDT, 1.0)
RELAX(KE ,LINRLX, 4.000000E-01)
RELAX(EP ,LINRLX, 4.000000E-01)
RELAX(C1 ,FALSDT, 100.0)
KELIN = 3
************************************************************
Group 18. Limits
VARMAX(U1 ) = 1.000000E+06 ;VARMIN(U1 ) =-1.000000E+06
VARMAX(V1 ) = 1.000000E+06 ;VARMIN(V1 ) =-1.000000E+06
VARMAX(C1 ) = 1.0 ;VARMIN(C1 ) =1.E-10
************************************************************
Group 19. EARTH Calls To GROUND Station
USEGRD = T ;USEGRX = T
GENK = T
SPEDAT(SET,GXMONI,TRANSIENT,L,F)
************************************************************
Group 20. Preliminary Printout
ECHO = T
************************************************************
Group 21. Print-out of Variables
************************************************************
Group 22. Monitor Print-Out
IXMON = 19 ;IYMON = 18 ;IZMON = 1
NPRMON = 100000 ;ITABL = 3
IF(STEADY) THEN
+ NPLT = 5
ELSE
+ NPLT = 1
ENDIF
NPRMNT = 1
TSTSWP = -1
************************************************************
Group 23.Field Print-Out & Plot Control
NPRINT = 100000
ISWPRF = 1 ;ISWPRL = 100000
No PATCHes used for this Group
IF(.NOT.STEADY) THEN
+ NTZPRF=1
+ PATCH(C1EXIT,PROFIL,%3,%3,$2,$2,1,1,1,LSTEP)
+ PLOT(C1EXIT,C1,0.0,0.0)
ENDIF
************************************************************
Group 24. Dumps For Restarts
************************************************************
MENSAV(S,RELX,DEF,5.0000E-02,1,1.0000E-01)
MENSAV(S,PHSPROP,DEF,200,0,1.1890E+00,1.5440E-05)
MENSAV(S,FLPRP,DEF,K-E,NOTSET,AIR-CONSTANT)
IF(STEADY) THEN
+ NSAVE=HYDR
ENDIF
STOP