TEXT(YX DIAGONAL SCALAR CONVECTION :N101
TITLE
DISPLAY
Numerical Schemes validation example:
2-d x-y, Cartesian, steady, elliptic simulation
This problem concerns the pure convection of a step profile of
a scalar by a unidirectional and uniform flow field, which forms
an angle 45 degrees with the horizontal axis. Since physical
diffusion is absent, no mixing layer should form and the scalar
discontinuity should persist in the streamwise direction. The
example compares the solution for 6 different linear schemes and
9 non-linear schemes for the discretisation of convection.
--> / / / / / y ^
inflow of --> / / / / / flow at 45 deg |
'fluid 1' --> / / / / / +----->
--> / / / / / x
^ ^ ^ ^
| | | | inflow of
'fluid 2'
ENDDIS
PHOTON USE
P;;;
msg the grid and the velocity vectors
vec z 1;gr z 1;pause;gr off;vec off;red
cl;con USOL z 1 fi;.1
msg usol: Upwind Differencing Scheme, the PHOENICS default
pause; cl
msg poorly performing schemes (omitted for case n122)
pause;cl;con qSOL z 1 fi;.1
msg qsol: QUICK Scheme
pause;cl;con vSOL z 1 fi;.1
msg vsol: Van Aldbda Scheme
pause; cl; con 3SOL z 1 fi;.1
msg 3sol: Cubic Upwind Scheme
pause;cl;con oSOL z 1 fi;.1
msg osol: Ospre Scheme
pause ;cl;con fSOL z 1 fi;.1
msg fsol: Fromm Scheme
pause;cl;con lSOL z 1 fi;.1
msg lsol: Linear upwind Scheme
pause; cl;con CSOL z 1 fi;.1
msg csol: Cds Scheme
pause; cl
msg better-performing schemes
pause ; cl;con SSOL z 1 fi;.1
msg ssol: Smart Scheme
pause; cl;con bSOL z 1 fi;.1
msg bsol: Superbee Scheme
pause;cl;con hSOL z 1 fi;.1
msg hsol: Hquick Scheme
pause;cl;con iSOL z 1 fi;.1
msg isol: UMIST Scheme
pause;cl;con kSOL z 1 fi;.1
msg ksol: Koren Scheme
pause;cl;con mSOL z 1 fi;.1
msg msol: Minmod Scheme
pause;cl;con nSOL z 1 fi;.1
msg nsol: Van Leer 1 Scheme
pause;cl;con zSOL z 1 fi;.1
msg zsol: Van Leer 2 Scheme
ENDUSE
User-defined variables:
FLOLX = flow rate of liquid in X direction (volume/time.area)
FLOLY = flow rate of liquid in Y direction (volume/time.area)
VALINX= value of PHI at x-axis
VALINY= value of PHI at y-axis
REAL(FLOLX,FLOLY,PECLNO);REAL(VALINX,VALINY,DTF)
FLOLX=1.0; FLOLY=1.0; VALINY=1.0; VALINX=0.0
GROUP 3,4 & 5
NX=20; NY=20
l(unigrid
GROUP 7. Variables stored, solved & named
** linear schemes assigned to scalars
USOL = Upwind CSOL = cds QSOL = quick
LSOL = linear upwind 3SOL = cubic upwind FSOL = fromm's scheme
** non-linear schemes assigned to scalars
SSOL = SMART KSOL = KOREN MSOL = MINMOD
VSOL = VAN ALDBDA BSOL = SUPERBEE HSOL = HQUICK
NSOL = VAN LEER 1 (NOLL) ZSOL = VAN LEER 2 (ZHU)
OSOL = OSPRE ISOL = UMIST
SOLVE(3SOL,BSOL,CSOL,FSOL,HSOL,ISOL,KSOL,LSOL,MSOL,NSOL,OSOL,QSOL)
SOLVE(SSOL,USOL,VSOL,ZSOL)
STORE(P1,U1,V1) ! P1 needed so Editor thinks Pressue/velocity is ON
GROUP 8. Terms (in differential equations) & devices
INTEGER(NPH1)
NPH1=NPHI-15
DO II= NPH1,NPHI
TERMS(:II:,P,P,N,P,P,P)
ENDDO
** Select numerical schemes for convection
SCHEME(QUICK,QSOL) ;SCHEME(CDS,CSOL); SCHEME(LUS,LSOL)
SCHEME(CUS,3SOL) ;SCHEME(FROMM,FSOL); SCHEME(SMART,SSOL)
SCHEME(KOREN,KSOL) ;SCHEME(MINMOD,MSOL);SCHEME(VANALB,VSOL)
SCHEME(SUPBEE,BSOL);SCHEME(HQUICK,HSOL);SCHEME(VANL1,NSOL)
SCHEME(VANL2,ZSOL); SCHEME(OSPRE,OSOL); SCHEME(UMIST,ISOL)
GROUP 11. Initialization of variable or porosity fields
FIINIT(U1)=FLOLX ; FIINIT(V1)=FLOLY
GROUP 13. Boundary conditions and special sources
Patches for entry of liquid
PATCH(INL1,WEST ,1,1,1,NY,1,NZ,1,LSTEP)
PATCH(INL2,SOUTH,1,NX,1,1,1,NZ,1,LSTEP)
DO II=NPH1,NPHI
COVAL(INL1,:II:,FLOLX,VALINY);COVAL(INL2,:II:,FLOLY,VALINX)
ENDDO
GROUP 15. Termination of sweeps
LSWEEP=100
GROUP 17. Under-relaxation devices
DTF=0.1*XULAST/FLOLX
RELAX(SSOL,FALSDT,DTF);RELAX(KSOL,FALSDT,DTF)
GROUP 20. Preliminary print-out
GROUP 21. Print-out of variables
OUTPUT(U1,N,N,N,N,N,N);OUTPUT(V1,N,N,N,N,N,N)
GROUP 22. Spot-value print-out
IXMON=NX/2;IYMON=NY/2;IZMON=1;NPLT=10;TSTSWP=-1
GROUP 24. Dumps for restarts
SPEDAT(LONGNAME,USOL,C,Upwind)
SPEDAT(LONGNAME,CSOL,C,Cds)
SPEDAT(LONGNAME,QSOL,C,Quick)
SPEDAT(LONGNAME,LSOL,C,Linear_upwind)
SPEDAT(LONGNAME,3SOL,C,Cubic_upwind)
SPEDAT(LONGNAME,FSOL,C,Fromm's_scheme)
SPEDAT(LONGNAME,SSOL,C,Smart)
SPEDAT(LONGNAME,KSOL,C,Koren)
SPEDAT(LONGNAME,MSOL,C,Minmod)
SPEDAT(LONGNAME,VSOL,C,Van_Aldbda)
SPEDAT(LONGNAME,BSOL,C,Superbee)
SPEDAT(LONGNAME,HSOL,C,Hquick)
SPEDAT(LONGNAME,NSOL,C,Van_Leer_1_(Noll))
SPEDAT(LONGNAME,ZSOL,C,Van_Leer_2_(Zhu))
SPEDAT(LONGNAME,OSOL,C,Ospre)
SPEDAT(LONGNAME,ISOL,C,UMIST)