DDCM
A collection of numerical tools for Data-Driven Computational Mechanics.
Created by Erik Prume at the Institute of Applied Mechanics, Prof. Stefanie Reese, RWTH Aachen University.
Introduction
For a background on data-driven computational mechanics we refer to
Kirchdoerfer, T., & Ortiz, M. (2016). Data-driven computational mechanics. Computer Methods in Applied Mechanics and Engineering, 304, 81-101.
For the idea behind the non-intrusive coupling to FEM-environments we refer to
Prume, E., Stainier, L., Ortiz, M., & Reese, S. (2023). A data‐driven solver scheme for inelastic problems. PAMM, 23(1), e202200153. https://doi.org/10.1002/pamm.202200153If you are using this library, please cite this article.
Within this framework, two essential operations are involved:
- For a given stress field, compute the closest stress field which satisfies mechanical equilibrium
- For a given strain field, compute the closest strain field which satisfies kinematical compatibility
This repository provides these two operations using the open-source FEM tool FEniCSx by
-
equilibrium_stress_field = project_stress(stress_field)
-
compatible_strain_field = project_strain(strain_field)
fenicsx_input_example.ipynb
.
Other operations related to the method are not (yet) included in this repository.
Installation
For the projection operations, only FEniCS / dolfinx (https://github.com/FEniCS/dolfinx) is required.
The recommended way is the installation using conda.
Within your (possibly empty) conda environment, install FEniCS / dolfinx with:
conda install -c conda-forge fenics-dolfinx mpich pyvista