FirstOrderRoot

Trait FirstOrderRoot 

Source
pub trait FirstOrderRoot<V, T1, T2, T3>
where T1: Tensor, T2: Tensor, T3: Tensor, V: Tensor,
{ type Variables; // Required method fn root( &self, applied_load: AppliedLoad, solver: impl FirstOrderRootFinding<Self::Variables, TensorTuple<FirstPiolaKirchhoffTangentStiffness, TensorTuple<T1, TensorTuple<T2, T3>>>, Self::Variables>, ) -> Result<(DeformationGradient, V), ConstitutiveError>; }
Expand description

First-order root-finding methods for elastic constitutive models with internal variables.

Required Associated Types§

Source

type Variables

Type representing all variables.

Required Methods§

Source

fn root( &self, applied_load: AppliedLoad, solver: impl FirstOrderRootFinding<Self::Variables, TensorTuple<FirstPiolaKirchhoffTangentStiffness, TensorTuple<T1, TensorTuple<T2, T3>>>, Self::Variables>, ) -> Result<(DeformationGradient, V), ConstitutiveError>

Solve for the unknown components of the deformation gradient under an applied load.

\mathbf{P}(\mathbf{F}) - \boldsymbol{\lambda} - \mathbf{P}_0 = \mathbf{0}

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T, V, T1, T2, T3> FirstOrderRoot<V, T1, T2, T3> for T
where T1: Tensor, T2: Tensor, T3: Tensor, T: ElasticIV<V, T1, T2, T3>, V: Tensor,