Tutorial Cases

Case Description

This validation case simulates the inviscid transonic gas flow through a Convergent-Divergent (CD) nozzle (JPL nozzle). The axisymmetric simulation aims to validate the solver's capability to simulate supersonic flows and capture shock waves in the flow field. The nozzle geometry is taken from Back et. al, and the inlet and throat curvature points is generated in MATLAB. These data points are then provided to modify the boundaries of domain block in the blockMeshDict. The MATLAB code is available with the case files. The CD nozzle mesh along with the boundaries marked are shown in the figure and the boundary conditions are presented in the table. Initially pressure and temperature is 1.0 bar and 300 K and is set to be uniform throughout the domain. The specific heat capacity of the gas is 1.07 J/kg.K and the ideal gas equation of state is employed. The molecular weight of the gas is 28.786 kg/kmol.

CD Nozzle Schematic

JPL Nozzle Mesh with Boundaries

Boundary Conditions

VariablesInletOutletWallWedge faces
$P$Total Pressure (10.34 bar) zeroGradientzeroGradientcyclic
$\boldsymbol{u}_g$PressureDirectedInletVelocity (inlet direction: +z axis)zeroGradientSlipcyclic
$T_g$Total Temperature (555 K)zeroGradientzeroGradientcyclic

Numerical Schemes

Initially, the simulation is conducted till steady state (t = 0.01 s) with first order upwind scheme for all the convective terms. To improve the accuracy the the convective schemes are updated to vanLeer scheme for all the convective terms. The generalized Crank Nicolson scheme is used for time integration for second order accuracy and stability.

Instructions to Run the Simulation

1. Environment Setup

Before beginning, ensure you source the native OpenFOAM-v2112 bashrc file and the RocPerf bashrc file.

2. Prepare the Case

The case file is available in the directory tutorials/JPL-Nozzle. Copy the case file to your working directory. To mesh the geometry, run:

blockMesh
3. Run the Simulation

You can run the simulation in either serial or parallel mode:

Option A: Serial Run

rocketMotor

Option B: Parallel Run

First, perform mesh decomposition, then run with MPI (default is 8 processors):

decomposePar
mpirun -np 8 rocketMotor -parallel

Note: The number of processors can be adjusted in the decomposeParDict file.

đź’ˇ Tip for Higher Accuracy:
To obtain accurate simulation results (as shown in the plots below), simply double the mesh size in the blockMeshDict file before running the mesh generation.

Results

The predicted centreline Mach number and the wall Mach number is plotted with experimental data and the computational data from F. Moukalled et al.

Centerline Mach number
Variation of Centerline Mach number along the length
Wall Mach number
Variation of Wall Mach number along the length

References

  • Moukalled, F., Darwish, M., and Sekar, B., “A Pressure-Based Algorithm for Multi-Phase Flow at All Speeds,” Journal of Computational Physics, Vol. 190, No. 2, 2003, pp. 550–571. doi: 10.1016/S0021-9991(03)00297-3.
  • Back, L., and Cuffel, R., “Detection of Oblique Shocks in a Conical Nozzle with a Circular-Arc Throat,” AIAA Journal, Vol. 4, No. 12, 1966, pp. 2219–2221. doi: 10.2514/3.3881.
  • Chang, H. T., Hourng, L. W., Chien, L. C., and Chien, L. C., “Application of Flux-Vector-Splitting Scheme to a Dilute Gas-Particle JPL Nozzle Flow,” International Journal for Numerical Methods in Fluids, Vol. 22, No. 10, 1996, pp. 921–935. doi: 10.1002/(SICI)1097-0363(19960530)22.

Case Description

This validation case simulates the inviscid transonic dusty gas flow in a Convergent-Divergent (CD) nozzle (JPL nozzle). The axisymmetric simulation aims to validate the solver's capability to model gas-particle interactions. The nozzle geometry and mesh is same as the previous case. The particle phase is introduced at the inlet. The boundary conditions for the gas and particle phase flow variables are presented in the table. Initial condition is taken to be steady state solution of gas phase from the previous tutorial. The particle phase volume fraction is initially zero. The gas phase properties remains same as the previous case. The particle phase density is 4004.62 kg/m^3 and the specific heat capacity of the particle phase is 1.38 kJ/kg.K . The diameter of the particle is 20 $\mu$m. The velocity and temperature slip at the inlet is assumed to be zero in this case. The coefficient of drag and Nusselt number correlation used for this validation simulation are given by, $$ C_D = \frac{24}{Re_p}\left(1 + 0.15Re_p^{0.687} + \frac{0.0175Re_p}{1 + 4.25\times 10^4Re_p^{-1.16}}\right) $$ $$ Nu = 2 + 0.459Re_p^{0.55}Pr^{0.33} $$

CD Nozzle Schematic

JPL Nozzle Mesh with Boundaries

Boundary Conditions

VariablesInletOutletWallWedge faces
$P$Total Pressure (10.34 bar) zeroGradientzeroGradientcyclic
$\boldsymbol{u}_g$PressureDirectedInletVelocity (inlet direction: +z axis)zeroGradientSlipcyclic
$\boldsymbol{u}_p$sameAs - gas phase ($\boldsymbol{u}_g = \boldsymbol{u}_p$)outletInlet (no reverse flow)Slipcyclic
$T_g$Total Temperature (555 K)zeroGradientzeroGradientcyclic
$T_p$sameAs - gas phase ($T_p = T_g$)zeroGradientzeroGradientcyclic
$\alpha_g$zeroGradientzeroGradientzeroGradientcyclic
$\alpha_p$massLoadingFraction ($X_p = 0.3$)zeroGradientzeroGradientcyclic

Numerical Schemes

The convective terms are discretized using second order shock capturing vanLeer scheme. The generalized Crank Nicolson scheme is used for time integration for second order accuracy and stability.

Instructions to Run the Simulation

1. Environment Setup

Before beginning, ensure you source the native OpenFOAM-v2112 bashrc file and the RocPerf bashrc file.

2. Prepare the Case

The case file is available in the directory tutorials/JPL-TwoPhase-Nozzle. Copy the case file to your working directory. To mesh the geometry, run:

blockMesh
3. Run the Simulation

You can run the simulation in either serial or parallel mode:

Option A: Serial Run

rocketMotor

Option B: Parallel Run

First, perform mesh decomposition, then run with MPI (default is 8 processors):

decomposePar
mpirun -np 8 rocketMotor -parallel

Note: The number of processors can be adjusted in the decomposeParDict file.

4. Post-process results

The specific impulse and characteristic velocity can be computed from the thrust and mass flow rate at the outlet patch. To obtain mass flow rate of gas and particle phase and the thrust for each time step, run:

postProcessRocket

This will generate a csv file containing mass flow rates and thrust for each time step, which can be further used to calculate specific impulse and $C^*$ as, $$ C^* = \frac{P_cA_t}{\dot{m}_{gas} + \dot{m}_{particles}} \hspace{20pt} I_{\text{sp}} = \frac{F}{(\dot{m}_{gas} + \dot{m}_{particles})g_0} $$

đź’ˇ Tip for Higher Accuracy:
To obtain accurate simulation results (as shown in the plots below), simply double the mesh size in the blockMeshDict file before running the mesh generation.

Results

The predicted centreline Mach number and the wall Mach number is plotted with experimental data and the computational data from F. Moukalled et al. A similar analysis can be repeated for 2 $\mu$m particle size. The particle size can be changed from the phaseProperties file in the constant folder.

Centerline Mach number
Variation of Centerline Mach number along the length
Wall Mach number
Variation of Wall Mach number along the length

The thrust and specific impulse of the JPL nozzle computed from the simulations are presented in this table.

Simulation Gas-phase Thrust $(\text{N})$ Total Thrust $(\text{N})$ Mass flow rate $(\text{kg/s})$ $I_{\text{sp}} (\text{s})$
Computed Chang et. al., 1996
Pure gas phase2097211420972.19197.6
Gas-particle $(2.0 \mu\text{m})$1630163621982.63585.35
Gas-particle $(20.0 \mu\text{m})$1870194822302.95676.9

References

  • Moukalled, F., Darwish, M., and Sekar, B., “A Pressure-Based Algorithm for Multi-Phase Flow at All Speeds,” Journal of Computational Physics, Vol. 190, No. 2, 2003, pp. 550–571. doi: 10.1016/S0021-9991(03)00297-3.
  • Back, L., and Cuffel, R., “Detection of Oblique Shocks in a Conical Nozzle with a Circular-Arc Throat,” AIAA Journal, Vol. 4, No. 12, 1966, pp. 2219–2221. doi: 10.2514/3.3881.
  • Chang, H. T., Hourng, L. W., Chien, L. C., and Chien, L. C., “Application of Flux-Vector-Splitting Scheme to a Dilute Gas-Particle JPL Nozzle Flow,” International Journal for Numerical Methods in Fluids, Vol. 22, No. 10, 1996, pp. 921–935. doi: 10.1002/(SICI)1097-0363(19960530)22.

Case Description

This simulation case investigates the internal ballistics and multi-phase flow dynamics within a lab-scale rocket motor utilizing frozen nano-aluminum water (ALICE) propellant. Rather than modeling the transient process of propellant grain regression, this simulation focuses on a statistically steady-state 'snapshot' during the firing duration. By treating the grain geometry as fixed and the burning surface as a mass injection boundary, the simulation provides high-fidelity insights into the internal flow dynamics. The 2D axisymmetric mesh and the boundary conditions for the lab-scale rocket motor are shown in Figure 3.1.

SRM Geometry Schematic

Fig 3.1: 2D Axisymmetric Mesh and Boundary Conditions of the Lab-Scale Rocket Motor.

For the steady-state simulation, the gas phase mass flow rate at the propellant grain interface is set to $0.1 \text{ g/s}$ with an associated particle mass fraction of $0.7194$. The adibatic flame temperature of the ALICE propellant, at an equivalence ratio of $0.943$ and a assumed combustion efficiency of $70 \%$,is $2270 \text{ K}$. The gas and particle phases are assumed to enter the simulation domain at the same velocity and at a temperature of $2270 \text{ K}$. The particle diameter is taken as $80 \text{ nm}$. For further details regarding the propellant, rocket motor firing experiments, and computational methodology, readers may refer to Risha et. al., (2014) and Venukumar et. al., (2025). For simplicity, thermophysical properties for both phases are assumed constant. The gas phase is defined by a specific heat of $10000 \text{ J/kg}\cdot\text{K}$, a molecular weight of $2.9 \text{ g/mol}$, a dynamic viscosity of $1e^{-4} \text{ Ns/m}^2$, and a Prandtl number of $0.7$. The particle phase density is $3950 \text{ kg/m}^3$ and the specific heat is $1800 \text{ kJ/kg}\cdot\text{K}$. Interphase momentum exchange is governed by the Loth drag model to account for compressibility and rarefaction effects, while gas-particle thermal exchange is modeled via the Ranz-Marshall correlation, modified by Kavanau’s correction factor to incorporate rarefaction effects.

Boundary Conditions

VariablesInlet/Propellant surfaceOutletWallWedge faces
$P$fixedFluxPressure zeroGradientfixedFluxPressurecyclic
$\boldsymbol{u}_g$gasFlowRateInletVelocity ($0.1 \text{ g/s}$)zeroGradientnoSlipcyclic
$\boldsymbol{u}_p$sameAs - gas phase ($\boldsymbol{u}_g = \boldsymbol{u}_p$)outletInlet (no reverse flow)noSlipcyclic
$T_g$ $2270 \text{ K}$zeroGradientzeroGradientcyclic
$T_p$sameAs - gas phase ($T_p = T_g$)zeroGradientzeroGradientcyclic
$\alpha_g$zeroGradientzeroGradientzeroGradientcyclic
$\alpha_p$massLoadingFraction ($X_p = 0.7194$)zeroGradientzeroGradientcyclic

Numerical Schemes

The convective terms are discretized using second order NVD scheme - limitedLinear 1.0. The generalized Crank Nicolson scheme is used for time integration for second order accuracy and stability.

Instructions to Run the Simulation

1. Environment Setup

Before beginning, ensure you source the native OpenFOAM-v2112 bashrc file and the RocPerf bashrc file.

2. Prepare the Case

The case file is available in the directory tutorials/Steady-ALICE-motor. Copy the case file to your working directory. To mesh the geometry, run:

blockMesh
3. Run the Simulation

You can run the simulation in either serial or parallel mode:

Option A: Serial Run

rocketMotor

Option B: Parallel Run

First, perform mesh decomposition, then run with MPI (default is 8 processors):

decomposePar
mpirun -np 8 rocketMotor -parallel

Note: The number of processors can be adjusted in the decomposeParDict file.

4. Post-process results

The specific impulse and characteristic velocity can be computed from the thrust and mass flow rate at the outlet patch. To obtain mass flow rate of gas and particle phase and the thrust for each time step, run:

postProcessRocket

This will generate a csv file containing mass flow rates and thrust for each time step, which can be further used to calculate specific impulse and $C^*$ as, $$ C^* = \frac{P_cA_t}{\dot{m}_{gas} + \dot{m}_{particles}} \hspace{20pt} I_{\text{sp}} = \frac{F}{(\dot{m}_{gas} + \dot{m}_{particles})g_0} $$

đź’ˇ Tip for Higher Resolution:
To obtain higher resolution of flow dynamics, increase the mesh size in the blockMeshDict file before running the mesh generation.

References

  • Risha, G. A., Connell Jr, T. L., Yetter, R. A., Sundaram, D. S., and Yang, V., “Combustion of Frozen Nanoaluminum and Water Mixtures,” Journal of Propulsion and Power, Vol. 30, No. 1, 2014, pp. 133–142. doi: 10.2514/1.B34783.
  • Venukumar, G., and Sundaram, D. S., “Computational Study of Propulsive Performance of Frozen Nano-Aluminum and Water (ALICE) Mixtures,” Journal of Propulsion and Power, Vol. 41, No. 3, 2025, pp. 330–346. doi: 10.2514/1.B39541.

Case Description

This simulation case investigates the internal ballistics and multi-phase flow dynamics within a lab-scale rocket motor utilizing frozen nano-aluminum water (ALICE) propellant. The motor and grain dimensions are derived from experimental data. A center-perforated propellant grain is considered, and the entire firing duration of the rocket motor—including propellant surface regression—is simulated. The 2D axisymmetric mesh and the boundary conditions for the lab-scale rocket motor are shown in Figure 4.1.

SRM Geometry Schematic

Fig 4.1: 2D Axisymmetric Mesh and Boundary Conditions of the Lab-Scale ALICE Rocket Motor.

The propellant surface regression is tracked using an interfaceTrackingModel of type, entrainedInterfaceMotion. This requires the propellant burning rate to be expressed according to St. Robert’s Law; the burning rate pre-exponential factor and pressure exponent serve as inputs for this model. For the ALICE propellant with an equivalence ratio of $0.943$, the burning rate is expressed as (Connell Jr et. al., 2012): $$ r_b [\text{cm/s}] = 0.991\left(P[\text{MPa}]\right)^{0.405} $$ The multiphase system chosen for this case is entrainedPropellantCombustionMultiphaseSystem. This sophisticated multiphase system was created specifically for ALICE rocket motors to study the effects of combustion efficiency and particle retainment, which are major non-idealities affecting motor performance. For more information, readers are referred to Risha et. al., (2014) and Venukumar et. al., (2025). The adiabatic flame temperature of the ALICE propellant with an equivalence ratio of $0.943$ is $2740 \text{ K}$. Both the gas and particle phases are assumed to enter the simulation domain at the same velocity and at a temperature of $2740 \text{ K}$. The particle diameter is set to $80 \text{ nm}$. For simplicity, thermophysical properties for both phases are assumed constant. The gas phase is defined by a specific heat of $10000 \text{ J/kg}\cdot\text{K}$, a molecular weight of $2.9 \text{ g/mol}$, a dynamic viscosity of $1e^{-4} \text{ Ns/m}^2$, and a Prandtl number of $0.7$. The particle phase density is $3950 \text{ kg/m}^3$ and the specific heat is $1800 \text{ kJ/kg}\cdot\text{K}$. Interphase momentum exchange is governed by the Loth drag model to account for compressibility and rarefaction effects, while gas-particle thermal exchange is modeled via the Ranz-Marshall correlation, modified by Kavanau’s correction factor to incorporate rarefaction effects.

Boundary Conditions

VariablesOutletWallWedge faces
$P$zeroGradientfixedFluxPressurecyclic
$\boldsymbol{u}_g$zeroGradientnoSlipcyclic
$\boldsymbol{u}_p$outletInlet (no reverse flow)noSlipcyclic
$T_g$zeroGradientzeroGradientcyclic
$T_p$zeroGradientzeroGradientcyclic
$\alpha_g$zeroGradientzeroGradientcyclic
$\alpha_p$zeroGradientzeroGradientcyclic

Numerical Schemes

The convective terms are discretized using second order NVD scheme - limitedLinear 1.0. The generalized Crank Nicolson scheme is used for time integration for second order accuracy and stability.

Instructions to Run the Simulation

1. Environment Setup

Before beginning, ensure you source the native OpenFOAM-v2112 bashrc file and the RocPerf bashrc file.

2. Prepare the Case

The case file is available in the directory tutorials/Steady-ALICE-motor. Copy the case file to your working directory. To mesh the geometry, run:

blockMesh

To set the initial propellant phase volume fraction field (center-perforated grain), run:

setRocketInitField
3. Run the Simulation

You can run the simulation in either serial or parallel mode:

Option A: Serial Run

rocketMotor

Option B: Parallel Run

First, perform mesh decomposition, then run with MPI (default is 8 processors):

decomposePar
mpirun -np 8 rocketMotor -parallel

Note: The number of processors can be adjusted in the decomposeParDict file.

4. Post-process results

The specific impulse and characteristic velocity can be computed from the thrust and mass flow rate at the outlet patch. To obtain mass flow rate of gas and particle phase and the thrust for each time step, run:

postProcessRocket

This will generate a csv file containing mass flow rates and thrust for each time step, which can be further used to calculate specific impulse and $C^*$ as, $$ C^* = \frac{P_cA_t}{\dot{m}_{gas} + \dot{m}_{particles}} \hspace{20pt} I_{\text{sp}} = \frac{F}{(\dot{m}_{gas} + \dot{m}_{particles})g_0} $$

đź’ˇ Tip for Higher Resolution:
To obtain higher resolution of flow dynamics, increase the mesh size in the blockMeshDict file before running the mesh generation.

References

  • Risha, G. A., Connell Jr, T. L., Yetter, R. A., Sundaram, D. S., and Yang, V., “Combustion of Frozen Nanoaluminum and Water Mixtures,” Journal of Propulsion and Power, Vol. 30, No. 1, 2014, pp. 133–142. doi: 10.2514/1.B34783.
  • Venukumar, G., and Sundaram, D. S., “Computational Study of Propulsive Performance of Frozen Nano-Aluminum and Water (ALICE) Mixtures,” Journal of Propulsion and Power, Vol. 41, No. 3, 2025, pp. 330–346. doi: 10.2514/1.B39541.
  • Connell Jr, T. L., Risha, G., Yetter, R. A., Yang, V., and Son, S. F., “Combustion of Bimodal Aluminum Particles and Ice Mixtures,” International Journal of Energetic Materials and Chemical Propulsion, Vol. 11, No. 3, 2012. doi: 10.1615/IntJEnergeticMaterialsChemProp.2013003588.

Case Description

This simulation models the gas-phase flow in the Naval Air Warfare Center (NAWC) tactical motor No. 13, incorporating propellant regression. The 2D axisymmetric domain and its corresponding dimensions are illustrated in Figure 5.1.

SRM Geometry Schematic

Fig 5.1: 2D Axisymmetric Domain and Boundary Conditions of the NAWC motor no. 13. (Willcox et. al., 2007)

The propellant utilized is NWR11b, composed of $83 \%$ Ammonium perchlorate, $11.9 \%$ Hydroxyl-terminated polybutadiene (HTPB), $5 \%$ oxamide, and $0.1 \%$ carbon black. The regression of the propellant surface is tracked using an interfaceTrackingModel of type subCellularInterfaceMotion. This model requires the propellant burning rate to be defined according to St. Robert’s Law, using the pre-exponential factor and pressure exponent as primary inputs. For NWR11b propellant, the burning rate is $0.541 \text{ cm/s}$ at a chamber pressure of $6.9 \text{ MPa}$, with a pressure exponent of $0.461$ (Willcox et al., 2007). Consequently, the burning rate is expressed as: $$ r_b [\text{cm/s}] = 0.222\left(P[\text{MPa}]\right)^{0.461} $$ The multiphase system selected for this study is a simplified model named regressionMultiphaseSystem. This system requires only two parameters: the mass fraction of the particle phase in the combustion products and the adiabatic flame temperature of the propellant. In this specific case, as the propellant is non-aluminized, the particle phase mass fraction is zero ($X_p = 0$). Based on chemical equilibrium analysis, the adiabatic flame temperature was determined to be approximately $2850 \text{ K}$. Furthermore, the molecular weight of the gas-phase combustion products is $25.4 \text{ g/mol}$, the specific heat constant is $1855 \text{ J/kgK}$. The dynamic viscosity is assumed to be $1e^{-5} \text{ Ns/m}^2$, and the Prandtl number is $0.7$.

Boundary Conditions

VariablesOutletWallWedge faces
$P$zeroGradientfixedFluxPressurecyclic
$\boldsymbol{u}_g$zeroGradientnoSlipcyclic
$T_g$zeroGradientzeroGradientcyclic
$\alpha_g$zeroGradientzeroGradientcyclic

Numerical Schemes

The convective terms are discretized using second order NVD scheme - limitedLinear 1.0. The generalized Crank Nicolson scheme is used for time integration for second order accuracy and stability.

Instructions to Run the Simulation

1. Environment Setup

Before beginning, ensure you source the native OpenFOAM-v2112 bashrc file and the RocPerf bashrc file.

2. Prepare the Case

The case file is available in the directory tutorials/Steady-ALICE-motor. Copy the case file to your working directory. To mesh the geometry, run:

blockMesh

To set the initial propellant phase volume fraction field (center-perforated grain), run:

setRocketInitField
3. Run the Simulation

You can run the simulation in either serial or parallel mode:

Option A: Serial Run

rocketMotor

Option B: Parallel Run

First, perform mesh decomposition, then run with MPI (default is 8 processors):

decomposePar
mpirun -np 8 rocketMotor -parallel

Note: The number of processors can be adjusted in the decomposeParDict file.

4. Post-process results

The specific impulse and characteristic velocity can be computed from the thrust and mass flow rate at the outlet patch. To obtain mass flow rate of gas and particle phase and the thrust for each time step, run:

postProcessRocket

This will generate a csv file containing mass flow rates and thrust for each time step, which can be further used to calculate specific impulse and $C^*$ as, $$ C^* = \frac{P_cA_t}{\dot{m}_{gas} + \dot{m}_{particles}} \hspace{20pt} I_{\text{sp}} = \frac{F}{(\dot{m}_{gas} + \dot{m}_{particles})g_0} $$

đź’ˇ Tip for Higher Resolution:
To obtain higher resolution of flow dynamics, increase the mesh size in the blockMeshDict file before running the mesh generation.

References

  • Willcox, M.A., Brewster, M.Q., Tang, K.C., Stewart, D.S. and Kuznetsov, I., “Solid rocket motor internal ballistics simulation using three-dimensional grain burnback,” Journal of Propulsion and Power, Vol. 23, No. 3, 2007, pp. 575-584. doi: 10.2514/1.22971.