Experimental_PANN_learning

Learning a hyperelastic constitutive model from 3D experimental data

This work was conducted at Université Paris-Saclay, CentraleSupélec, ENS Paris-Saclay, CNRS, LMPS – Laboratoire de Mécanique Paris-Saclay, Gif-sur-Yvette, France.

Static Badge License: CC BY-NC-SA 4.0

This repository contains code and data for developing and using Physics-Augmented Neural Networks (PANN) aimed at modeling isotropic hyperelastic material behavior. It integrates TensorFlow neural network models with finite element analysis (FEA) and experimental displacement data obtained from DVC.

Code and data used in:

M. Bourdyot, M. Compans, R. Langlois, B. Smaniotto, E. Baranger, C. Jailin, Learning a hyperelastic constitutive model from 3D experimental data, submitted to publication.

(NH residuals forces)

(PANN residuals forces)

Repository Structure

This repo is organized with 2 independent tutorials and a common set of basic methods (PANN_lib).

├───3D_learning_core
│   └───Main_exp_EUCLID.py
├───DVC_data
│   ├───connectivity_scan1.csv
│   └───coordinates_scan1.csv
│   └───displacements_scan1-1.csv
│   └───displacements_scan2-1.csv
│   └───displacements_scan3-1.csv
│   └───displacements_scan4-1.csv
├───PANN_lib
│   ├───FEA_fun.py
│   ├───FEA_mesh.py
│   └───NN_3D_models.py
│   ├───Pvista_plots.py
│   ├───training_utils.py
│   └───utils.py

Requirements

Installation

Create a virtual environment and install the required libraries:

pip install tensorflow matplotlib numpy pandas pyvista seaborn tensorboard

or

conda install tensorflow matplotlib numpy pandas pyvista seaborn tensorboard

Getting Started

cd tuto_exp_EUCLID_3D
python Main_exp_EUCLID.py

Feel free to contribute, start a Github discussion, or open issues!