Skip to main content

jaxmat: Automated material constitutive modeling in JAX

jaxmat is an open-source library for implementing material constitutive models in a way that integrates seamlessly with modern machine learning frameworks and existing finite element software.

Aim and scope

The library is implemented in JAX and heavily relies on additional features provided by the JAX ecosystem, in particular the equinox, diffrax, and optimistix libraries. The design choices are based on the following premises:

  1. User-friendliness: jaxmat provides domain-specific abstractions that simplify the definition of complex material models. It is not a database of hard-coded material behaviors with fixed parameters. Instead, it offers a generic and extensible framework for users to define, compose, and calibrate their own constitutive models with minimal boilerplate.

  2. Differentiability: We fully exploit JAX’s Automatic Differentiation (AD) capabilities to eliminate the need for manually deriving consistent tangent operators, Jacobians of implicit systems, normal vectors to plastic surfaces, hyperelastic stress expressions, and more. In jaxmat, every input and parameter of a constitutive model is differentiable, making it easy to compute sensitivities with respect to material or even algorithmic parameters! These features are essential for tasks such as material parameter identification, solving inverse problems, and performing uncertainty quantification.

  3. Modularity: The library is designed to be highly modular, allowing users to easily mix and match modeling components. For example, in a generic elastoviscoplastic model, you can independently swap out the plastic yield surface, the hardening laws or the viscous flow, independently. Each component can also be replaced with a data-driven alternative, such as a neural network, without disrupting the overall structure.

  4. Efficiency: jaxmat makes full use of JAX features such as Just-In-Time compilation (jax.jit), automatic vectorization (jax.vmap) and hardware acceleration (CPU or GPU through the XLA compiler). Constitutive models can be evaluated extremely efficiently and in parallel across batches of material points. Additionally, we have designed and selected algorithms specifically suited to the needs of computational mechanics for maximum performance, robustness, and generality, see the section.

Installation

Simply run pip install. Use jaxmat[gpu] for GPU support.

pip install jaxmat

Citing

The project can be cited from Zenodo:

DOI

Acknowledgements

ERC banner

Funded by the European Union (ERC, Automatix, CoG project no 101229452). Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Research Council. Neither the European Union nor the granting authority can be held responsible for them.

Metadata

Release files for jaxmat 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jaxmat 0.0.4
File Size Uploaded
jaxmat-0.0.4.tar.gz 118.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jaxmat 0.0.4
File Interpreter ABI Platform
jaxmat-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 263.1 kB

Release files / jaxmat-0.0.4.tar.gz

Download URL jaxmat-0.0.4.tar.gz
Size 118.3 kB
Tags Source
SHA-256 checksum
How to use checksums
e761b7a875bee82aaac0c4d221d66fe26178435339b91e69aae8cda52851efaa
BLAKE2b-256 checksum
How to use checksums
7f1fe789933f4ae21326ee365cf767b013370fe09fa27f62b40f6d8150e5dec8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

Release files / jaxmat-0.0.4-py3-none-any.whl

Download URL jaxmat-0.0.4-py3-none-any.whl
Size 144.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab8a3438f2986294a70ab657b4ca627438bc2c8d95d21c3993053a4cd98c07d9
BLAKE2b-256 checksum
How to use checksums
b7d7665af1d324f9c94e6abc35faedfcb3a1728cd3847a3bca16121885fe24ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page