blastFoam is a solver for multi-component compressible flow with application to high-explosive detonation, explosive safety and airblast. blastFoam is developed by Synthetik Applied Technologies.
This offering is not approved or endorsed by OpenCFD Limited, producer and distributor of the OpenFOAM software via www.openfoam.com, and owner of the OPENFOAM$\textregistered$ and OpenCFD$\textregistered$ trade marks.
blastFoam is a solver for multi-component compressible flow with application to high-explosive detonation, explosive safety and airblast. The blastFoam solver uses OpenFOAM technology, and is in no way approved or endorsed by OpenCFD Limited, producer and distributor of the OpenFOAM software via www.openfoam.com, and owner of the OPENFOAM$\textregistered$ and OpenCFD$\textregistered$ trade marks (see Disclaimer above).
Several validation and tutorial cases are included in the repository, and are documented in the blastFoam User Guide.
-
Install OpenFOAM from source or via binary/package installation from here (blastFoam works with OF version 7).
-
Clone the blastFoam repository
git clone https://github.com/synthetik-technologies/blastfoam.git
- Run the ./Allwmake script to compile and install blastFoam
cd blastfoam
./Allwmake
- Test your installation by running the tutorial and validation cases
If you find any bugs, please let us know in the issues section of the repository. If you want to get in touch: [email protected]
blastFoam is also available on the Texas Advanced Computing Center https://www.tacc.utexas.edu (TACC)
If you use this code for your work or research, please use this citation:
blastFoam: An OpenFOAM Solver for Compressible Multi-Fluid Flow with Application to High-Explosive Detonation. Synthetik Applied Technologies, LLC., 2019.
BiBTex:
@software{blastfoam,
title = {{blastFoam}: A Solver for Compressible Multi-Fluid Flow with Application to High-Explosive Detonation},
url = {https://github.com/synthetik-technologies/blastfoam},
publisher = {Synthetik Applied Technologies, {LLC}.},
date = {2019-10-22}
}
To cite the blastFoam User Guide.:
J. Heylmun, P. Vonk, and T. Brewer, “blastFoam User Guide.” Synthetik Applied Technologies, LLC., 30-Oct-2019.
BiBTex:
@misc{heylmun_blastfoamguide_2019,
title = {{blastFoam version 2.0} {User} {Guide} },
url = {https://github.com/synthetik-technologies/blastfoam},
language = {English},
publisher = {Synthetik Applied Technologies, LLC.},
author = {Heylmun, Jeffrey and Vonk, Peter and Brewer, Timothy},
month = oct,
year = {2019}
}
- T. Brewer, J. Heylmun, and P. Vonk, “Employment of the Open-source Airblast Solver blastFoam to Support the Super Heavy Improvised Explosive Loading Demonstration (SHIELD) Test Program,” presented at the ISIEMS, USA, 2019.
- D. Stephens, P. Vonk, and T. Brewer, “Validation of Open-source Airblast Solver (blastFoam) in an Urban Environment,” presented at the MABS 25, Hague, Netherlands, 2018.
- P. Vonk, “A New OpenFOAM Solver for Compressible Multi-Fluid Flow with Application to High-Explosive Detonation,” presented at the OpenFOAM Users Conference, Cologne, Germany, 2016.
- P. Vonk, T. Brewer, “A New OpenFOAM Solver for Compressible Multi-Fluid Flow with Application to High-Explosive Detonation and Extended Validation,” presented at the OpenFOAM Users Conference, USA, 2016.
blastFoam currently supports the following features:
- An arbitrary number of phases/EOS's
- JLW equation of state with constant, linear, and "Miller" afterburn models
- Multiple example and tutorial cases
- Automatic mesh refinement (AMR)
- Single and multi-point detonation
- High-order (1st, 2nd, 3rd and 4th order in time; 2nd and 3rd order spatial)
- HLLC, AUSM+, Kurganov, Tadmor flux schemes
- Parallel (MPI)
- Compatible with all of OpenFOAM's standard mesh generation, pre- and post-processing utilities
blastFoam includes the following equations of state:
- Jones Wilkens Lee (JWL) (with afterburn)
- Ideal Gas
- Stiffened Gas
- Cochran-Chan
- Tait
- Van der Waals
blastFoam has been validated against known solutions to standard gas dynamics problems, and against data from physical tests. Validation cases are included with example/tutorial cases as part of the solver source code.
Reference:
Joachim, Charles E., Gordon W. McMahon, Christo V. Lunderman, and Sharon B. Garner. 1999. “Airblast Effects Research: Small-Scale Experiments and Calculations.” DTIC Document.
Validation against experimental and simulated (CTH) data as reported in Joachim et. al.; see the paper for an explanation of scaling.
Reference:
M. E. Beyer, “Blast Loads Behind Vertical Walls,” Naval Civil Engineering Laboratory, Port Hueneme, CA, USA, AD-A181 274, 1986.
Reference:
Zheng, H. W., C. Shu, Y. T. Chew, and N. Qin. “A Solution Adaptive Simulation of Compressible Multi-Fluid Flows with General Equation of State.” International Journal for Numerical Methods in Fluids 67, no. 5 (2011): 616–637.
Verification and validation results as compared to those published by Zheng et. al.; HLLC flux shown.
The evolution of a two phase, compressible, and inviscid mixture can be defined by a set of coupled evolution equations for mass, momentum, and energy.
where
The pressure will be defined using a specified equation of state where the mixture internal energy, densities, and volume fraction are used to calculate the total pressure. The equations of state will be used in the Mie-Gruneisen form.
The mixture pressure is defined using the Mie-Gruneisen from using $$ p = \frac{\rho e}{\sum_i \alpha_i \xi_i} - \frac{\sum_i \alpha_i \xi_i \Pi_i}{\sum_i \alpha_i \xi_i} $$
where
and
The speed of sound within a give phase is give by
with
and
For a gas described by the generalized van der Waals equation of state, the pressure is defined as $$ p_i = \frac{\gamma_i - 1}{1 - b_i \rho_i}(\rho_i e_i + a_i \rho_i^2) - (a_i \rho_i^2 + c_i) $$
where
and
For a material obeying the Tait EOS, the pressure is defined as $$ p_i = (\gamma_i - 1) \rho_i e_i - \gamma_i (b_i - a_i) $$
where
and
For a material obeying the stiffened EOS, the pressure is defined as
where
The more complicated JWL EOS is often used to define energetic materials, and has a reference pressure given by
and
The Cochran Chan EOS can be used to describe solid material, and has a reference pressure given by $$ p_{ref,i} = A_i \left(\frac{\rho_{0,i}}{\rho_i}\right)^{1 - \mathcal{E}{1,i}} - B_i \left(\frac{\rho{0,i}}{\rho_i}\right)^{1 - \mathcal{E}_{2,i}} $$
$$ \Pi_i = \Gamma_{0,i} \rho_i \left( - \frac{A_i}{(\mathcal{E}{1,i} - 1) \rho{0,i}} \left(\frac{\rho_{0,i}}{\rho_i}\right)^{1 - \mathcal{E}{1,i}} + \frac{B_i}{(\mathcal{E}{2,i} - 1) \rho_{0,i}} \left(\frac{\rho_{0,i}}{\rho_i}\right)^{1 - \mathcal{E}{2,i}} + e{0,i} \right) - p_{ref,i} $$
$$ \delta_i =& \ &\frac{A_i}{\mathcal{E}{1,i}} \left[ \mathcal{E}{1,i} \left(\frac{\rho_{0,i}}{\rho_i}\right)^{-\mathcal{E}{1,i}} \frac{\mathcal{E}{1,i} - \Gamma_{0,i} - 1}{\rho_i} + \frac{\Gamma_{0,i}}{\rho_{0,i}} \right] \frac{1}{\Gamma_{0,i}} \ +&\frac{B_i}{\mathcal{E}{2,i}} \left[ \mathcal{E}{2,i} \left(\frac{\rho_{0,i}}{\rho_i}\right)^{-\mathcal{E}{2,i}} \frac{\mathcal{E}{2,i} - \Gamma_{0,i} - 1}{\rho_i} + \frac{\Gamma_{0,i}}{\rho_{0,i}} \right] \frac{1}{\Gamma_{0,i}} \ +&e_{0,i} $$
where again,