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.
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.
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
3D_training_core/
: Main scripts for model training and validation.DVC_data/
: CSV files (coordinates_scan1.csv
, connectivity_scan1.csv
, displacements_scan*.csv
) with the experimental datasets.PANN_lib/
: Core Python libraries for FEA functions, PANN, and traditional models, training, and visualization.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
cd tuto_exp_EUCLID_3D
python Main_exp_EUCLID.py
Feel free to contribute, start a Github discussion, or open issues!