Changelog¤
All releases and changes for the tatva library, pulled directly from GitHub.
0.10.1 (2026-04-27)¤
Bug Fixes¤
- compound: create basic sparsity pattern from compound classes (9d959d6)
- compound: incomplete nodal fields takes the local node ids now (a939beb)
- compound: stack fields with any dims if prefix is same & respect stack=False (cd64646)
- element: add value based equality for elements (ab784c5)
- element: corrects the gradient enteries (91aef4c)
- element: use einsum to support scalar, vector, and tensor fields (19cf253)
- lifter: add adapt_sparsity which combines augment & reduce (af6db56)
0.10.0 (2026-04-23)¤
Features¤
- constraint: parallel periodic constraint (f29ac8b)
- lifter: add reduce_adjoint to reduce a dual vector (deead9c)
- mesh: add utility function to extract local mesh from global mesh (0673b38)
- mpi: add a communication plan for partitioned meshes based on Compound layouts (4e98892)
- mpi: add all reduce plan for parallelization (79fc638)
- sparse: add sparsity pattern augmentation with lifter constraints (54daf22)
Bug Fixes¤
- compound: add helper to return global dof indices for Compound fields (e4abd97)
- compound: allow inheritance of Compound subclasses (1dc9e51)
- compound: clarify stacking logic & introduce AUTO sizing (3a3168a)
- compound: correct global indexing into stacked fields (8bae34d)
- compound: prevent fields with reserved names, prevent stacking with stack=False (5e4947e)
- compound: remove metaclass and move initialization to init_subclass (1dc9e51)
- compound: type of fields with AUTO in shape are NODAL by default (356b4a0)
- constraint: bug in sparsity pattern for periodic constraint (e1069f8)
- mpi: add function to reduce a dof layout (for lifter) (32173d0)
- mpi: exchange plan accepts sparsity pattern, allreduce also replace indptr, indices (3dcd509)
- mpi: makes hessian sparsity as optional arg in allreduce (a1d4b6b)
- test: update test (79fc638)
0.9.1 (2026-04-12)¤
Bug Fixes¤
- sparse: add linearized jacfwd with primal output (af72244)
0.9.0 (2026-03-27)¤
Features¤
- lifter: add lifted method/decorator to lift functions (2077ffb)
- operator: add an L2
projectmethod (98a16d6)
Bug Fixes¤
- compound: add Field.size attribute (cf8505d)
- lifter: make dof arrays dynamic Array (b2222bc)
- mesh: add _replace helper to update dataclass (2c1d9b6)
- mesh: add hmin and hmax methods (489b76a)
- mesh: hmin/hmax is the cell diameter which is 2*circumradius (6167223)
- mesh: hotfix find_containing_polygons that points exactly on boundary are valid (3f95f2f)
- minor fixes from code review (97c6bd4)
- operator: make interpolate jittable (d9fe62b)
- operator: set batch_size if None given (e57b362)
- operator: skip element bounds checks in traced context (1b7a0a7)
- sparse: make default for color_batch_size None but assign 0 (071af07)
- sparse: revert the default for colored_batch_size to max color (9ee95da)
- sparse: set default color_batch_size=max_color (2683d89)
Performance Improvements¤
- mesh: AABB search for interpolation in triangles (32ff68d)
0.8.1 (2026-03-23)¤
Bug Fixes¤
- make ColoredMatrix compatible with JAX>0.9.0 (ac51668)
0.8.0 (2026-03-16)¤
Features¤
- add quadratic Tri6 element (37cf37a)
- compound: add .at(...).set(...) logic to set subspaces (84d0c8d)
- compound: add ability to provide individual shaped fields in init (921f6c4)
- utils: add a decorator for virtual residual functions (#32) (c2d6db3)
Bug Fixes¤
- compound: fix compound stack_fields for scalar fields (92bf79f)
- compound: include default factory when recreating stacked fields (9ef3972)
- compound: manage field indices, and arr updates without materializing a dense integer array of all indices (17897a1)
- compound: preserve shape of scalar fields (don't enforce rank 2) (92bf79f)
- compound: remove compound metaclass getitem (e42ad40)
- element: move quadrature to instance, add quadrature as constructor args (#27) (06c9c19)
0.7.1 (2026-02-24)¤
Bug Fixes¤
- remove jax BCOO based code for master-slave sparsity (ac49fc5)
0.7.0 (2026-02-24)¤
Features¤
- sparse: add a ColoredMatrix type for sparse differentiation (2ab3214)
Bug Fixes¤
- adapt sparse benchmark with new api (93d1cf4)
- sparse: switch to scipy csr matrix in all sparsity pattern creation (2ab3214)
Performance Improvements¤
- sparse: precompute reconstruction of data from J_compressed (d2f6a37)
0.6.0 (2026-02-20)¤
Features¤
- element: add quadratic Line3 and Quad8 elements (#18) (37bffdd)
- lifter: renamed constraints; DirichletBC -> Fixed; PeriodicMap -> (f4b9a78)
- lifter: reworked Lifter with support for changing values (RuntimeValue) (f4b9a78)
Bug Fixes¤
- compound: refactor stack_fields into a class decorator (305b87f)
- element: allow interpolate func to accept nodal_coords (#16) (2042d98)
- lifter: clarify constraint contract and make constraints hashable for jax.jit static args (ad08049)
- lifter: support lifters as dynamic and static arguments to jitted (f4b9a78)
- sparse: pass args and kwargs directly to colored jacobian to prevent recompilation and slowness (2d497df)
- sparse: single jacfwd function with color batching by default (4f96770)
What's Changed¤
- non-critical code maintenance by @zrlf in https://github.com/smec-ethz/tatva/pull/13
- 15 allow elementinterpolate to accept nodal coords by @mohitpundir in https://github.com/smec-ethz/tatva/pull/16
- Quad8_Line3 by @youuwang in https://github.com/smec-ethz/tatva/pull/18
- Add runtime values for lifter constraints by @zrlf in https://github.com/smec-ethz/tatva/pull/17
- Few improvements to sparse module by @mohitpundir in https://github.com/smec-ethz/tatva/pull/19
- chore(main): release 0.6.0 by @github-actions[bot] in https://github.com/smec-ethz/tatva/pull/14
New Contributors¤
- @youuwang made their first contribution in https://github.com/smec-ethz/tatva/pull/18
Full Changelog: https://github.com/smec-ethz/tatva/compare/v0.5.1...v0.6.0
0.5.1 (2026-02-15)¤
Bug Fixes¤
- compound: respect default_factory for initialization of compound instances (#9) (7449120)
- element: corrected Hex8 implementation, test for elements added (70755e6)
0.5.0 (2026-02-10)¤
Features¤
- sparse: add coloring code (source mpundir) (0623e2c)
- sparse: add method to generate sparsity pattern with full master-slave dof map (from zrlf) (5d37d56)
Bug Fixes¤
- operator: removes check on quad points dimnension to be equal to coords dimension, necessary for 2D elements in 3D space (3827149)
- operator: replaces jax.vmap with batched jax.lax.map for memory efficiency and scalin (fbab11a)
- sparse: enables sparse jacfwd with args without performance issue (9ba9530)
- sparse: process color based jacobian in batches, replaces jax.linearize with jax.jvp (6b361d7)
- sparse: wraps jacfwd func to accept single parameter (9fe01e3)
0.4.0 (2026-01-27)¤
Features¤
- add solver_utils a Lifter class making bcs easier (29de30b)
- lifter: include periodic boundary conditions in the lifter (2e7ee32)
Bug Fixes¤
- lifter: implement improvements based on review (250a4e0)
- lifter: make constructor arguments 1 and 2 positional only (5230c75)
Documentation¤
- lifter: extend docs for lifter module (77de185)