pub trait FirstOrderRoot<V, T1, T2, T3>{
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§
Required Methods§
Sourcefn root(
&self,
applied_load: AppliedLoad,
solver: impl FirstOrderRootFinding<Self::Variables, TensorTuple<FirstPiolaKirchhoffTangentStiffness, TensorTuple<T1, TensorTuple<T2, T3>>>, Self::Variables>,
) -> Result<(DeformationGradient, V), ConstitutiveError>
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.