/dolfinx_materials

dolfinx_materials is a Python add-on package to the dolfinx interface to the FEniCSx project. It enables the user to define complex material constitutive behaviours which are not expressible using classical UFL operators

Primary LanguagePythonCreative Commons Attribution Share Alike 4.0 InternationalCC-BY-SA-4.0

dolfinx_materials : A Python package for advanced material modelling

Author: Jeremy Bleyer, jeremy.bleyer@enpc.fr, Laboratoire Navier, Ecole des Ponts ParisTech

Navier

About

dolfinx_materials is a Python add-on package to the dolfinx interface to the FEniCSx project. It enables the user to define complex material constitutive behaviours which are not expressible using classical UFL operators.

Current version supports FEniCSx version 0.8.0.

The library supports in particular:

  • MFront constitutive behaviours compiled with the generic interface, relying on the MFrontGenericInterfaceSupport project
  • Python-based constitutive relations, using numpy/scipy for instance
  • constitutive relations based on inference of trained Neural Networks
  • constitutive relations solved using external libraries including convex optimization libraries such as cvxpy

Extensibility

Disclaimer: The following functionalities are not currently available but should in theory be possible to implement relatively easily. Contributions are most welcome!

This library should also help you in:

  • writing additional interface to other material libraries such as UMATs of Abaqus for instance
  • performing multi-scale simulations (FE²) where constitutive update is obtained from the solution of a problem formulated on a RVE.
  • implementing data-driven constitutive models

Installation

Simply clone the dolfinx_materials public repository

and install the package by typing

pip install dolfinx_materials/ --user

Note: With the latest pip versions, you might need to add --break-system-packages to install it in your system Python environment. Or use pipx.