4.37.5. Modular BCJ Failure

The modular BCJ (Bammann-Chiesa-Johnson [[1]]) failure model develops the damage variable through a micromechanical representation of the void evolution process. In this model, damage is defined as void volume fraction as function of void size \(v_v\) and count \(f\) in a nominal unit volume \(V_0\) [[2]]:

\[d = \frac{v_v f V_0}{V_0 + v_v f V_0} = \frac{v_v f}{1 + v_v f} .\]

Void evolution is determined by incrementation of void nucleation and void growth models. Implemented void nucleation models include Horstemeyer-Gokhale (HG) [[3]] and Chu-Needleman strain distribution (CNSD) [[4]]:

(4.262)\[(\dot{f})^{\text{HG}} = f \dot{\bar{\varepsilon}}^p N_4 \left( N_1 \left[ \frac{4}{27} - \frac{{J_3}^2}{{J_2}^3} \right] + N_2 \left[ \frac{J_3}{{J_2}^{\frac32}} \right] + N_3 \left[ \frac{|p|}{\sigma_{vm}} \right] \right),\]

where \(\{N_1, N_2, N_3, N_4\}\) are fitting constants, \(\{J_2, J_3\}\) are deviatoric stress tensor invariants, \(p\) is the mean hydrostatic stress, and \(\sigma_{vm}\) is the von-Mises stress. The \(N_1\) term premultiplies a term indicating a shear-dominated stress state (maximal in torsion); the \(N_2\) term premultiplies a term indicating uniaxial stress state (maximal in uniaxial tension); the \(N_3\) term premultiplies a term indicating stress triaxiality (maximal in hydrostatic tension/compression).

\[(\dot{f})^{\text{CNSD}} = \frac{1}{(1-d)^2} \left[ \frac{\psi}{s v_0 \sqrt{2\pi}} \right] \exp\left( -\frac12 \left( \frac{\bar{\varepsilon}^p-\varepsilon_N}{s} \right)^2 \right),\]

where \(\psi\) is the void amplitude, \(\varepsilon_N\) is the mean of the nucleation strain distribution, and \(s\) is the standard deviation of the nucleation strain distribution.

The Cocks-Ashby (CA) model [[5]] is the only growth model implemented to date:

(4.263)\[(\dot{v}_v)^{\text{CA}} = \sqrt{\frac23} \dot{\bar{\varepsilon}}^p \left( \frac{1 - (1-d)^{m+1}}{(1-d)^m} \right) \sinh\left[ \frac{2(2m-1)}{2m+1} \frac{p}{\sigma_{vm}} \right] ,\]

where \(m\) is the damage growth exponent.

The void nucleation and growth models are combined to develop the full expression for void evolution,

(4.264)\[\dot{d} = \dot{v_v} w_1^G(\dot{\bar{\varepsilon}}^p) w_2^G(T) + (1-d)^2 \dot{f} v_0 w_1^N(\dot{\bar{\varepsilon}}^p) w_2^N(T) ,\]

where optional functions \(w_i^X\) are introduced to account for strain-rate and temperature effects. Implemented functions provide for strain-rate and temperature effects using the \(D_4\) and \(D_5\) terms of the Johnson-Cook failure model (4.259).

Note that the void evolution equation is defined implicitly, as void nucleation and growth expressions may each depend on damage. A model parameter \(\beta\) exposes the option to control the temporal integration of (4.264), with \(\beta=0\) representing forward Euler integration (explicit), \(\beta = 1\) representing backward Euler integration (implicit), and \(\beta = 0.5\) (default) representing trapezoidal integration (implicit). Other common parameters include the initial damage \(d_0\) and initial void size \(v_0\).

4.37.5.1. User Guide

#
# MODULAR_BCJ_FAILURE Failure model definitions
#
INITIAL DAMAGE    = <real>
INITIAL VOID SIZE = <real>
DAMAGE BETA       = <real> (0.5)
GROWTH MODEL      = COCKS_ASHBY | NO_GROWTH (NO_GROWTH)
NUCLEATION MODEL  = HORSTEMEYER_GOKHALE | CHU_NEEDLEMAN_STRAIN
                    | NO_NUCLEATION (NO_NUCLEATION)
#
GROWTH RATE FAIL MULTIPLIER        = JOHNSON_COOK | USER_DEFINED
                                     | RATE_INDEPENDENT
                                     (RATE_INDEPENDENT)
GROWTH TEMPERATURE FAIL MULTIPLIER = JOHNSON_COOK | USER_DEFINED
                                     | TEMPERATURE_INDEPENDENT
                                     (TEMPERATURE_INDEPENDENT)
#
NUCLEATION RATE FAIL MULTIPLIER        = JOHNSON_COOK | USER_DEFINED
                                         | RATE_INDEPENDENT
                                         (RATE_INDEPENDENT)
NUCLEATION TEMPERATURE FAIL MULTIPLIER = JOHNSON_COOK | USER_DEFINED
                                         | TEMPERATURE_INDEPENDENT
                                         (TEMPERATURE_INDEPENDENT)
#
# Definitions for individual growth and nucleation models
#
GROWTH MODEL = COCKS_ASHBY
DAMAGE EXPONENT = <real> (0.5)
#
NUCLEATION MODEL      = HORSTEMEYER_GOKHALE
NUCLEATION PARAMETER1 = <real> (0.0)
NUCLEATION PARAMETER2 = <real> (0.0)
NUCLEATION PARAMETER3 = <real> (0.0)
#
NUCLEATION MODEL          = CHU_NEEDLEMAN_STRAIN
NUCLEATION AMPLITUDE      = <real>
MEAN NUCLEATION STRAIN    = <real>
NUCLEATION STRAIN STD DEV = <real>
#
# Definitions for rate and temperature fail multiplier
#   Note: only showing definitions for growth.
#    Nucleation terms are the same just with NUCLEATION instead
#    of GROWTH
#
GROWTH RATE FAIL MULTIPLIER = JOHNSON_COOK
GROWTH JOHNSON COOK D4      = <real>
GROWTH REFERENCE RATE       = <real>
#
GROWTH RATE FAIL MULTIPLIER          = USER_DEFINED
GROWTH RATE FAIL MULTIPLIER FUNCTION = <string> growth_rate_fail_mult_func
#
GROWTH TEMPERATURE FAIL MULTIPLIER = JOHNSON_COOK
GROWTH JOHNSON COOK D5             = <real>
GROWTH REFERENCE TEMPERATURE       = <real>
GROWTH MELTING TEMPERATURE         = <real>
#
GROWTH TEMPERATURE FAIL MULTIPLIER          = USER_DEFINED
GROWTH TEMPERATURE FAIL MULTIPLIER FUNCTION = <string> temp_fail_mult_func
#