TEXT(1D VIRTUAL MASS TEST CASES
TITLE
  The case considered is the acceleration of particles by a uniform
  flowing gas stream. The flow is steady, one dimensional and it is
  identical to case 100 except that the calculation includes the
  effects of virtual mass. The density ratio is taken as unity, the
  particle diameter as 500 microns, and the particle Reynolds number
  as 3,000. The calculation may be performed in the x-, y- or z-
  direction with phase 1 as carrier (gas) and phase 2 as dispersed
  (solid) or vice versa (CONPHS=2).
  ENDDIS
  The analytical solution is the same as for case 100 except that
  the virtual mass of the dispersed phase is included in the
  analysis. PHOENICS is validated by performing the calculation
  over a domain length computed analytically (5.4mm) for a given
  value of the outlet particle velocity. The predicted particle
  outlet velocity compares very well with the value (4m/s) selected
  for the analytical calculation of the domain length.
 
  CONPHS=1 selects 1st phase as the continuous (gas) phase
        =2 selects 2nd phase as the continuous (gas) phase
  BACK  =T selects flow in the -ve coordinate direction
 
  AUTOPLOT USE
    file
  phi 5
 
  d 1 u1;colf 1;redr
 
  ENDUSE
BOOLEAN(VMASS,BACK,VARDEN);VMASS=T;BACK=T
INTEGER(CONPHS);CONPHS=2;VARDEN=T
  * for 1dx calculation set: CH1=X;CH2=U1;CH3=U2
  * for 1dy calculation set: CH1=Y;CH2=V1;CH3=V2
  * for 1dz calculation set: CH1=Z;CH2=W1;CH3=W2
CHAR(CH1,CH2,CH3);CH1=X;CH2=U1;CH3=U2
   CH1=Y;CH2=V1;CH3=V2
   CH1=Z;CH2=W1;CH3=W2
REAL(XLEN,UGAS,UINP,UIN1,UIN2,R1IN,R2IN,REYP,DIAMP,DENRAT)
REAL(RHOG,RHOS);RHOG=1.0;DIAMP=5.E-4;REYP=3000;
UGAS=5.0;UINP=1.0;DENRAT=1.;RHOS=DENRAT*RHOG
IF(VMASS) THEN
+ CVM=0.5
ELSE
+ CVM=0.0
ENDIF
  ** select uoutp and compute xlen
REAL(UOUTP,CD,VREL,ETA,AONE,TERM1,TERM2,FLOW1,FLOW2)
UOUTP=4.0;VREL=UGAS-UINP;CD=0.44;AONE=3.*CD/(4.*DIAMP*(DENRAT+CVM))
TERM1=(UOUTP-UGAS)/(UINP-UGAS);TERM1=(UOUTP-UGAS)/(UINP-UGAS)
TERM2=UGAS*(UINP-UOUTP)/((UOUTP-UGAS)*(UINP-UGAS))
XLEN=(LOG(TERM1)-TERM2)/AONE
IF(CONPHS.EQ.1) THEN
+ UIN1=UGAS;UIN2=UINP;R2IN=1.E-5;R1IN=1-R2IN
ELSE
+ UIN1=UINP;UIN2=UGAS;R1IN=1.E-5;R2IN=1-R1IN
ENDIF
    GROUP 1. Run title and other preliminaries
    GROUP 2. Transience; time-step specification
    GROUP 3. X-direction grid specification
GRDPWR(:CH1:,-20,XLEN,1.4)
    GROUP 4. Y-direction grid specification
    GROUP 5. Z-direction grid specification
    GROUP 6. Body-fitted coordinates or grid distortion
    GROUP 7. Variables stored, solved & named
ONEPHS=F;SOLVE(P1,:CH2:,:CH3:,R1,R2)
    GROUP 8. Terms (in differential equations) & devices
    GROUP 9. Properties of the medium (or media)
    GROUP 10. Inter-phase-transfer processes and properties
IF(CONPHS.EQ.1) THEN
+ RHO1=RHOG;RHO2=RHOS;CFIPS=GRND7
ELSE
+ RHO2=RHOG;RHO1=RHOS;CFIPS=GRND8;CVM=-CVM
ENDIF
ENUL=VREL*DIAMP/REYP
  ** CFIPA = minimum slip velocity  CFIPB = particle size
CFIPD=2.0;CFIPA=0.01;CFIPB=DIAMP
    GROUP 11. Initialization of variable or porosity fields
IF(BACK) THEN
+ FIINIT(:CH2:)=-UIN1;FIINIT(:CH3:)=-UIN2
ELSE
+ FIINIT(:CH2:)=UIN1;FIINIT(:CH3:)=UIN2
ENDIF
FIINIT(R1)=R1IN;FIINIT(R2)=R2IN
    GROUP 12. Unused
    GROUP 13. Boundary conditions and special sources
FLOW1=RHO1*UIN1*R1IN;FLOW2=RHO2*UIN2*R2IN
IF(BACK) THEN
+ OUTLET(OUT,CELL,$1,$1,$1,$1,$1,$1,1,1)
+ INLET(IN,CELL,%1,%1,%1,%1,%1,%1,1,1)
+ VALUE(IN,P1,FLOW1);VALUE(IN,:CH2:,-UIN1)
+ VALUE(IN,P2,FLOW2);VALUE(IN,:CH3:,-UIN2)
IF(:CH1:.EQ.Z) THEN
+ PATCH(INW,CELL,1,1,1,1,NZ-1,NZ-1,1,1)
+ COVAL(INW,:CH2:,FLOW1,-UIN1);COVAL(INW,:CH3:,FLOW2,-UIN2)
ENDIF
ELSE
+ INLET(IN,CELL,$1,$1,$1,$1,$1,$1,1,1)
+ OUTLET(OUT,CELL,%1,%1,%1,%1,%1,%1,1,1)
+ VALUE(IN,P1,FLOW1);VALUE(IN,:CH2:,UIN1)
+ VALUE(IN,P2,FLOW2);VALUE(IN,:CH3:,UIN2)
ENDIF
  ** estimate particle outflow velocity, and then use value
     so as to allow for slip in exit cell outflow
IF(CONPHS.EQ.1) THEN
+ COVAL(OUT,P1,RHO1*1.E2,0);COVAL(OUT,P2,RHO2*1.E2*UOUTP/UIN1,0)
ELSE
+ COVAL(OUT,P1,RHO1*1.E2*UOUTP/UIN2,0);COVAL(OUT,P2,RHO2*1.E2,0)
ENDIF
    GROUP 15. Termination of sweeps
LSWEEP=60;SELREF=T;RESFAC=1.E-3
    GROUP 16. Termination of iterations
    GROUP 17. Under-relaxation devices
RELAX(R1,LINRLX,1.0);RELAX(R2,LINRLX,1.0)
REAL(DTF);DTF=XLEN/UGAS/N:CH1:
RELAX(:CH2:,FALSDT,DTF);RELAX(:CH3:,FALSDT,DTF)
    GROUP 18. Limits on variables or increments to them
VARMIN(R1)=1.E-7;VARMIN(R2)=1.E-7
    GROUP 19. Data communicated by satellite to GROUND
    GROUP 20. Preliminary print-out
    GROUP 21. Print-out of variables
TSTSWP=-1;NXPRIN=1;NYPRIN=1;NZPRIN=1
    GROUP 22. Spot-value print-out
IF(:CH1:.EQ.X) THEN
+ IXMON=NX/2;IZMON=1;IYMON=1;STORE(VMSU)
ENDIF
IF(:CH1:.EQ.Z) THEN
+ IZMON=NZ/2;IXMON=1;IYMON=1;STORE(VMSW)
ENDIF
IF(:CH1:.EQ.Y) THEN
+ IYMON=NY/2;IXMON=1;IZMON=1;STORE(VMSV)
ENDIF
    GROUP 23. Field print-out and plot control
IF(VARDEN) THEN
IF(CONPHS.EQ.1) THEN
+ STORE(TMP1);TMP1=CONST;RHO1A=RHO1;RHO1B=0.0;RHO1=LINTEMP
+ OUTPUT(TMP1,N,N,N,N,N,N)
ELSE
+ STORE(TMP2);TMP2=CONST;RHO2A=RHO2;RHO2B=0.0;RHO2=LINTEMP
+ OUTPUT(TMP2,N,N,N,N,N,N)
ENDIF
ENDIF
    GROUP 24. Dumps for restarts