PHOTON USE
  AUTOPLOT 
  file
  phi 5
 
  da 1
  au1
  screen
  msg gas velocity
  pl 1
  msg press  to continue
  pause
  cl
  da 1
  bu2
  screen
  msg liquid velocity
  pl 1
  msg press  to continue
  pause
  cl
  da 1
  liq
  screen
  msg liquid volume fraction
  pl 1
  msg press  to continue
  pause
  cl
  da 1
  shad
  screen
  msg 'shadow' volume fraction of denser phase
  pl 1
  msg press e to END
  enduse
 
    NUMERICAL BENCHMARK PROBLEM 1.2   MONOPROPELLANT ROCKET
    GROUP 1. Run title
TEXT(MONOPROPELLANT ROCKET :             W890
TITLE
  DISPLAY
  The problem considered is that of the injection of monopropellant
  droplets through small holes in one end of a rocket motor. These
  droplets burn (i.e undergo a phase change involving the dis-
  appearance of high-density liquid and its replacement by low-
  density gas), at a rate dependent upon the droplet diameter. As a
  consequence, a pressure gradient is set up which accelerates the
  gas and, to a lesser extent, the liquid. Friction between the
  droplets and the gas causes the former at first to deccelerate
  and later a accelerate.
 
  The main task is to compute the distance from the injector at
  which the propellant is fully consumed, as functions: of the
  injection velocity, of the propellant and combustion-product
  properties, and of a measure of the relative speed of momentum
  and heat transfer.
  ENDDIS
  The GX-subroutine GXDROP is used for this case.
 
      Locally-defined parameters:
 
      FLOW       mass flow rate at the inlet
      VELIN      inlet velocity
      XLEN       the length of the rocket motor
      CHATIM     relaxation factor
 
REAL(FLOW,VELIN,XLEN,CHATIM)
FLOW=1.E3;VELIN=50.0;XLEN=1.0
CHATIM=XLEN/VELIN
    GROUP 3. X-direction grid specification
GRDPWR(X,100,XLEN,1.0)
    GROUP 7. Variables stored, solved & named
  ** Solve for one pressure, two velocities, the volume
     fractions of the two phases and the "shadow" volume
     fraction of the second (denser) phase.
ONEPHS=F;SOLVE(P1,U1,U2,R1,R2,RS)
NAME(U1)=AU1;NAME(U2)=BU2;NAME(R1)=GAS;NAME(R2)=LIQ;NAME(RS)=SHAD
SOLUTN(GAS,Y,N,N,N,N,N)
  ** Provide storage for inter-phase mass transfer.
STORE(MDOT,CFIP)
    GROUP 8. Terms (in differential equations) & devices
  ** Cut off built-in sources and diffusion terms
TERMS(GAS,Y,Y,N,Y,Y,Y);TERMS(LIQ,Y,Y,N,Y,N,Y)
TERMS(SHAD,Y,Y,N,Y,N,Y);TERMS(AU1,Y,Y,N,Y,Y,Y)
TERMS(BU2,Y,Y,N,Y,N,Y)
 
    GROUP 9. Properties of the medium (or media)
RHO1=1.E1;RHO2=1.E4;PRESS0=1.E7
    GROUP 10. Inter-phase-transfer processes and properties
  ** Set constant inter-phase friction factor and activate
     the calculation of the inter-phase mass transfer by
CFIPS=GRND1;CFIPC=1.0E5;CMDOT=1.0
    GROUP 11. Initialization of variable or porosity fields
FIINIT(GAS)=0.999;FIINIT(LIQ)=0.001;FIINIT(SHAD)=0.001
FIINIT(AU1)=VELIN;FIINIT(BU2)=VELIN;FIINIT(MDOT)=0.01*FLOW
    GROUP 13. Boundary conditions and special sources
  ** Inlet at west end
INLET(INLET,WEST,1,1,1,1,1,1,1,1)
VALUE(INLET,P2,FLOW);VALUE(INLET,BU2,VELIN)
  ** Outlet at east end
PATCH(OUTLET,CELL,NX,NX,1,1,1,1,1,1)
COVAL(OUTLET,P1,FIXP,0.0);COVAL(OUTLET,P2,FIXP*RHO2/RHO1,0.0)
COVAL(OUTLET,AU1,ONLYMS,0.0);COVAL(OUTLET,BU2,ONLYMS,0.0)
    GROUP 15. Termination of sweeps
LSWEEP=200
    GROUP 16. Termination of iterations
RESREF(P1)=1.E-8*FLOW/RHO1
RESREF(GAS)=RESREF(P1)*RHO1;RESREF(LIQ)=RESREF(P1)*RHO1
RESREF(SHAD)=RESREF(P1)*RHO2*0.1
RESREF(AU1)=RESREF(GAS)*VELIN*1.E-3
RESREF(BU2)=RESREF(LIQ)*VELIN*1.E-3
    GROUP 17. Under-relaxation devices
RELAX(SHAD,LINRLX,0.6);RELAX(LIQ,LINRLX,0.6)
RELAX(AU1,FALSDT,CHATIM);RELAX(BU2,FALSDT,CHATIM)
    GROUP 19. Data communicated by SATELLITE to GROUND
   ** PRTSIZ=T activates GXDROP
PRTSIZ=T
    GROUP 21. Print-out of variables
OUTPUT(GAS,N,N,N,N,N,N);OUTPUT(MDOT,Y,Y,Y,Y,Y,Y)
    GROUP 22. Spot-value print-out
TSTSWP=-1;IXMON=NX/2;NXPRIN=NX/20;UWATCH=T
    GROUP 23. Field print-out and plot control
NPLT=1;ORSIZ=0.4;ITABL=1
PATCH(XPROFILE,PROFIL,1,NX,1,1,1,1,1,1)
PLOT(XPROFILE,SHAD,0.0,0.0);PLOT(XPROFILE,LIQ,0.0,0.0)
PLOT(XPROFILE,AU1,-1.0,-1.0);PLOT(XPROFILE,BU2,-1.0,-1.0)
PATCH(XPROFIL2,PROFIL,1,NX,1,1,1,1,1,1)
PLOT(XPROFIL2,CFIP,0.0,0.0)
PLOT(XPROFIL2,MDOT,0.0,0.0)
    GROUP 24. Dumps for restarts