BilinearTraction

Source: models/solid_mechanics/traction_separation_law/BilinearTraction.py

Bilinear cohesive-zone traction with internal damage state. Computes the bilinear damage variable from \((\delta_m, \delta_c, \delta_f)\) (effective separation, critical / damage-onset separation, full / failure separation), caps it for irreversibility against the previous-step value (auto-declared via history_name), and assembles \(T_n = K(1-d)\delta_n^+ + K\delta_n^-,\;T_{si} = K(1-d)\delta_{si}\). Damage is exposed as a secondary output for diagnostics; the irreversibility cap is internal to this model and does not require an external IrreversibleScalar.

Inputs

effective_separationinput · Scalar · required

Effective separation

normal_separationinput · Scalar · required

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

normal_penetrationinput · Scalar

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

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

penalty_stiffnessparameter · Scalar · required

Penalty stiffness

critical_separationparameter · Scalar · required

Critical (damage-onset) separation. May be wired to an upstream CamanhoDavilaCriticalSeparation (nonlinear-capable).

full_separationparameter · Scalar · required

Full (failure) separation. May be wired to an upstream BenzeggaghKenaneFullSeparation or PowerLawFullSeparation (nonlinear-capable).