SalehaniIraniTraction

Source: models/solid_mechanics/traction_separation_law/SalehaniIraniTraction.py

3D coupled exponential cohesive law of Salehani & Irani with internal damage state. Computes \(d_\text{trial} = 1 - \exp(-x)\) where \(x = b_n + b_{s1}^2 + b_{s2}^2\), caps it for irreversibility against the previous-step value (auto-declared via history_name), and assembles \(T_i = a_i b_i (1 - d)\). For monotonic loading this is exactly equivalent to the original \(T_i = a_i b_i \exp(-x)\); under unloading the damage cap freezes the softness at its historical peak. The internal tangential characteristic length is \(\sqrt{2}\,\delta_{u0,t}\). If normal_penetration is supplied, \(K_\text{pen}\,\delta_n^\text{pen}\) is added to \(T_n\) (penalty_stiffness becomes required).

Inputs

normal_separationinput · Scalar · required

Normal separation (typically the Macaulay-positive part of the normal jump)

normal_penetrationinput · Scalar

Optional normal penetration. When supplied, the penalty stiffness times this is added to the normal traction as a penalty term resisting interpenetration. Requires penalty_stiffness to be supplied as well.

tangential_separation_1input · Scalar · required

First tangential separation

tangential_separation_2input · Scalar · required

Second tangential separation

Outputs

tractionoutput · Vec · required

Traction Vec

damageoutput · Scalar · required

Damage scalar (current step, irreversibility-capped)

Parameters

normal_characteristic_lengthparameter · Scalar · required

Normal characteristic length (raw user input)

tangential_characteristic_lengthparameter · Scalar · required

Tangential characteristic length (raw user input; the internal value is sqrt(2) times this)

normal_strengthparameter · Scalar · required

Normal strength (peak normal traction)

shear_strengthparameter · Scalar · required

Shear strength (peak shear traction)

penalty_stiffnessparameter · Scalar · default 0

Penalty stiffness used to resist interpenetration. Required when normal_penetration is supplied; ignored otherwise.