ConstitutiveModels.cauchy_stressMethod
cauchy_stress(
    model::Union{ConstitutiveModels.AbstractMechanicalModel, ConstitutiveModels.AbstractThermoMechanicalModel},
    props,
    Δt,
    ∇u,
    θ,
    Z,
    args...
) -> Tuple{Any, Any}
source
ConstitutiveModels.helmholtz_free_energyMethod

Expected 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}
source
ConstitutiveModels.material_tangentMethod

Expected 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
source
ConstitutiveModels.pk1_stressMethod

Expected 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}
source