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_separation—input·Scalar· requiredEffective separation
normal_separation—input·Scalar· requiredNormal separation (typically the Macaulay-positive part of the normal jump)
normal_penetration—input·ScalarOptional 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_1—input·Scalar· requiredFirst tangential separation
tangential_separation_2—input·Scalar· requiredSecond tangential separation
Outputs¶
traction—output·Vec· requiredTraction Vec
damage—output·Scalar· requiredDamage scalar (current step, irreversibility-capped)
Parameters¶
penalty_stiffness—parameter·Scalar· requiredPenalty stiffness
critical_separation—parameter·Scalar· requiredCritical (damage-onset) separation. May be wired to an upstream
CamanhoDavilaCriticalSeparation(nonlinear-capable).full_separation—parameter·Scalar· requiredFull (failure) separation. May be wired to an upstream
BenzeggaghKenaneFullSeparationorPowerLawFullSeparation(nonlinear-capable).