November 14, 2019

blastFoam is Synthetik's free and open source CFD airblast code available on GitHub: https://github.com/synthetik-technologies/blastfoam 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: https://www.synthetik-technologies.com

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.

$∂_{t}U+∇⋅F=S$ $U=⎝⎜⎜⎜⎜⎜⎛ α_{1}α_{1}ρ_{1}α_{2}ρ2ρuρE ⎠⎟⎟⎟⎟⎟⎞ F=⎝⎜⎜⎜⎜⎜⎛ α_{1}uα_{1}ρ_{1}uα_{2}ρ_{2}uρu⊗u+pI(ρE+p)u ⎠⎟⎟⎟⎟⎟⎞ S=⎝⎜⎜⎜⎜⎜⎛ α_{1}∇⋅u0000 ⎠⎟⎟⎟⎟⎟⎞ $where $ρ$ is the mixture density, $u$ the mixture velocity, $E$ the total energy, $p$ the pressure, and $rho_{i}$ and $α_{i}$ are the density and volume fraction of each phase.

$α_{2}=1−α_{1}$ $ρ=i∑ α_{i}ρ_{i}$ $ρE=ρe+21 ρ∣u∣_{2}$ $ρe=i∑ α_{i}ρ_{i}e_{i}$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.

$p_{i}(ρ_{i},e_{i},ρ)=(Γ(ρ_{i})−1)ρ_{i}e_{i}−Π(ρ_{i})$The mixture pressure is defined using the Mie-Gruneisen from using

$p=∑_{i}α_{i}ξ_{i}ρe −∑_{i}α_{i}ξ_{i}∑_{i}α_{i}ξ_{i}Π_{i} $where

$ξ_{i}(ρ_{i})=Γ_{i}−11 $and $Π_{i}$ is dependent on the equation of state.

The speed of sound within a give phase is give by

$c_{i}=∑_{i}ξ_{i}∑_{i}y_{i}ξ_{i}c_{i} $with

$y_{i}=ρα_{i}ρ_{i} $ $c_{i}=ξ_{i}h_{i}−δ_{i} $ $h_{i}=(Γ_{i}−1)ρ_{i}Γ_{i}p+Π_{i} $and $δ_{i}$ is again dependent on the equation of state.

For a gas described by the generalized van der Waals equation of state, the pressure is defined as

$p_{i}=1−b_{i}ρ_{i}γ_{i}−1 (ρ_{i}e_{i}+a_{i}ρ_{i})−(a_{i}ρ_{i}+c_{i})$where $a_{i}$, $b_{i}$, $c_{i}$, and $γ_{i}$ are material parameters. Writing the above equation in M.G. form, we obtain

$Γ_{i}=1−b_{i}ρ_{i}γ_{i}−1 +1$ $Π_{i}=[1−1−b_{i}ρ_{i}γ_{i}−1 ]a_{i}ρ_{i}+[1−b_{i}ρ_{i}γ_{i}−1 +1]c_{i}$and

$δ_{i}=−b_{i}γ_{i}−1p_{i}+a_{i}ρ_{i} +(γ−11−b_{i}ρ_{i} −1)2a_{i}ρ_{i}$For a material obeying the Tait EOS, the pressure is defined as

$p_{i}=(γ_{i}−1)ρ_{i}e_{i}−γ_{i}(b_{i}−a_{i})$where $a_{i}$, $b_{i}$, and $γ_{i}$ are material properties. In M.G. form, we have

$Γ_{i}=γ_{i}$ $Π_{i}=γ_{i}(b_{i}−a_{i})$and

$δ_{i}=0$For a material obeying the stiffened EOS, the pressure is defined as

$p_{i}=(γ_{i}−1)ρ_{i}e_{i}−γ_{i}a_{i}$where $a_{i}$ and $γ_{i}$ are material properties, and

$Γ_{i}=γ_{i}$ $Π_{i}=γ_{i}a_{i}$ $δ_{i}=0$The more complicated JWL EOS is often used to define energetic materials, and has a reference pressure given by

$p_{ref,i}=A_{i}e_{−ρRρ}+B_{i}e_{−ρRρ}$$A_{i}$, $B_{i}$, $R_{1,i}$, $R_{2,i}$, $ρ_{0,i}$, and $Γ_{0,i}$ are the material properties. The functions of the EOS are given by

$Γ_{i}=Γ_{0,i}+1$ $Π_{i}=Γ_{0,i}ρ_{i}(R_{1,i}ρ_{0,i}A_{i} e_{−ρRρ}+R_{2,i}ρ_{0,i}B_{i} e_{−ρRρ}+e_{0,i})−p_{ref,i}$and

$δ_{i}=A_{i}e_{−ρRρ}[Γ_{0,i}(R_{1,i}ρ_{0,i}1 +ρ_{i}1 )−ρ_{i}R_{1,i}ρ_{0,i} ]Γ_{0,i}1 +B_{i}e_{−ρRρ}[Γ_{0,i}(R_{2,i}ρ_{0,i}1 +ρ_{i}1 )−ρ_{i}R_{2,i}ρ_{0,i} ]Γ_{0,i}1 +e_{0,i}$$e_{0}$ is anther material parameter which denotes a reference energy state.

The Cochran Chan EOS can be used to describe solid material, and has a reference pressure given by

$p_{ref,i}=A_{i}(ρ_{i}ρ_{0,i} )_{1−E_{1,i}}−B_{i}(ρ_{i}ρ_{0,i} )_{1−E_{2,i}}$$A_{i}$, $B_{i}$, $E_{1,i}$, $E_{2,i}$, $ρ_{0,i}$, and $Γ_{0,i}$ are the material properties. The functions of the EOS are given by

$Γ_{i}=Γ_{0,i}+1$ $Π_{i}=Γ_{0,i}ρ_{i}(−(E_{1,i}−1)ρ_{0,i}A_{i} (ρ_{i}ρ_{0,i} )_{1−E_{1,i}}+(E_{2,i}−1)ρ_{0,i}B_{i} (ρ_{i}ρ_{0,i} )_{1−E_{2,i}}+e_{0,i})−p_{ref,i}$ $δ_{i}=E_{1,i}A_{i} [E_{1,i}(ρ_{i}ρ_{0,i} )_{−E_{1,i}}ρ_{i}E_{1,i}−Γ_{0,i}−1 +ρ_{0,i}Γ_{0,i} ]Γ_{0,i}1 +E_{2,i}B_{i} [E_{2,i}(ρ_{i}ρ_{0,i} )_{−E_{2,i}}ρ_{i}E_{2,i}−Γ_{0,i}−1 +ρ_{0,i}Γ_{0,i} ]Γ_{0,i}1 +e_{0,i}$where again, $e_{0}$ is a material parameter which denotes a reference energy state.