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}