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