SalehaniIraniTraction#

Source: models/solid_mechanics/traction_separation_law/SalehaniIraniTraction.py

Assemble 3D coupled exponential cohesive traction of Salehani & Irani from an externally updated damage: \(T_n = a_n b_n (1 - d) + K_\text{pen}\delta_n^\text{pen}\) and \(T_{si} = a_t b_{si} (1 - d)\), where \(a_n = e T_{\max,n}\), \(a_t = \sqrt{2e} T_{\max,t}\), \(b_n = \delta_n / \delta_{u0,n}\), and \(b_{si} = \delta_{si} / (\sqrt{2} \delta_{u0,t})\).

Note: normal_characteristic_length (\(\delta_{u0,n}\)) and tangential_characteristic_length (\(\delta_{u0,t}\)) must match the parameters configured in the corresponding upstream SalehaniIraniDamage. For calibrated parameters, wire both models to the same ScalarConstantParameter outputs. For fixed parameters, both models may reference the same [Tensors] definitions.

Inputs#

damage — input · Scalar · required

Current damage

normal_separation — input · Scalar · required

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

normal_penetration — input · Scalar

Optional normal penetration (typically the Macaulay-negative part of the normal jump). When supplied, the penalty stiffness times this is added to the normal traction as a penalty term resisting interpenetration.

tangential_separation_1 — input · Scalar · required

First tangential separation

tangential_separation_2 — input · Scalar · required

Second tangential separation

Outputs#

traction — output · Vec · required

Traction vector

Parameters#

normal_characteristic_length — parameter · Scalar · required

Normal characteristic length (must match SalehaniIraniDamage)

tangential_characteristic_length — parameter · Scalar · required

Tangential characteristic length (must match SalehaniIraniDamage)

normal_strength — parameter · Scalar · required

Normal strength (peak normal traction)

shear_strength — parameter · Scalar · required

Shear strength (peak shear traction)

penalty_stiffness — parameter · Scalar · default 0

Penalty stiffness