Result: Integrating custom constitutive models into FEniCSx: A versatile approach and case studies.
Further Information
The development and integration of user-defined constitutive relationships into finite element (FE) tools using standardized interfaces play a pivotal role in advancing the capabilities of FE solvers for structural mechanics applications. While commercial FE solvers like Abaqus and Ansys have designed their interfaces to provide custom stresses, tangents, and updated history variables, the open-source solver FEniCSx remains efficient only when the constitutive update has an analytical representation. This restricts the application of FEniCSx for non-linear structural mechanics. Since FEniCSx has become a powerful and popular open-source tool for solving partial differential equations, particularly due to its automatic computation of Hessians, we aim to develop a generalized interface to enhance its capability for constitutive modeling. This approach will address complex constitutive equations that require iterative solutions at the quadrature point level. Specific implementation challenges, such as using return-mapping procedures, can then be managed commonly. The provided interface for custom constitutive models offers a versatile way to implement them in various languages, including C++, Python, Rust, and Fortran. Finally, with UMATs for viscoplastic models as an example, we demonstrate how existing user subroutines can be incorporated into the interface and utilized within the FEniCSx framework. • A Python package for nonlinear constitutive models in FEniCSx is introduced. • Python bindings enable language-agnostic use with C++, Rust, and Fortran-based UMATs. • A C++ wrapper for UMATs provides a consistent Python interface. • This is a first step toward tool-independent constitutive models for FEM solvers. [ABSTRACT FROM AUTHOR]