Jupyter notebooks

The pyLabFEA package is conveniently used with Jupyter notebooks. Available notebooks with tutorials on linear and non-linear FEA, homogenization of elastic and elastic-plastic material behavior, and constitutive models based on machine learning algorithms are contained in the directory ‘notebooks’ and can be accessed via index.ipynb.

The Jupyter notebooks of the pyLabFEA tutorials are directly accessible on Binder

https://mybinder.org/badge_logo.svg

The following tutorials and research applications refer to Jupyter notebooks provided in the repository.

Tutorial 1: Introduction

pyLabFEA_Introduction
In this tutorial, the basic steps of using the pyLabFEA package for elastic materials are demonstrated.

Tutorial 2: Composites

pyLabFEA_Composites
The properties of composites made from different elastic materials are analyzed, and the numerical solution is compared with the expected values from mechanical models.

Tutorial 3: Equivalent Stress

pyLabFEA_Equiv-Stress
Introduction to equivalent stresses as basis for plastic flow rules.

Tutorial 4: Plasticity

pyLabFEA_Plasticity
Non-linear material behavior in form of plasticity and linear strain hardening is introduced in this tutorial.

Tutorial 5: Homogenization

pyLabFEA_Homogenization
Laminate structures with different elastic-plastic materials are analyzed with respect to their global mechanical behavior.

Application 1: Machine Learning Flow Rule for Hill-type plasticity

pyLabFEA_ML-FlowRule-Hill
A machine learning algorithm is trained with data from an anisotropic Hill-type yield criterion for pure normal stresses to be used as constitutive model for anisotropic plasticity of metals.

Application 2: Machine Learning Flow Rule for Tresca plasticity

pyLabFEA_ML-FlowRule-Tresca
A machine learning algorithm is trained with data from a Tresca yield criterion for pure normal stresses to be used as constitutive model for plasticity of metals.

Application 3: Training of Machine Learning flow rule with full tensorial stresses

pyLabFEA_ML-FlowRule-Training
A machine learning algorithm is trained with full tensorial stress data, including normal and shear stresses, from anisotropic Hill and Barlat-type yield criteria to be used as constitutive model for anisotropic plasticity of metals.

Examples

Python routines contained in the directory ‘examples’ demonstrate

  • how ML flow rules can be trained based on reference materials with significant plastic anisotropy, as Hill or Barlat reference materials, but also for isotropic J2 plasticity. The training data consists of different stress tensors that mark the onset of plastic yielding of the material. It is important that these stress tensors cover the onset of plastic yielding in the full 6-dimensional stress space, including normal and shear stresses. The trained ML flow rules can be used in form of a user material (UMAT) for the commercial FEA package Abaqus.

  • how more complex 2D models can be setup, e.g. an elastic inclusion in an elasto-plastic matrix. Generally, models in pyLabFEA can have several sections where each section is associated to a different material. For structured meshes, the assignment of each element to a section (or material) can be defined simply a 2D array, that has the same shape as the arrangement of elements in the model.