SkillAgentSearch skills...

Blastfoam

A CFD solver for multi-component compressible flow with application to high-explosive detonation, explosive safety and air blast

Install / Use

/learn @synthetik-technologies/Blastfoam
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<!--- python3 -m readme2tex --nocdn --pngtrick --htmlize --output README.md INPUT.md && open README.md.html --> <p align="center"> <img src="media/synthetik-logo.png" width="350" title="hover text"> </p>

blastFoam Version 6.0

blastFoam is a library for single and multiphase 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. 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<img alt="$\textregistered$" src="svgs/6abda71802c3922eebfcf1b67d5169b2.png" align="middle" width="16.438455000000005pt" height="22.831379999999992pt"/> and OpenCFD<img alt="$\textregistered$" src="svgs/6abda71802c3922eebfcf1b67d5169b2.png" align="middle" width="16.438455000000005pt" height="22.831379999999992pt"/> trade marks.

How to use blastFoam

Several validation and tutorial cases are included in the repository, and are documented in the blastFoam User Guide.

blastFoam workshop | Date: July 14, 2020 | Location: Virtual/Online | Cost: Free

Thank you to everyone who attended!

A recording of the workshop is also available on YouTube: blastFoam July 14, 2020 Workshop on YouTube.

blastFoam workshop | Date: May 13, 2020 | Location: Virtual/Online | Cost: Free

Thank you to everyone who attended!

The workshop tutorial case and modifications have been added to the repository: tutorials/blastFoam/building3DWorkshop.

A recording of the workshop is also available on YouTube: blastFoam May 13, 2020 Workshop on YouTube.

The slides from the workshop have been added to the repository: blastFoam May Workshop Slides

Installation

Detailed instructions on how to install and use blastFoam are found in the blastFoam User Guide. Installation is simple and requires only OpenFOAM-9 and (optionally) gnuplot be installed. Basic installation steps are as follows:

How to install OpenFOAM for Linux

Compiling OpenFOAM is straight forward, and a more detailed guide to installation can be found [here]{https://openfoam.org/download/source/software-for-compilation}. Once the necessary dependencies have been installed

  1. Clone the OpenFOAM-9 repository
cd $HOME/OpenFOAM
git clone https://github.com/OpenFOAM/OpenFOAM-9.git
  1. Compile OpenFOAM
cd OpenFOAM-9
echo "source $HOME/OpenFOAM/OpenFOAM-9/etc/bashrc" >> ~/.bashrc
source etc/bashrc
./Allwmake > log.Allwmake 2>&1

How to install OpenFOAM for Windows 10

An installation video for Windows 10 is available on our YouTube channel: https://youtu.be/vfd610LadSU

<p align="center"> <img src="media/installation_thumbnail.png" width="450" title="Installing blastFoam in Windows 10"> </p>

How to Install OpenFOAM for macOS

Compiling OpenFOAM on macOS is relatively straightforward. This guide and repository provides step-by-step instructions as well as the necessary patch to compile OpenFOAM on macOS.

How to install blastFoam

  1. Install OpenFOAM-9 (if not already installed, see above) See https://openfoam.org/version/9 for OpenFOAM installation instructions.

  2. Create the OpenFOAM directory

mkdir -p $HOME/OpenFOAM
  1. Go to the $HOME/OpenFOAM directory
cd $HOME/OpenFOAM
  1. Clone the blastFoam repository
git clone https://github.com/synthetik-technologies/blastfoam.git
  1. Go to the blastfoam directory
cd $HOME/OpenFOAM/blastfoam
  1. Append the etc/bashrc to your .bashrc and/or .zshrc file
echo "source $HOME/OpenFOAM/blastfoam/etc/bashrc" >> $HOME/.bashrc
# or if using zsh:
echo "source $HOME/OpenFOAM/blastfoam/etc/bashrc" >> $HOME/.zshrc
  1. Load and set the bash environment to compile blastFoam
source $HOME/.bashrc
# or if using zsh:
source $HOME/.zshrc
  1. Compile blastFoam (for parallel use "-j")
./Allwmake -j
  1. Test your installation by running the tutorial and validation cases

Questions

If you find any bugs, please let us know in the issues section of the repository. If you want to get in touch: info@synthetik-technologies.com.

Citation

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., 2020.

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 = {2020-04-13}
}

User Guide

To cite the blastFoam User Guide.:

J. Heylmun, P. Vonk, and T. Brewer, "blastFoam 6.0 User Guide", Synthetik Applied Technologies, LLC., 06-Aug-2020.

BiBTex:

@misc{heylmun_blastfoamguide_2021,
	title = {{blastFoam version 6.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 = aug,
	year = {2022}
}

blastFoam Publications:

Journals/Conferences

  1. 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.
  2. 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.
  3. 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.
  4. 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 Version 6.0 Release Notes and Features

blastFoam 6.0 greatly improves the numerics library to include multivariate root finding, minimisation/optimisation, and numerical integration. The equation structure has also been improved and generalised. Lookup tables have also been greatly improved by adding support for mixed order interpolation and more general file readers. 3D lookup tables have also been implemented.

Additional thermodynamic and transport models including power law and tabulated. Two and multiphase temperature calculations have been expanded to now solve a coupled root finding method that incorperate all phase contributions of energy and density.

Improved and additional refinement methods including polyhedral refinement from foam-extend with the support for 3D, 2D, and 2D axisymmetric refinement with dynamic load balancing.

Improvements for the rotateFields utility now allow for iterative refinement based on the methods provided in dynamicMeshDict.

Burst patches have been added to allow for the breaking of internal faces based on a given criteria.

The setRefinedField utility has been expanded to include the option to set zones and sets based on the given regions. All field types are now able to be set using defaultValues and regions.

Time integration now supports restarting of time steps which is useful for FSI cases.

Previous Releases

blastFoam Version 5.0 Release Notes and Features

blastFoam 5.0 greatly improves compatibility of blastFoam thermodynamics with that of standard OpenFOAM. This results in the ability to use most standard OpenFOAM functionObjects and fvModels and constraints. This also includes the ability to compile new combinations of thermodynamic models at run-time. Additional thermodynamic models have been added including ePower, ePolynomial, eTabulated, hPower, hPolynomial, and hTabulated. Additional fluid transport models have been added including polynomial, logPolynomial, sutherland, WLF, and tabulated. Additional sold transport models have been added including exponential and polynomial.

Support for fvModels and fvConstraints has been added. This allows for sources that are not typically included in the solver, for example point mass sources.

Improvements for the rotateFields utility included mapping of fields not included in the target directory as well as fixes to the rotation of non scalar fields. 1-D cases can now be directly mapped to 3D cases.

A large selection of numerical methods have also been added including univariate and root finding methods, numerical integration, and minimization.

New methods to initialize non-uniform fields have been added to the setRefinedFields utility such as calculatedDensity, function, and massIntegrate. New cell set types have also been added and include boxMassToCell, cylindericalMassToCell, and sphericalMassToCell.

Because the output of lagrangian particles is not compatible with the builtin paraview reader, the convertLagrangianPositions utility has been added to convert the standard lagrangian format to one that paraview can read, allowing the viewing of parallel largrangian cases, without the need to reconstruct cases.

blastFoam Version 4.0 Release Notes and Features

blastFoam 4.0 introduces particle solvers. This includes Eulerian multi-fluid methods (blastEulerFoam), Lagrangian (blastParcelFoam), and possible coupling to OpenQBMM for number-density function transp

Related Skills

View on GitHub
GitHub Stars287
CategoryDevelopment
Updated24d ago
Forks117

Languages

C

Security Score

80/100

Audited on Mar 1, 2026

No findings