[10.0.0] - 2026-02-13 Added Add MaterialStrain(..., framework="small-strain") to select a framework. Default is "small-strain" (unchanged) but now "total-lagrange" and "co-rotational" are also supported. Note that framework="total-lagrange" will change the linear-elastic material model formulation to the Saint-Venant Kirchhoff material model formulation. Add MaterialStrain(..., symmetry=True) to enforce the returned stress and elasticity tensors to be (minor) symmetric. Default is True. symmetry=False will improve performance if the provided material returns symmetric tensors. Add the Ogden material model formulation also for the JAX-backend constitution.jax.models.hyperelastic.ogden. Add linear_elastic_viscoelastic(), a linear-elastic (deviatoric) viscoelastic material model formulation to be used in MaterialStrain. Changed Don't enforce the returned elasticity tensor in MaterialStrain to be major-symmetric. Change the default output of the loadcases dof.uniaxial(), dof.shear() and dof.biaxial() to return the dict of boundary conditions, but deprecate this boundaries, loadcase = fem.dof.uniaxial(field, return_loadcase=None) (was boundaries, loadcase = fem.dof.uniaxial(field) before). The additional loadcase dict is now optional, boundaries, loadcase = fem.dof.uniaxial(field, return_loadcase=True) is required. Don't support iteration over a BoundaryDict. Use BoundaryDict.items() or BoundaryDict.values() instead. Change the default label value in Boundary.plot(label="Boundary Condition") (was label=None before). The fall-back to Boundary.name is removed. Deprecated Deprecate bounds in dof.symmetry(field, bounds=None). Use new equivalent boundaries argument, dof.symmetry(field, boundaries=None). Deprecate boundaries, loadcase = fem.dof.uniaxial(field, return_loadcase=None). Use return_loadcase=True or return_loadcase=False in new code. return_loadcase=False will be the default value in 11.0.0. Removed Remove deprecated SolidBodyGravity. Remove support for Python 3.9. Remove unused optional name argument in Boundary. What's Changed Add framework argument to MaterialStrain by @adtzlr in https://github.com/adtzlr/felupe/pull/1018 Enhance MaterialStrain(..., symmetry=True) by @adtzlr in https://github.com/adtzlr/felupe/pull/1019 Add MaterialStrain(framework="co-rotational") by @adtzlr in https://github.com/adtzlr/felupe/pull/1020 Simplify default return value of loadcases dof.uniaxial(), dof.shear() and dof.biaxial() by @adtzlr in https://github.com/adtzlr/felupe/pull/1022 Make BoundaryDict non-iterable by @adtzlr in https://github.com/adtzlr/felupe/pull/1023 Add the Ogden model also for JAX by @adtzlr in https://github.com/adtzlr/felupe/pull/1025 Remove support for EOL Python 3.9 by @adtzlr in https://github.com/adtzlr/felupe/pull/1026 Add linear_elastic_viscoelastic() by @adtzlr in https://github.com/adtzlr/felupe/pull/1027 Remove name arg in Boundary by @adtzlr in https://github.com/adtzlr/felupe/pull/1029 deprecate dof.uniaxial(..., return_loadcase=None) by @adtzlr in https://github.com/adtzlr/felupe/pull/1030 Full Changelog: https://github.com/adtzlr/felupe/compare/v9.5.0...v10.0.0
No takes yet. Share an insight, caveat, or question.
Dutzler et al. (2025) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: