Skip to content

v5.0.0

Choose a tag to compare

@matnoel matnoel released this 24 Sep 14:42
· 234 commits to main since this release
  • A constant=True term is reused while its arguments keep the same values, checked
    against a copy taken when it was built, instead of hashed, so array arguments such as
    material.C or an array rho are cached too, and an in-place write is seen.
    Elastic (including Rayleigh damping), Thermal and HyperElastic's mass declare
    every solution-independent term constant.
  • A constant=True term refuses a bound-method operator, and a list, dict, set or
    identity-compared object argument (breaking).
  • Term.Scaled(coef, slots=None) returns a copy multiplied by coef, outside the
    cache, so Rayleigh damping reuses the stiffness and mass integrations.
  • The term cache is dropped on a mesh notification, and a simulation observes a mesh
    assigned after construction.
  • Simu.Add_terms, Simu.Terms_Init and Term.Set are removed (breaking): a
    simulation is extended by subclassing it and composing Get_terms, and a value that
    changes between steps is a parameter of that subclass (see
    examples/CardiacElastoDynamics/utils.py). A simulation saved with added terms
    reloads without them.
  • Python 3.10 to 3.14 are supported: 3.9, end-of-life since October 2025, is dropped
    (breaking) and 3.14 is added. Annotations use X | Y instead of Union and
    Optional.
  • Docs: the gallery keeps its interactive scenes. docs/requirements.txt requires
    trame-vtk>=2.11.15 and pyvista>=0.49, and the build fails instead of silently
    falling back to static images. The how-to's RigidContact declares itself nonlinear.
  • CREDITS.md credits JAX and mpi4py.
  • Contributors: make format and make lint run black, ruff and mdformat at the
    versions pinned in the lint extra; CI runs make lint. All tracked Markdown is
    formatted with mdformat, wrapped at 88 columns.

Full Changelog: v4.0.0...v5.0.0