Andrey Latyshev ; Jérémy Bleyer ; Corrado Maurini ; Jack Hale - Expressing general constitutive models in FEniCSx using external operators and algorithmic automatic differentiation

jtcam:14449 - Journal of Theoretical, Computational and Applied Mechanics, September 22, 2025 - https://doi.org/10.46298/jtcam.14449
Expressing general constitutive models in FEniCSx using external operators and algorithmic automatic differentiationArticle

Authors: Andrey Latyshev ORCID1,2; Jérémy Bleyer ORCID3,4,5,6,7; Corrado Maurini ORCID2,8,6; Jack Hale ORCID1


Many problems in solid mechanics involve general and non-trivial constitutive models that are difficult to express in variational form. Consequently, it can be challenging to define these problems in automated finite element solvers, such as the FEniCS Project, that use domain-specific languages specifically designed for writing variational forms. In this article, we describe a methodology and software framework for FEniCSx / DOLFINx that enables the expression of constitutive models in nearly any general programming language. We demonstrate our approach on two solid mechanics problems; the first is a simple von Mises elastoplastic model with isotropic hardening implemented with Numba, and the second a Mohr-Coulomb elastoplastic model with apex smoothing implemented with JAX. In the latter case we show that by leveraging JAX's algorithmic automatic differentiation transformations we can avoid error-prone manual differentiation of the terms necessary to resolve the constitutive model. We show extensive numerical results, including Taylor remainder testing, that verify the correctness of our implementation. The software framework and fully documented examples are available as supplementary material under the LGPLv3 or later license.


Published on: September 22, 2025
Accepted on: March 27, 2025
Submitted on: October 14, 2024
Keywords: [SPI.MECA.SOLID]Engineering Sciences [physics]/Mechanics [physics.med-ph]/Solid mechanics [physics.class-ph], [INFO.INFO-CE]Computer Science [cs]/Computational Engineering, Finance, and Science [cs.CE], [INFO.INFO-MO]Computer Science [cs]/Modeling and Simulation, [INFO.INFO-NA]Computer Science [cs]/Numerical Analysis [cs.NA], [SPI.MECA.GEME]Engineering Sciences [physics]/Mechanics [physics.med-ph]/Mechanical engineering [physics.class-ph], [SPI.MECA.MSMECA]Engineering Sciences [physics]/Mechanics [physics.med-ph]/Materials and structures in mechanics [physics.class-ph], [en] automated finite element solvers, Numba, JAX, FEniCSx, external operators, algorithmic automatic differentiation, constitutive models

Publications

References
Latyshev, A. (2024). Supplementary material: Expressing general constitutive models in FEniCSx using external operators and algorithmic automatic differentiation [Graphic]. Zenodo. 10.5281/ZENODO.13908686 1
Latyshev, A. (2024). Supplementary material: Expressing general constitutive models in FEniCSx using external operators and algorithmic automatic differentiation [Graphic]. Zenodo. 10.5281/ZENODO.13908687 1
Latyshev, A., & Hale, J. S. (with Bleyer, J., Dokken, J. S., & Maurini, C.). (2024). dolfinx-external-operator (Version v0.9.0). Zenodo. 10.5281/ZENODO.10907417 1
  • 1 HAL

Consultation statistics

This page has been seen 16 times.
This article's PDF has been downloaded 10 times.