Material
This class is provided as a demonstration example.
method  | 
input  | 
returns  | 
description  | 
|---|---|---|---|
__init__(…)  | 
parameters as {‘E’:10.0}  | 
constructor. Sets parameters for this material and initializes all internal variables  | 
|
getArea()  | 
\(A\)  | 
return cross section area from parameters[‘A’]  | 
|
getStress()  | 
\(\sigma\)  | 
request axial stress  | 
|
getStiffness  | 
\(E_t\)  | 
request axial stiffness  | 
|
setStrain(eps)  | 
strain \(\varepsilon\)  | 
update state for a user provided axial strain value  | 
name  | 
type  | 
description  | 
|---|---|---|
params  | 
dict  | 
default parameters: {‘E’:100., ‘nu’:0.0, ‘fy:1.0e30} Holds user provided parameters (MOE, Poisson’s ratio, yield stress)  | 
plastic_strain  | 
float  | 
internal state variable.  | 
sig  | 
float  | 
holds current stress  | 
Et  | 
float  | 
holds current materil tangent modulus  | 
Equations
Elastic trial state:
1.1 \(\sigma = E * (\varepsilon - \varepsilon_P)\)
1.2 \(E_t = E\)
Yield check: \(f = ||\sigma|| - f_y\)
IF \(f \ge 0\):
3.1. \(\Delta\varepsilon_P = \text{sign}(\sigma) * \frac{f}{E}\)
3.2. \(\sigma = \sigma - E * \Delta\varepsilon_P\)
3.3. \(E_t = E_t - E\)