Material Models

Existing Models

The models related functions can be found here.

MethodRelated Model in PeriLab
Bond-basedBond-based Elastic
Ordinary state-basedPD Solid Elastic, PD Solid Plastic
Non-ordinary state-basedCorrespondence Elastic, Correspondence Plastic, Correspondence UMAT
Material ModelBond-based ElasticPD Solid ElasticPD Solid PlasticCorrespondence ElasticCorrespondence Plastic
Symmetry✔️✔️✔️✔️✔️
Poisson's/Young's/Bulk/Shear✔️✔️✔️✔️✔️
Yield Stress✔️✔️
Zero Energy Control✔️✔️
C11/C12/.../C66(✔️)(✔️)(✔️)(✔️)(✔️)
ParameterUnitDescription
Density$\left[\frac{kg}{m^3}\right]$Specific heat capacity of the block
Horizon$[m]$Radius of the neighborhood

Bond-based Elastic

The Bond-based Elastic calculates the linear elastic behavior of a simple bond-based material. The theory of the bond-based elastic material can be found here.

ParameterUnitDescription
Youngs Modulus$\left[N/m^2\right]$Young's modulus or elasticity modulus
Shear Modulus$\left[N/m^2\right]$Shear modulus
Bulk Modulus$\left[N/m^2\right]$Bulk modulus or compression modulus

One of theses parameters have to be defined.

Fixed Poisson's ratio

In the bond-based formulation the Poisson's ratio is fixed by 0.25 for 2D plane strain and 1/3 for 3D and 2D plane stress, respectively.

PD Solid Elastic

The PD Solid Elastic module calculates the isotropic linear elastic material law for a peridynamic solid material. The underlying theory can be found here.

ParameterUnitDescription
Youngs Modulus$\left[N/m^2\right]$Young's modulus or elasticity modulus
Shear Modulus$\left[N/m^2\right]$Shear modulus
Bulk Modulus$\left[N/m^2\right]$Bulk modulus or compression modulus
Poissons Ratio Modulus$\left[-\right]$Poisson's ratio

Two of these parameters have to be defined. The other two are determined automatically and can be used in the model if needed.

PD Solid Plastic

The PD Solid Plastic material uses elastic stresses and calculate the plastic part for a peridynamic solid material. Has to be combined with a function, which provides elastic stresses.

ParameterUnitDescription
Yield Stress$\left[N/m^2\right]$Yield stress

Correspondence Elastic

The Correspondence Elastic module calculates the fully anisotropic linear elastic material law. The underlying correspondence theory can be found here.

ParameterUnitDescription
Youngs Modulus$\left[N/m^2\right]$Young's modulus or elasticity modulus
Shear Modulus$\left[N/m^2\right]$Shear modulus or elasticity modulus
Bulk Modulus$\left[N/m^2\right]$Bulk modulus or compression modulus
Poissons Ratio Modulus$\left[-\right]$Poisson's ratio
C11, C12, ..., C66 (optional)$\left[N/m^2\right]$Parameter of the Hook matrix

For Correspondence Elastic you can provide all 27 elastic parameters if you like by adding C11,...,C66.

Isotropic elastic parameter

For the time step calculation two of the four isotropic elastic parameter have to be defined.

Material Rotation

If you define a field "Angles" for 2D or "Anglesx", "Anglesy" and "Anglesz" for 3D in the mesh file your material will be rotated. This helps to create an arbitrary material orientation.

Correspondence Plastic

The Correspondence Plastic material uses elastic stresses and calculate the plastic part. Has to be combined with a function, which provides elastic stresses.

ParameterUnitDescription
Yield Stress$\left[N/m^2\right]$Yield stress

Correspondence UMAT

The Correspondence UMAT can be used to include Abaqus user materials.

Replace ABAQUS Functions

No extra Abaqus functions should be called in the user subroutine. For example INCLUDE 'ABA_PARAM.INC' needs to be replaced by implicit real(8) (a-h,o-z)

You can call the user subroutine by defining path with a compiled Fotran library. [4] gives an overview about the interface for Peridigm. In PeriLab all fields in the UMAT interface are supported execpt these integer (NOEL, NPT, LAYER, KSPT, JSTEP, KINC) and float values (PNEWDT, CELENT). In the material module these values defined for the interfase and named as notsupportedint and notsupportedfloat, respectively.

ParameterType and RangeDescriptionOptional
FileStringPath and filename of the UMAT, e.g. "./src/Models/Material/UMATs/libusertest.so"No
Number of State VariablesInt $\geq$ 0Number of state variables; Defines the size of state variable field datamanager.createconstantnodefield("State Variables", Float64, numstate_vars)yes
Number of PropertiesInt $\geq$ 1Properties of the material; Needed for the propterty field datamanager.createconstantfreesizefield("Properties", Float64, (num_props, 1))
No
Property_iIDFloatiID is 1...Number of Properties. It has to be in order and can be utilized in the UMAT.No
UMAT Material NameString (maximum are 80 characters)Defines material names defined in the UMAT to destinguash between different areas of the Fortran routineYes
UMAT namein developmentShould allow the definition of own subroutine name. The standard will be UMATin development
Predefined Field NamesString separated by spaces $\geq0$Define all the fields in the mesh file which should be used as pre-defined values. An increment field is than defined as well. E.g. Predefined Field Names: "Temperature" "Color"; Temperature and Color must exist in the mesh file. They must be defined as Float or Int in that case.Yes

Compilation of the UMAT subroutine

In order to compile the UMAT subroutine you need to install gfortran. Have a look at this page. After installation you can compile the Fortran subroutine with the following command:

gfortran -shared -fPIC -o libusermat.so base.f

Model merging

In PeriLab you are able to combine models with each other, by simply adding a +. Therefore, modules can be merged and double coding can be avoided.

Elastic platic

If you want to run elastic platic please use Correspondence Elastic + Correspondence Plastic or PD Solid Elastic + PD Solid Plastic

Model order

The order is defined by the user. Because the plastic routines need stresses to work, make sure the materials which provide these stresses are before the plastic models.