Skip to content
Snippets Groups Projects

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.202200153

If 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)
For the details, we refer to the example 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