Skip to content

YLD0418P

The YLD0418P material implements an isotropic hardening model using the YLD2004-18P yield criterion with either orthotropic or isotropic elasticity.

References

  1. 10.1016/j.ijplas.2004.06.004

Syntax

Orthotropic Elasticity

Text Only
material YLD0418P (1) (2...7) (8...10) (11...28) (29) (30) (31) (32) (33) [34]
# (1) int, unique material tag
# (2...7) double, six moduli: E_{xx}, E_{yy}, E_{zz}, G_{xy}, G_{yz}, G_{zx}
# (8...10) double, three poissions ratios: v_{xy}, v_{yz}, v_{xz}
# (11...28) double, 18 model parameters, see documentation for details
# (29) double, exponent
# (30) double, reference stress
# (31) int, hardening backbone expression tag
# (32) double, kinematic hardening rate
# (33) double, kinematic hardening bound
# [34] double, density, default: 0.0

Isotropic Elasticity

Text Only
material YLD0418PISO (1) (2) (3) (4...21) (22) (23) (24) (25) (26) [27]
# (1) int, unique material tag
# (2) double, elastic modulus
# (3) double, poissions ratio
# (4...21) double, 18 model parameters, see documentation for details
# (22) double, exponent
# (23) double, reference stress
# (24) int, hardening backbone expression tag
# (25) double, kinematic hardening rate
# (26) double, kinematic hardening bound
# [27] double, density, default: 0.0

Remarks

The hardening expression shall be a simple scalar-valued expression. Check the corresponding page for details.

If any of kinematic hardening rate or bound is zero, the kinematic hardening is disabled. The local return mapping uses different algorithms depending on whether the kinematic hardening is enabled or not. Thus, if kinematic hardening is not important, one shall consider disabling it to improve numerical performance.

The reference stress is used to normalize the yield surface to avoid potential numerical issues. It shall be set to a proper value, for example, the initial yield stress.

The isotropic hardening can be disabled by providing a hardening expression that always returns zero.

Example

Text Only
1
2
3
4
5
6
7
8
expression SimpleScalar 1 x 1+.02x

material YLD0418PISO 1 1E4 .25 \
1.241024 1.078271 1.216463 1.223867 1.093105 0.889161 0.501909 0.557173 1.349094 \
0.775366 0.922743 0.765487 0.793356 0.918689 1.027625 1.115833 1.112273 0.589787 \
8 100. \
1 \
0. 0.

Iso-error Map

The following example iso-error maps are obtained via the following script.

Python
from plugins import ErrorMap
# note: the dependency `ErrorMap` can be found in the following link
# https://github.com/TLCFEM/suanPan-manual/blob/dev/plugins/scripts/ErrorMap.py

modulus = 1e4
yield_stress = 10.0

with ErrorMap(
    f"material YLD0418P 1 {modulus} {0.4 * modulus} {0.3 * modulus} {0.8 * modulus} {0.7 * modulus} {0.9 * modulus} .25 .3 .2 \
1.241024 1.078271 1.216463 1.223867 1.093105 0.889161 0.501909 0.557173 1.349094 \
0.775366 0.922743 0.765487 0.793356 0.918689 1.027625 1.115833 1.112273 0.589787 \
8 {yield_stress} \
1 \
{0.05 * modulus} {yield_stress}\nexpression SimpleScalar 1 x 1+.01x",
    ref_strain=yield_stress / modulus,
    ref_stress=yield_stress,
    contour_samples=50,
) as error_map:
    error_map.contour("yld0418p.uniaxial", center=(-3, 0), size=1, type={"rel", "abs"})
    error_map.contour("yld0418p.biaxial", center=(-3, -3), size=1, type={"rel", "abs"})

absolute error uniaxial absolute error biaxial relative error uniaxial relative error biaxial