FLAC3D Theory and Background • Constitutive Models

Jones-Wilkins-Lee Equation of State*

Note

*Not available in 3DEC.

Formulation

The Jones-Wilkins-Lee (JWL) equation of state (EOS) is a widely employed model for representing the thermodynamic behavior of detonation products. Unlike ideal gas formulations, the JWL EOS is specifically formulated to capture the rapid expansion dynamics and pressure decay of explosives following detonation. It provides an empirical fit of the pressure-volume-energy relationship, calibrated to experimental data to accurately describe both the high-pressure regime near the detonation front and the late-time expansion behavior. In this framework, the pressure arises from the release of chemical energy by the fully reacted detonation products. The JWL EOS is expressed as:

(1)\[P = \lambda \left[ A\exp{\left(-R_1 V_r\right)} + B\exp{\left(-R_2 V_r\right)} + C V_r^{-\left(\omega + 1\right)} \right]\]

where \(P\) is the pressure, \(\lambda\) is the burn fraction, and \(V_r=V/V_0\) is the relative volue (ratio of current volume to initial, unreacted, volume). In FLAC3D, the pressure is used to set the volumetric components of the stress tensor (\(\sigma_{ij} = -P \delta_{ij}\)), where \(\delta_{ij}\) is the Kronecker delta.). Since detonation products are modeled as inviscid and incapable of supporting shear, the deviatoric stress components are taken to be zero, i.e., \({s}_{ij}=0\). The parameters \(A\), \(B\), \(C\), \(R_1\), \(R_2\), and \(\omega\) are empirical constants, uniquely determined for each explosive. The first two exponential terms in the JWL EOS account for the rapid pressure drop driven by energy release during detonation, while the final term captures the residual pressure contribution from the expansion of detonation products at later times.

The JWL EOS is implemented in FLAC3D as a constitutive model that can be applied to zones representing an explosive material. The model internally computes the relative volume based on the current zone volume and initial zone volume each step. In large stain mode, the zone geometry and, thus, the current zone volume is updated every 10 steps by default. Setting the update frequency to a smaller value will increase the accuracy of the model. This can be accomplished with zone geometry update-interval set to 1. In small strain mode, the zone geometry is not updated, and the current zone volume is calculated by \(V_r = 1 + \varepsilon_{kk}\) where \(\varepsilon_{kk}\) is the volumetric strain.

Energy Release and Burn Fraction

In FLAC3D, energy release in zones with the JWL model is controlled by the burn fraction \(\lambda\), where \(0 \leq \lambda \leq 1\). This parameter represents the extent of reaction within the explosive: \(\lambda=0\) corresponds to fully unreacted material, while \(\lambda=1\) corresponds to a complete reaction. This can be set directly using the zone property (FLAC3D) command or updated with FISH. The burn fraction may be specified as a constant in simple cases or evolved in time using a programmed burn (PB) algorithm. The PB approach models the propagation of the detonation front and energy release using a predefined detonation velocity rather than relying on the direct solution to reactive flow equations. For example, the detonation time for a zone can be calculated with:

(2)\[t_d = \frac{||x - x_d||}{C_d}\]

where \(t_d\) is the detonation time, \(x\) is the zone centroid, \(x_d\) is the location of the detonation point, and \(C_d\) is the detonation velocity. The burn fraction can then be updated based on the elapsed time since detonation:

(3)\[\begin{split}\lambda\left(t\right) = \begin{cases} 0, & \text{if } t < t_d \\ 1, & \text{if } t \geq t_d \end{cases}\end{split}\]

where \(t\) is the current time. The above example is a simple case where the width of the burn wave is zero. In practice, the burn fraction can be updated with a more complex function that accounts for the width of the burn wave and other factors. Equation (3) is intended solely as an example or starting point for further analysis.

A Note on Hourglass Deformation

The Lagrangian frame of reference in large strain mode combined with zero shear resistance and gigapascal pressures has the potential to create hourglass deformations in JWL zones. There are numerous methods to remove the hourglass deformations, including viscous or elastic forces added to global equilibrium, or the hourglass velocity can be filtered out with stencils. In any case, a simple FISH or Python function can be implemented that detects hourglass deformations and removes them from the zone.

A Note JWL zone density

In general, explosive reaction product pressure is dependent on the initial explosive density. In FLAC3D, the density of JWL zones is only used to calculate the inertial response of the explosive material. The initial-density property JWL zone property and the zone density cannot be changed when the other JWL fit parameters are held constant as the total energy of the reaction products and the initial density are implicit in the fit to the JWL parameters. In simpler terms, changing a JWL zone initial density does not change the detonation pressure as might be expected.

Examples

Single-Zone JWL Pressurization

jones-wilkins-lee Model Properties

Use the following keywords with the zone property (FLAC3D) command to set these properties of the JWL model.

jwl
initial-density f

density of the unreacted products, \(\rho_0\)

a f

material constant \(A\)

b f

material constant \(B\)

c f

material constant \(C\)

r-1 f

material constant \(R1\)

r-2 f

material constant \(R2\)

omega f

material constant \(\omega\)

burn-fraction f

mass fraction of the explosive that has reacted, \(\lambda\)

initial-volume f (r)

undetonated zone volume, \(V_0\), initialized internally

current-volume f (r)

current zone volume, \(V\), updated internally

relative-volume f (r)

current zone relative volume, \(V_r\), updated internally

current-density f (r)

current zone density, \(\rho\), updated internally

bulk f (r)

current bulk modulus, \(K=-dP/dV\), updated internally

Key

(r) Read-only property.

This property cannot be set by the user. Instead, it can be listed, plotted, or accessed through FISH.