From 589c80dce5764ecab248b1b0d60b6a72e4885fee Mon Sep 17 00:00:00 2001 From: Jukka Aho Date: Wed, 19 Nov 2025 10:03:45 +0200 Subject: [PATCH] feat(materials): Declare NeoHookean as StatelessStrainDependent - Add material_behavior(::NeoHookean) = StatelessStrainDependent() - Enables generic integration to compute tangent at each IP - Requires displacement field for strain-dependent tangent - Single line trait declaration, zero code duplication --- src/materials/neo_hookean.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/materials/neo_hookean.jl b/src/materials/neo_hookean.jl index 77b21aa..4787596 100644 --- a/src/materials/neo_hookean.jl +++ b/src/materials/neo_hookean.jl @@ -103,6 +103,9 @@ function NeoHookean(; μ::Real=NaN, λ::Real=NaN, E_mod::Real=NaN, nu::Real=NaN) end end +# Trait declaration: NeoHookean has strain-dependent tangent modulus +material_behavior(::NeoHookean) = StatelessStrainDependent() + """ strain_energy(material::NeoHookean, C::SymmetricTensor{2,3}) -> Float64