# Changelog

This file is automatically generated by [release-please](https://github.com/googleapis/release-please)
from conventional commits.  
All notable changes to this project will be documented here, following
[Semantic Versioning](https://semver.org/).

## [0.6.0](https://github.com/smec-ethz/tatva/compare/v0.5.1...v0.6.0) (2026-02-20)


### Features

* **element:** add quadratic Line3 and Quad8 elements ([#18](https://github.com/smec-ethz/tatva/issues/18)) ([37bffdd](https://github.com/smec-ethz/tatva/commit/37bffdd9f898d28fd7bf0ef857d51253b13baa1a))
* **lifter:** renamed constraints; DirichletBC -&gt; Fixed; PeriodicMap -&gt; ([f4b9a78](https://github.com/smec-ethz/tatva/commit/f4b9a78b2916ca323195c9ad66f5cf98cd3279e6))
* **lifter:** reworked Lifter with support for changing values (RuntimeValue) ([f4b9a78](https://github.com/smec-ethz/tatva/commit/f4b9a78b2916ca323195c9ad66f5cf98cd3279e6))


### Bug Fixes

* **compound:** refactor stack_fields into a class decorator ([305b87f](https://github.com/smec-ethz/tatva/commit/305b87fd4b3be30c34c6087d149776d59971e80d))
* **element:** allow interpolate func to accept nodal_coords ([#16](https://github.com/smec-ethz/tatva/issues/16)) ([2042d98](https://github.com/smec-ethz/tatva/commit/2042d9849e87e4e981aed8599fc74efd8b3a2666))
* **lifter:** clarify constraint contract and make constraints hashable for jax.jit static args ([ad08049](https://github.com/smec-ethz/tatva/commit/ad0804931cf57e077274d963ab4e965cf62b0f3b))
* **lifter:** support lifters as dynamic and static arguments to jitted ([f4b9a78](https://github.com/smec-ethz/tatva/commit/f4b9a78b2916ca323195c9ad66f5cf98cd3279e6))
* **sparse:** pass args and kwargs directly to colored jacobian to prevent recompilation and slowness ([2d497df](https://github.com/smec-ethz/tatva/commit/2d497dfd3d71d9685a5fa1ef88d4f6f75951c8f5))
* **sparse:** single jacfwd function with color batching by default ([4f96770](https://github.com/smec-ethz/tatva/commit/4f96770f01e2203a82a0cfa8695da6506ea193fe))

## [0.5.1](https://github.com/smec-ethz/tatva/compare/v0.5.0...v0.5.1) (2026-02-15)


### Bug Fixes

* **compound:** respect default_factory for initialization of compound instances ([#9](https://github.com/smec-ethz/tatva/issues/9)) ([7449120](https://github.com/smec-ethz/tatva/commit/74491201ec9a0672988f7a6f8718ebb3daaea2e3))
* corrected Hex8 implementation, test for elements added ([70755e6](https://github.com/smec-ethz/tatva/commit/70755e6d9993fd1c6313a438951ea2668650672d))
* corrected Hex8 implementation, test for elements added ([402080d](https://github.com/smec-ethz/tatva/commit/402080d7945d24c07c58d82fff2922ec1055fa42))

## [0.5.0](https://github.com/smec-ethz/tatva/compare/v0.4.0...v0.5.0) (2026-02-10)


### Features

* **sparse:** add coloring code (source mpundir) ([0623e2c](https://github.com/smec-ethz/tatva/commit/0623e2c6cb3f6c0b2959915bc48a2cbd38e397fb))
* **sparse:** add method to generate sparsity pattern with full master-slave dof map (from zrlf) ([5d37d56](https://github.com/smec-ethz/tatva/commit/5d37d56f8eb074cb9aee1789543003849227b014))


### Bug Fixes

* **operator:** removes check on quad points dimnension to be equal to coords dimension, necessary for 2D elements in 3D space ([3827149](https://github.com/smec-ethz/tatva/commit/382714951796c920cf16be1ee5e9eac7da3a9e63))
* **operator:** replaces jax.vmap with batched jax.lax.map for memory efficiency and scalin ([fbab11a](https://github.com/smec-ethz/tatva/commit/fbab11a9c5e8f7e8a990f2a8bf4ef524eb0bc376))
* **sparse:** enables sparse jacfwd with args without performance issue ([9ba9530](https://github.com/smec-ethz/tatva/commit/9ba953089032593c6d9d74b6279921428a131070))
* **sparse:** process color based jacobian in batches, replaces jax.linearize with jax.jvp ([6b361d7](https://github.com/smec-ethz/tatva/commit/6b361d704856102bd429d2f9b2a0e1d83fd65584))
* **sparse:** wraps jacfwd func to accept single parameter ([9fe01e3](https://github.com/smec-ethz/tatva/commit/9fe01e33db3a3a3c15d159d451793010a2132cbf))

## [0.4.0](https://github.com/smec-ethz/tatva/compare/v0.3.1...v0.4.0) (2026-01-27)


### Features

* add solver_utils a Lifter class making bcs easier ([29de30b](https://github.com/smec-ethz/tatva/commit/29de30b15827bfd1d1650e215d4439e082ff0556))
* **lifter:** include periodic boundary conditions in the lifter ([2e7ee32](https://github.com/smec-ethz/tatva/commit/2e7ee320ac72c02cdd367488228a23dba0b33b2b))


### Bug Fixes

* **lifter:** implement improvements based on review ([250a4e0](https://github.com/smec-ethz/tatva/commit/250a4e0ad224c4de614609a80194642ad3b97e6f))
* **lifter:** make constructor arguments 1 and 2 positional only ([5230c75](https://github.com/smec-ethz/tatva/commit/5230c750730f4299b188297454f3d1b8853d42e2))


### Documentation

* **lifter:** extend docs for lifter module ([77de185](https://github.com/smec-ethz/tatva/commit/77de185d15ff534f846694a104854fe09379beda))

## v0.3.1 (2025-10-14)

### Fix

- **operator**: computes detJ with quad weights at initialization (e40b699)
- **operator**: moving detJ and detJ weight calculation to initalization (dc0b03d)

## v0.3.0 (2025-09-23)

### Feat

- **operator**: mesh and element validation in **post_init** (0978269)
- **mesh**: add dimension arg (f730de8)
- **mesh**: add generation of quad mesh in 2d (d09036a)

### Fix

- **mesh**: add correctly the element type and dim arguments also to rectangle() (42d8951)
- **plotting**: add import check and verbose error if optional package matplotlib is missing (035ea71)
- **plotting**: remove personal config + bring simple plot methods up to date (064cda9)

### Refactor

- **operator**: simplify api by removing decorator functionality for integrate, eval, grad (4609bae)
- **element**: move elements to submodule (a89c875)

## v0.2.0 (2025-09-22)

### Feat

- **operator**: add to map an argument "element_quantity" to specify arguments which are not nodal but elemental values (5f0e3d6)
- **operator**: add map_over_element which maps a generic function over all elements but not gauss points !9 (1ffd67c)
- **operator**: map method to map over any function (provided by the element) given a certain signature !9 (62deb78)
- **element**: add tetrahedron and hexahedron elements !10 (d92b934)
- **compound**: add functionality to reorder the array by stacking fields (make hessian diagonal -> easy sparsity pattern) (6ce6f49)

### Refactor

- **operator**: add generic element type to operator for clearer static typing (29adaf9)
- **compound**: update compound class (fba347e)

## v0.1.2 (2025-09-16)

### Fix

- update version of jax to >=0.4.1 (fc6a34d)
- remove autovmap and replacing it with dependency of the original project (1cb17aa)

## v0.1.1 (2025-09-11)

### Fix

- **plotting**: removes imports of cmcrameri (32694c1)

## v0.1.0 (2025-09-03)

Initial release.
