Repository navigation
v5.0.0
- A
constant=Trueterm 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.Cor an arrayrhoare cached too, and an in-place write is seen.
Elastic(including Rayleigh damping),ThermalandHyperElastic's mass declare
every solution-independent term constant. - A
constant=Trueterm 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 bycoef, 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_InitandTerm.Setare removed (breaking): a
simulation is extended by subclassing it and composingGet_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 useX | Yinstead ofUnionand
Optional. - Docs: the gallery keeps its interactive scenes.
docs/requirements.txtrequires
trame-vtk>=2.11.15andpyvista>=0.49, and the build fails instead of silently
falling back to static images. The how-to'sRigidContactdeclares itself nonlinear. CREDITS.mdcredits JAX and mpi4py.- Contributors:
make formatandmake lintrun black, ruff and mdformat at the
versions pinned in thelintextra; CI runsmake lint. All tracked Markdown is
formatted with mdformat, wrapped at 88 columns.
Full Changelog: v4.0.0...v5.0.0