ConstitutiveModels.cauchy_stress — Methodcauchy_stress(
model::Union{ConstitutiveModels.AbstractMechanicalModel, ConstitutiveModels.AbstractThermoMechanicalModel},
props,
Δt,
∇u,
θ,
Z,
args...
) -> Tuple{Any, Any}
ConstitutiveModels.helmholtz_free_energy — MethodExpected abstract interface where
Inputs:
props - array of properties
Δt` - time step
∇θ - absolute temperature gradient
θ - absolute temperature
Z - current (old) state variable array
args - potentially additional arguments for special models
Ouputs:
$ψ$ - helmholtz free energy
$\mathcal{Z}$ - new state variable array (different from input Z)
helmholtz_free_energy(
_::Union{ConstitutiveModels.AbstractMechanicalModel, ConstitutiveModels.AbstractThermoMechanicalModel},
props,
Δt,
∇u,
θ,
Z,
args...
) -> Tuple{Any, Any}
ConstitutiveModels.material_tangent — MethodExpected abstract interface where
Inputs:
props - array of properties
Δt` - time step
∇θ - absolute temperature gradient
θ - absolute temperature
Z - current (old) state variable array
args - potentially additional arguments for special models
Ouputs:
$\mathbf{P}$ - first Piola-Kirchoff stress tensor
$\mathcal{Z}$ - new state variable array (different from input Z)
If this method is not defined for a model, it will fallback to the current default AD interface in ConstitutiveModels.jl by differentiating the output of helmholtz_free_energy with respect to ∇u, e.g.
$\mathbb{A} = \frac{\partial^2\psi}{\partial\nabla\mathbf{u}\partial\nabla\mathbf{u}} = \frac{\partial^2\psi}{\partial\mathbf{F}\partial\mathbf{F}}$
material_tangent(
model::Union{ConstitutiveModels.AbstractMechanicalModel, ConstitutiveModels.AbstractThermoMechanicalModel},
props,
Δt,
∇u,
θ,
Z,
args...
) -> Any
ConstitutiveModels.pk1_stress — MethodExpected abstract interface where
Inputs:
props - array of properties
Δt` - time step
∇θ - absolute temperature gradient
θ - absolute temperature
Z - current (old) state variable array
args - potentially additional arguments for special models
Ouputs:
$\mathbf{P}$ - first Piola-Kirchoff stress tensor
$\mathcal{Z}$ - new state variable array (different from input Z)
If this method is not defined for a model, it will fallback to the current default AD interface in ConstitutiveModels.jl by differentiating the output of helmholtz_free_energy with respect to ∇u, e.g.
$\mathbf{P} = \frac{\partial\psi}{\partial\nabla\mathbf{u}} = \frac{\partial\psi}{\partial\mathbf{F}}$
pk1_stress(
model::Union{ConstitutiveModels.AbstractMechanicalModel, ConstitutiveModels.AbstractThermoMechanicalModel},
props,
Δt,
∇u,
θ,
Z,
args...
) -> Tuple{Any, Any}