Releases: synthetik-technologies/blastfoam
v6.2.0
v6.1.0
chore(release): 6.1.0 [skip ci] # [6.1.0](https://github.com/synthetik-technologies/blastfoam-dev/compare/v6.0.2...v6.1.0) (2023-02-02)
chore(release): 6.0.1 [skip ci]
## [6.0.1](https://github.com/synthetik-technologies/blastfoam-dev/compare/v6.0.0...v6.0.1) (2022-09-27)
v6.0.0
chore(release): 6.0.0 [skip ci] # [6.0.0](https://github.com/synthetik-technologies/blastfoam-dev/compare/v5.2.0...v6.0.0) (2022-09-02) ### dev * force a v6 release ([f04dc4d](https://github.com/synthetik-technologies/blastfoam-dev/commit/f04dc4d0a8871d9751d3043912350640421f3563)) ### BREAKING CHANGES * update to v6
v5.9.0
blastFoam 3.5
A significant release with support for mesh motion, fluid structure interaction, bug fixes and improvements, as well as some significant refactoring of base classes. This release also includes integration with a fantastic AMR library (see paper and repository below). Support for FSI via coupling to external solid dynamics solvers using preCICE has also been included (we tested with Calculix), and can be readily extended to support coupling with LS-DYNA and other codes. Additional features are described in the readme and user guide.
AMR:
Rettenmaier, Daniel, Daniel Deising, Yun Ouedraogo, Erion Gjonaj, Herbert De Gersem, Dieter Bothe, Cameron Tropea, and Holger Marschall. 2019. “Load Balanced 2D and 3D Adaptive Mesh Refinement in OpenFOAM.” SoftwareX 10 (July): 100317.
Paper: https://doi.org/10.1016/j.softx.2019.100317
Code: https://github.com/ElsevierSoftwareX/SOFTX_2018_143
blastFoam Version 3.0.1
Performance updates and bug fixes. Axisymmetric cases with wedge boundary conditions run substantially faster.
blastFoam Version 3.0
blastFoam Version 3.0
blastFoam is a solver for multi-phase compressible flow with application to high-explosive detonation, explosive safety and airblast, as well as general compressible flows. blastFoam is developed by Synthetik Applied Technologies.
Release Notes
blastFoam 3.0 now includes thirteen equations of state that allow modeling of diverse materials under extreme conditions, with consideration of phenomenologies such as excitation, dissociation and ionization of nitrogen and oxygen in air at higher energies and temperatures, afterburn, and sympathetic detonation.
We have introduced several different approaches to model detonation within explosive materials which transition from unreacted energetics to detonation products, including pressure-based activation models with multi-step Arrhenius reaction rates, and simple, yet practical models based on empirically derived detonation velocities. Users can also specify instantaneous activation.
blastFoam allows phenomena such as size effect (decrease of the detonation velocity with decreasing charge radius), and detonation front curvature (induced by edge lag of the front as energy is lost to the exterior of the charge) to be accurately captured. These additions greatly enhance timing accuracy and load characterization, especially for near-contact explosive scenarios. Options for modeling afterburn (i.e., under-oxygenated explosives continuing to burn after detonation) are also included using the Miller extension, constant, and linear rate models.
blastFoam extends OpenFOAM's base AMR library, and includes the ability to perform 2D and 3D adaptive mesh refinement (AMR). The refinement criteria can be based on density gradient, change across faces (delta), or Lohner's method (2nd derivative of a field) to determine what cell should be refined or unrefined. Additionally, options for mesh unrefinement/relaxation/coarsening have been added, and this is useful for keeping cell counts relatively constant during a calculation while still capturing key features (e.g. shocks) with high accuracy. This allows blastFoam to solve engineering-scale simulations at an affordable computational cost.
blastFoam extends OpenFOAM by adding dynamic load rebalancing for adaptive grids, and now includes a working solution for 2D and experimental support for 3D calculations. Essentially, at a predetermined timestep interval the domain is rebalanced so that the cell count per CPU is more evenly distributed. This mitigates potential memory issues such as crashing and slow-down related to overloading CPUs that are operating on zones of high refinement.
Turbulence and radiation models have been integrated, allowing blastFoam users to leverage the extensive OpenFOAM libraries and apply them to their simulations, and a new fluid model structure (fluidThermo class), that extends OpenFOAM's standard thermo classes has been added, and provides thermodynamically consistent solutions for more accurate temperature calculations.
New functionObjects have been added to improve usability, including the ability to calculate peak overpressure and impulse for each cell in the domain, as well as blastToVTK, a utility to view time series mesh surface outputs in ParaView.
Additional validation and tutorial cases are also provided to demonstrate and showcase the new functionality and capabilities of blastFoam v3.0.
The code contains multiple utilities to prepare calculations for complex geometries of interest (e.g. engineering-scale; from CAD models), including parallel mesh generation, mesh refinement, advanced post-processing, and import/export functions. Verification and validation studies have been conducted with independent validation (conducted by others) performed on larger-scale problems with complex geometries and published in peer-reviewed journals. The solver can be run on any modern platform (e.g. laptop, workstation, HPC, AWS, GCP, etc.).
blastFoam currently supports the following features:
An arbitrary number of phases and EOS's
Multiple activation and burn models
Compatiblity with all OpenFOAM's compressible LES and RANS turbulence models
Extensive verification and validation
JLW equation of state with constant, linear, and "Miller" afterburn models
Multiple example and tutorial cases
Automatic mesh refinement (AMR)
Blast specific function object for post-processing
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
Multiple solvers for high-speed reactive flow and deflatration to detonation transition
Equations of State
blastFoam includes the following equations of state:
Ideal gas
Stiffened gas
Tait
Van der Waals
Landau, Stanyukovich, Zeldovich, and Kompaneets (LSZK)
Jones Wilkens Lee (JWL)
Cochran-Chan
Doan-Nickel
Jones Wilkens Lee C-Form (JWLC)
Becker Kistiakowsky Wilson (BKW)
Benedict Webb Rubin (BWR)
Murnaghan
Birch Murnaghan (2nd and 3rd order)
Tabulated
Activation models
blastFoam includes the following activation models
None (instantaneous reaction)
Multi-point linear activation
Pressure-based
Arrhenius rate
Constant rate
Afterburn models
blastFoam includes the following afterburn models
None
Constant
Linear
Miller
Verification and Validation
blastFoam has been validated against known solutions to standard hydrodynamics problems, and against data from physical tests. Validation cases are included with example/tutorial cases as part of the solver source code.
Installation
Detailed instructions on how to install and use blastFoam are found in the blastFoam User Guide. Installation is simple and requires only OpenFOAM-7 and (optionally) gnuplot be installed. Basic installation steps are as follows:
- Install OpenFOAM-7 (if not already installed)
See https://openfoam.org/version/7 for OpenFOAM installation instructions.
- Create the OpenFOAM directory
mkdir -p $HOME/OpenFOAM
- Go to the $HOME/OpenFOAM directory
cd $HOME/OpenFOAM
- Clone the blastFoam repository
git clone https://github.com/synthetik-technologies/blastfoam
- Go to the blastfoam directory
cd $HOME/OpenFOAM/blastfoam
- Append the etc/bashrc to your .bashrc file
echo "source $HOME/OpenFOAM/blastfoam/etc/bashrc" >> $HOME/.bashrc
- Load and set the bash environment to compile blastFoam
source $HOME/.bashrc
- Compile blastFoam (for parallel use "-j")
./Allwmake
- Test your installation by running the tutorial and validation cases