EffectiveCavityFraction#

Source: models/solid_mechanics/traction_separation_law/EffectiveCavityFraction.py

GTN-style coalescence map from the physical cavitated area fraction \(f\) to the effective fraction \(f^*\) that drives the softening functions,

\[\begin{split} f^* = \begin{cases} f, & f \le f_c \\ f_c + \kappa (f - f_c), & f_c < f < f_F \\ f_u^*, & f \ge f_F \end{cases}, \qquad \kappa = \frac{f_u^* - f_c}{f_F - f_c}. \end{split}\]

\(f_c\) is the coalescence onset (ligament rupture at \(a/b \approx 0.7\) puts it near \(0.5\)), \(f_F\) the physical fraction at final separation, and \(f_u^*\) the effective fraction at which the interface carries no load. Because both softening functions, \(q(f)\) and \((1-f)\), vanish at \(f = 1\), \(f_u^*\) must be set strictly below one so \(q(f^*)\) stays positive and the rates stay finite right up to separation.

The map saturates at \(f_u^*\) for \(f \ge f_F\) rather than extrapolating the accelerated branch. Without that cap a separated state, or a Newton iterate that overshoots, drives \(f^*\) through one at \(f = f_c + (1 - f_c) / \kappa\) – a physical fraction below one and therefore reachable – and both downstream denominators, \(q(f^*)\) and \(1 - f^*\), vanish together. Saturating bounds every consumer of \(f^*\) by \(f_u^* < 1\) for any \(f\) whatsoever, so the rates are finite however far an iterate strays. The map is continuous at \(f_F\): the accelerated branch reaches exactly \(f_u^*\) there.

Only the softening functions see \(f^*\). The geometric factors (\(f/N\), \(\sqrt{f}\), \(V(f,N)\)) keep the physical \(f\), which is what preserves the identity \([\![u]\!]_n^v = NV - N_0V_0\).

Inputs#

cavity_fraction — input · Scalar · required

Physical cavitated area fraction

Outputs#

effective_cavity_fraction — output · Scalar · required

Effective cavitated area fraction

Parameters#

coalescence_fraction — parameter · Scalar · required

Area fraction at the onset of coalescence

failure_fraction — parameter · Scalar · required

Physical area fraction at final separation

ultimate_fraction — parameter · Scalar · required

Effective area fraction at which the interface carries no load. Keep strictly below one so the softening function q stays positive.