Constitution#
- felupe.constitution.linear_elastic(dε, εn, σn, ζn, λ, μ, **kwargs)[source]#
3D linear-elastic material formulation.
Given state in point x (σn) (valid).
Given strain increment dε, so that ε = εn + dε.
Evaluation of the stress σ and the algorithmic consistent tangent modulus dσdε.
dσdε = λ 1 ⊗ 1 + 2μ 1 ⊙ 1
σ = σn + dσdε : dε
- Parameters
dε (ndarray) – Strain increment.
εn (ndarray) – Old strain tensor.
σn (ndarray) – Old stress tensor.
ζn (list) – List of old state variables.
λ (float) – First Lamé-constant.
μ (float) – Second Lamé-constant (shear modulus).
- felupe.constitution.linear_elastic_plastic_isotropic_hardening(dε, εn, σn, ζn, λ, μ, σy, K, **kwargs)[source]#
Linear-elastic-plastic material formulation with linear isotropic hardening (return mapping algorithm).
Given state in point x (σn, ζn=[εpn, αn]) (valid).
Given strain increment dε, so that ε = εn + dε.
Evaluation of the hypothetic trial state:
dσdε = λ 1 ⊗ 1 + 2μ 1 ⊙ 1
σ = σn + dσdε : dε
s = dev(σ)
εp = εpn
α = αn
f = ||s|| - sqrt(2/3) (σy + K α)
If f ≤ 0, then elastic step:
Set y = yn + dy, y=(σ, ζ=[εp, α]),
algorithmic consistent tangent modulus dσdε.
Else:
dγ = f / (2μ + 2/3 K)
n = s / ||s||
σ = σ - 2μ dγ n
εp = εpn + dγ n
α = αn + sqrt(2 / 3) dγ
Algorithmic consistent tangent modulus:
dσdε = dσdε - 2μ / (1 + K / 3μ) n ⊗ n - 2μ dγ / ||s|| ((2μ 1 ⊙ 1 - 1/3 1 ⊗ 1) - 2μ n ⊗ n)
- Parameters
dε (ndarray) – Strain increment.
εn (ndarray) – Old strain tensor.
σn (ndarray) – Old stress tensor.
ζn (list) – List of old state variables.
λ (float) – First Lamé-constant.
μ (float) – Second Lamé-constant (shear modulus).
σy (float) – Initial yield stress.
K (float) – Isotropic hardening modulus.