ArmstrongFrederick1D
1D Armstrong-Frederick Steel Model
This model is a uniaxial version of the ArmstrongFrederick
steel model. Readers can also refer to the corresponding section in Constitutive Modelling Cookbook for details on the theory.
Theory
A von Mises type yield function is used. The associated plasticity is assumed. Both isotropic and kinematic hardening rules are employed.
Isotropic Hardening
An exponential function is added to the linear hardening law.
where is the initial elastic limit (yielding stress), is the saturation stress, is the linear hardening modulus, is a constant that controls the speed of hardening, is the rate of accumulated plastic strain .
Kinematic Hardening
The Armstrong-Frederick type rule is used. Multiple back stresses are defined,
in which
where and are material constants.
Syntax
The following applies to v3.6
and later. Check the older syntax in the older version of the documentation.
material ArmstrongFrederick1D (1) (2) (3) (4) (5) (6) [(7) (8)...] [9]
# (1) int, unique material tag
# (2) double, elastic modulus
# (3) double, yield stress, \sigma^i
# (4) double, linear hardening modulus, K
# (5) double, saturation stress, \sigma^s
# (6) double, m^s, saturation rate
# (7) double, a_i, kinematic hardening
# (8) double, b_i, kinematic hardening
# [9] double, density, default: 0.0
Example
Kinematic Hardening Only With No Elastic Range
material ArmstrongFrederick1D 1 2E2 0. 0. 0. 0. 50 500.
The maximum stress can be computed as
Accuracy
from plugins import ErrorLine
# note: the dependency `ErrorLine` can be found in the following link
# https://github.com/TLCFEM/suanPan-manual/blob/dev/plugins/scripts/ErrorLine.py
young_modulus = 2e5
yield_stress = 4e2
hardening_ratio = 0.01
with ErrorLine(
f"material ArmstrongFrederick1D 1 {young_modulus} {yield_stress} {hardening_ratio * young_modulus} 500 5 500 5",
ref_strain=yield_stress / young_modulus,
ref_stress=yield_stress,
) as error_map:
error_map.contour("af1d", center=-5, size=10, type={"abs"})
Last updated