feat(materials): Declare LinearElastic as StatelessConstantTangent

- Add material_behavior(::LinearElastic) = StatelessConstantTangent()
- Enables generic integration to optimize constant tangent case
- Single line trait declaration, zero code duplication
- Integration computes tangent once and reuses for all IPs
This commit is contained in:
Jukka Aho
2025-11-19 10:03:45 +02:00
parent 56b8f25682
commit c84ad4e228
+3
View File
@@ -68,6 +68,9 @@ steel = LinearElastic(E=200e9, ν=0.3)
"""
LinearElastic(; E, ν) = LinearElastic(Float64(E), Float64(ν))
# Trait declaration: LinearElastic has constant tangent modulus
material_behavior(::LinearElastic) = StatelessConstantTangent()
"""
λ(material::LinearElastic) -> Float64