pub struct TensorTuple<T1, T2>(pub T1, pub T2)
where
T1: Tensor,
T2: Tensor;Expand description
A fixed-size nested collection of different tensors.
Tuple Fields§
§0: T1§1: T2Trait Implementations§
Source§impl<T1, T2> Add for TensorTuple<T1, T2>
impl<T1, T2> Add for TensorTuple<T1, T2>
Source§impl<T1, T2> Add<&TensorTuple<T1, T2>> for TensorTuple<T1, T2>
impl<T1, T2> Add<&TensorTuple<T1, T2>> for TensorTuple<T1, T2>
Source§impl<T1, T2> AddAssign for TensorTuple<T1, T2>
impl<T1, T2> AddAssign for TensorTuple<T1, T2>
Source§fn add_assign(&mut self, tensor_tuple: Self)
fn add_assign(&mut self, tensor_tuple: Self)
Performs the
+= operation. Read moreSource§impl<T1, T2> AddAssign<&TensorTuple<T1, T2>> for TensorTuple<T1, T2>
impl<T1, T2> AddAssign<&TensorTuple<T1, T2>> for TensorTuple<T1, T2>
Source§fn add_assign(&mut self, tensor_tuple: &Self)
fn add_assign(&mut self, tensor_tuple: &Self)
Performs the
+= operation. Read moreSource§impl<T1, T2> AssertEq for TensorTuple<T1, T2>
impl<T1, T2> AssertEq for TensorTuple<T1, T2>
fn eq(a: Self, b: TensorTuple<T1, T2>) -> Result<(), AssertionError>
fn eq_within_tols( tols: &Assert, a: Self, b: TensorTuple<T1, T2>, ) -> Result<(), AssertionError>
Source§impl<T1, T2> Clone for TensorTuple<T1, T2>
impl<T1, T2> Clone for TensorTuple<T1, T2>
Source§fn clone(&self) -> TensorTuple<T1, T2>
fn clone(&self) -> TensorTuple<T1, T2>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T1, T2> Debug for TensorTuple<T1, T2>
impl<T1, T2> Debug for TensorTuple<T1, T2>
Source§impl<T1, T2> Default for TensorTuple<T1, T2>
impl<T1, T2> Default for TensorTuple<T1, T2>
Source§impl<T1, T2, T> Differentiable<T> for TensorTuple<T1, T2>where
T1: Differentiable<T> + Tensor,
T2: Differentiable<T> + Tensor,
<T1 as Differentiable<T>>::Derivative: Tensor,
<T2 as Differentiable<T>>::Derivative: Tensor,
impl<T1, T2, T> Differentiable<T> for TensorTuple<T1, T2>where
T1: Differentiable<T> + Tensor,
T2: Differentiable<T> + Tensor,
<T1 as Differentiable<T>>::Derivative: Tensor,
<T2 as Differentiable<T>>::Derivative: Tensor,
Source§type Derivative = TensorTuple<<T1 as Differentiable<T>>::Derivative, <T2 as Differentiable<T>>::Derivative>
type Derivative = TensorTuple<<T1 as Differentiable<T>>::Derivative, <T2 as Differentiable<T>>::Derivative>
The derivative with respect to the variable of integration.
Source§impl<T1, T2> Display for TensorTuple<T1, T2>
impl<T1, T2> Display for TensorTuple<T1, T2>
Source§impl<T1, T2> Div<&f64> for TensorTuple<T1, T2>
impl<T1, T2> Div<&f64> for TensorTuple<T1, T2>
Source§type Output = TensorTuple<T1, T2>
type Output = TensorTuple<T1, T2>
The resulting type after applying the
/ operator.Source§impl<T1, T2, V> Div<Quantity<V>> for TensorTuple<T1, T2>where
V: UnitHalves,
T1: Div<Quantity<<V as UnitHalves>::First>> + Tensor,
T2: Div<Quantity<<V as UnitHalves>::Second>> + Tensor,
<T1 as Div<Quantity<<V as UnitHalves>::First>>>::Output: Tensor,
<T2 as Div<Quantity<<V as UnitHalves>::Second>>>::Output: Tensor,
impl<T1, T2, V> Div<Quantity<V>> for TensorTuple<T1, T2>where
V: UnitHalves,
T1: Div<Quantity<<V as UnitHalves>::First>> + Tensor,
T2: Div<Quantity<<V as UnitHalves>::Second>> + Tensor,
<T1 as Div<Quantity<<V as UnitHalves>::First>>>::Output: Tensor,
<T2 as Div<Quantity<<V as UnitHalves>::Second>>>::Output: Tensor,
Source§impl<T0, T1, T4, T5> Div<TensorTuple<T0, T1>> for &TensorTuple<T4, T5>
impl<T0, T1, T4, T5> Div<TensorTuple<T0, T1>> for &TensorTuple<T4, T5>
Source§type Output = TensorTuple<T4, T5>
type Output = TensorTuple<T4, T5>
The resulting type after applying the
/ operator.Source§impl<T1, T2> Div<f64> for TensorTuple<T1, T2>
impl<T1, T2> Div<f64> for TensorTuple<T1, T2>
Source§type Output = TensorTuple<T1, T2>
type Output = TensorTuple<T1, T2>
The resulting type after applying the
/ operator.Source§impl<T1, T2> DivAssign<&f64> for TensorTuple<T1, T2>
impl<T1, T2> DivAssign<&f64> for TensorTuple<T1, T2>
Source§fn div_assign(&mut self, tensor_rank_0: &TensorRank0)
fn div_assign(&mut self, tensor_rank_0: &TensorRank0)
Performs the
/= operation. Read moreSource§impl<T1, T2> DivAssign<f64> for TensorTuple<T1, T2>
impl<T1, T2> DivAssign<f64> for TensorTuple<T1, T2>
Source§fn div_assign(&mut self, tensor_rank_0: TensorRank0)
fn div_assign(&mut self, tensor_rank_0: TensorRank0)
Performs the
/= operation. Read moreSource§impl<B1, B2, S1, S2, const D: usize> ElasticViscoplasticElements<TensorTuple<S1, S2>, D> for Blocks<B1, B2>where
B1: ElasticViscoplasticElements<S1, D>,
B2: ElasticViscoplasticElements<S2, D>,
S1: Differentiable + Tensor,
S2: Differentiable + Tensor,
Derivative<S1>: Tensor,
Derivative<S2>: Tensor,
impl<B1, B2, S1, S2, const D: usize> ElasticViscoplasticElements<TensorTuple<S1, S2>, D> for Blocks<B1, B2>where
B1: ElasticViscoplasticElements<S1, D>,
B2: ElasticViscoplasticElements<S2, D>,
S1: Differentiable + Tensor,
S2: Differentiable + Tensor,
Derivative<S1>: Tensor,
Derivative<S2>: Tensor,
fn initial_state(&self) -> TensorTuple<S1, S2>
fn nodal_forces_into( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &TensorTuple<S1, S2>, nodal_forces: &mut NodalForcesSolid<D>, ) -> Result<(), ElementModelError>
fn nodal_stiffnesses_into( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &TensorTuple<S1, S2>, nodal_stiffnesses: &mut NodalStiffnessesSolid<D>, ) -> Result<(), ElementModelError>
fn state_variables_evolution( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &TensorTuple<S1, S2>, ) -> Result<Derivative<TensorTuple<S1, S2>>, ElementModelError>
fn nodal_forces( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &S, ) -> Result<NodalForcesSolid<D>, ElementModelError>
fn nodal_stiffnesses( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &S, ) -> Result<NodalStiffnessesSolid<D>, ElementModelError>
Source§impl<T1, T2> Erase for TensorTuple<T1, T2>
impl<T1, T2> Erase for TensorTuple<T1, T2>
Source§impl<'a, T1, T2> From<&'a TensorTuple<T1, T2>> for (&'a T1, &'a T2)
impl<'a, T1, T2> From<&'a TensorTuple<T1, T2>> for (&'a T1, &'a T2)
Source§fn from(tensor_tuple: &'a TensorTuple<T1, T2>) -> Self
fn from(tensor_tuple: &'a TensorTuple<T1, T2>) -> Self
Converts to this type from the input type.
Source§impl<T1, T2> From<(T1, T2)> for TensorTuple<T1, T2>
impl<T1, T2> From<(T1, T2)> for TensorTuple<T1, T2>
Source§impl<T1, T2> From<TensorTuple<T1, T2>> for (T1, T2)
impl<T1, T2> From<TensorTuple<T1, T2>> for (T1, T2)
Source§fn from(tensor_tuple: TensorTuple<T1, T2>) -> Self
fn from(tensor_tuple: TensorTuple<T1, T2>) -> Self
Converts to this type from the input type.
Source§impl<T1, T2> From<Vector> for TensorTuple<T1, T2>
impl<T1, T2> From<Vector> for TensorTuple<T1, T2>
Source§impl<B1, B2, S1, S2, const D: usize> HyperelasticViscoplasticElements<TensorTuple<S1, S2>, D> for Blocks<B1, B2>where
B1: HyperelasticViscoplasticElements<S1, D>,
B2: HyperelasticViscoplasticElements<S2, D>,
S1: Differentiable + Tensor,
S2: Differentiable + Tensor,
Derivative<S1>: Tensor,
Derivative<S2>: Tensor,
impl<B1, B2, S1, S2, const D: usize> HyperelasticViscoplasticElements<TensorTuple<S1, S2>, D> for Blocks<B1, B2>where
B1: HyperelasticViscoplasticElements<S1, D>,
B2: HyperelasticViscoplasticElements<S2, D>,
S1: Differentiable + Tensor,
S2: Differentiable + Tensor,
Derivative<S1>: Tensor,
Derivative<S2>: Tensor,
fn helmholtz_free_energy( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &TensorTuple<S1, S2>, ) -> Result<Quantity<Energy>, ElementModelError>
Source§impl<T1, T2> Jacobian for TensorTuple<T1, T2>
impl<T1, T2> Jacobian for TensorTuple<T1, T2>
Source§fn fill_into_chained(self, other: Vector, vector: &mut Vector)
fn fill_into_chained(self, other: Vector, vector: &mut Vector)
Fills the Jacobian chained with a vector into another vector.
Source§fn retain_from(self, _retained: &[bool]) -> Vector
fn retain_from(self, _retained: &[bool]) -> Vector
Return only the retained indices.
Source§impl<const D: usize, I, J, K, L, U, V> Mul<&TensorTuple<TensorRank2<D, I, J, U>, TensorRank2<D, K, L, V>>> for &Vector
impl<const D: usize, I, J, K, L, U, V> Mul<&TensorTuple<TensorRank2<D, I, J, U>, TensorRank2<D, K, L, V>>> for &Vector
Source§fn mul(
self,
tensor_tuple: &TensorTuple<TensorRank2<D, I, J, U>, TensorRank2<D, K, L, V>>,
) -> Self::Output
fn mul( self, tensor_tuple: &TensorTuple<TensorRank2<D, I, J, U>, TensorRank2<D, K, L, V>>, ) -> Self::Output
Performs the
* operation. Read moreSource§impl<const D: usize, I, J, K, L, U, V> Mul<&TensorTuple<TensorRank2<D, I, J, U>, TensorRank2<D, K, L, V>>> for &Matrix
impl<const D: usize, I, J, K, L, U, V> Mul<&TensorTuple<TensorRank2<D, I, J, U>, TensorRank2<D, K, L, V>>> for &Matrix
Source§fn mul(
self,
tensor_tuple: &TensorTuple<TensorRank2<D, I, J, U>, TensorRank2<D, K, L, V>>,
) -> Self::Output
fn mul( self, tensor_tuple: &TensorTuple<TensorRank2<D, I, J, U>, TensorRank2<D, K, L, V>>, ) -> Self::Output
Performs the
* operation. Read moreSource§impl<T1, T2> Mul<&f64> for TensorTuple<T1, T2>
impl<T1, T2> Mul<&f64> for TensorTuple<T1, T2>
Source§type Output = TensorTuple<T1, T2>
type Output = TensorTuple<T1, T2>
The resulting type after applying the
* operator.Source§impl<T1, T2, V> Mul<Quantity<V>> for TensorTuple<T1, T2>where
V: UnitHalves,
T1: Mul<Quantity<<V as UnitHalves>::First>> + Tensor,
T2: Mul<Quantity<<V as UnitHalves>::Second>> + Tensor,
<T1 as Mul<Quantity<<V as UnitHalves>::First>>>::Output: Tensor,
<T2 as Mul<Quantity<<V as UnitHalves>::Second>>>::Output: Tensor,
impl<T1, T2, V> Mul<Quantity<V>> for TensorTuple<T1, T2>where
V: UnitHalves,
T1: Mul<Quantity<<V as UnitHalves>::First>> + Tensor,
T2: Mul<Quantity<<V as UnitHalves>::Second>> + Tensor,
<T1 as Mul<Quantity<<V as UnitHalves>::First>>>::Output: Tensor,
<T2 as Mul<Quantity<<V as UnitHalves>::Second>>>::Output: Tensor,
Source§impl<T1, T2, V> Mul<Quantity<V>> for &TensorTuple<T1, T2>where
V: UnitHalves,
T1: Clone + Mul<Quantity<<V as UnitHalves>::First>> + Tensor,
T2: Clone + Mul<Quantity<<V as UnitHalves>::Second>> + Tensor,
<T1 as Mul<Quantity<<V as UnitHalves>::First>>>::Output: Tensor,
<T2 as Mul<Quantity<<V as UnitHalves>::Second>>>::Output: Tensor,
impl<T1, T2, V> Mul<Quantity<V>> for &TensorTuple<T1, T2>where
V: UnitHalves,
T1: Clone + Mul<Quantity<<V as UnitHalves>::First>> + Tensor,
T2: Clone + Mul<Quantity<<V as UnitHalves>::Second>> + Tensor,
<T1 as Mul<Quantity<<V as UnitHalves>::First>>>::Output: Tensor,
<T2 as Mul<Quantity<<V as UnitHalves>::Second>>>::Output: Tensor,
Source§impl<T1, T2> Mul<f64> for TensorTuple<T1, T2>
impl<T1, T2> Mul<f64> for TensorTuple<T1, T2>
Source§type Output = TensorTuple<T1, T2>
type Output = TensorTuple<T1, T2>
The resulting type after applying the
* operator.Source§impl<T1, T2> Mul<f64> for &TensorTuple<T1, T2>
impl<T1, T2> Mul<f64> for &TensorTuple<T1, T2>
Source§type Output = TensorTuple<T1, T2>
type Output = TensorTuple<T1, T2>
The resulting type after applying the
* operator.Source§impl<T1, T2> MulAssign<&f64> for TensorTuple<T1, T2>
impl<T1, T2> MulAssign<&f64> for TensorTuple<T1, T2>
Source§fn mul_assign(&mut self, tensor_rank_0: &TensorRank0)
fn mul_assign(&mut self, tensor_rank_0: &TensorRank0)
Performs the
*= operation. Read moreSource§impl<T1, T2> MulAssign<f64> for TensorTuple<T1, T2>
impl<T1, T2> MulAssign<f64> for TensorTuple<T1, T2>
Source§fn mul_assign(&mut self, tensor_rank_0: TensorRank0)
fn mul_assign(&mut self, tensor_rank_0: TensorRank0)
Performs the
*= operation. Read moreSource§impl<T1, T2> PartialEq for TensorTuple<T1, T2>
impl<T1, T2> PartialEq for TensorTuple<T1, T2>
Source§fn eq(&self, other: &TensorTuple<T1, T2>) -> bool
fn eq(&self, other: &TensorTuple<T1, T2>) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl<T1, T2> Solution for TensorTuple<T1, T2>
impl<T1, T2> Solution for TensorTuple<T1, T2>
Source§fn decrement_from(&mut self, other: &Vector)
fn decrement_from(&mut self, other: &Vector)
Decrements the solution from another vector.
Source§fn decrement_from_chained(&mut self, other: &mut Vector, vector: &Vector)
fn decrement_from_chained(&mut self, other: &mut Vector, vector: &Vector)
Decrements the solution chained with a vector from another vector.
Source§fn decrement_from_retained(&mut self, _retained: &[bool], _other: &Vector)
fn decrement_from_retained(&mut self, _retained: &[bool], _other: &Vector)
Decrements the solution from another vector on retained entries.
impl<T1, T2> StructuralPartialEq for TensorTuple<T1, T2>
Source§impl<T1, T2> Sub for TensorTuple<T1, T2>
impl<T1, T2> Sub for TensorTuple<T1, T2>
Source§impl<T1, T2> Sub for &TensorTuple<T1, T2>
impl<T1, T2> Sub for &TensorTuple<T1, T2>
Source§impl<T1, T2> Sub<&TensorTuple<T1, T2>> for TensorTuple<T1, T2>
impl<T1, T2> Sub<&TensorTuple<T1, T2>> for TensorTuple<T1, T2>
Source§impl<T1, T2> Sub<&Vector> for TensorTuple<T1, T2>
impl<T1, T2> Sub<&Vector> for TensorTuple<T1, T2>
Source§impl<T1, T2> Sub<Vector> for TensorTuple<T1, T2>
impl<T1, T2> Sub<Vector> for TensorTuple<T1, T2>
Source§impl<T1, T2> SubAssign for TensorTuple<T1, T2>
impl<T1, T2> SubAssign for TensorTuple<T1, T2>
Source§fn sub_assign(&mut self, tensor_tuple: Self)
fn sub_assign(&mut self, tensor_tuple: Self)
Performs the
-= operation. Read moreSource§impl<T1, T2> SubAssign<&TensorTuple<T1, T2>> for TensorTuple<T1, T2>
impl<T1, T2> SubAssign<&TensorTuple<T1, T2>> for TensorTuple<T1, T2>
Source§fn sub_assign(&mut self, tensor_tuple: &Self)
fn sub_assign(&mut self, tensor_tuple: &Self)
Performs the
-= operation. Read moreSource§impl<T1, T2> Sum for TensorTuple<T1, T2>
impl<T1, T2> Sum for TensorTuple<T1, T2>
Source§impl<T1, T2> Tensor for TensorTuple<T1, T2>
impl<T1, T2> Tensor for TensorTuple<T1, T2>
Source§type Unit = (<T1 as Tensor>::Unit, <T2 as Tensor>::Unit)
type Unit = (<T1 as Tensor>::Unit, <T2 as Tensor>::Unit)
The physical unit the tensor carries.
Source§fn error_count_zero(&self, tol_abs: Scalar, tol_rel: Scalar) -> Option<usize>
fn error_count_zero(&self, tol_abs: Scalar, tol_rel: Scalar) -> Option<usize>
Returns number of nonzero entries given absolute and relative tolerances.
Source§fn error_count(
&self,
tensor_tuple: &Self,
tol_abs: Scalar,
tol_rel: Scalar,
) -> Option<usize>
fn error_count( &self, tensor_tuple: &Self, tol_abs: Scalar, tol_rel: Scalar, ) -> Option<usize>
Returns number of different entries given absolute and relative tolerances.
Source§fn full_contraction(&self, tensor_tuple: &Self) -> TensorRank0
fn full_contraction(&self, tensor_tuple: &Self) -> TensorRank0
Returns the full contraction with another tensor.
Source§fn iter_mut(&mut self) -> impl Iterator<Item = &mut Self::Item>
fn iter_mut(&mut self) -> impl Iterator<Item = &mut Self::Item>
Returns an iterator that allows modifying each value. Read more
Source§fn norm_p_sum(&self, p: TensorRank0) -> TensorRank0
fn norm_p_sum(&self, p: TensorRank0) -> TensorRank0
Returns the sum of p-th powers of absolute values (used internally by
norm_p).Source§fn sub_abs(&self, tensor_tuple: &Self) -> Self
fn sub_abs(&self, tensor_tuple: &Self) -> Self
Returns the positive difference of the two tensors.
Source§fn sub_rel(&self, tensor_tuple: &Self) -> Self
fn sub_rel(&self, tensor_tuple: &Self) -> Self
Returns the relative difference of the two tensors.
Source§impl<C1, C2, Y1, Y2> Viscoplastic<TensorTuple<TensorTuple<TensorRank2<3, Intermediate, Reference>, Y1>, Y2>> for ElasticViscoplasticAdditiveViscoplastic<C1, C2, Y1, Y2>where
C1: ElasticViscoplastic<Y1>,
C2: Viscoplastic<Y2>,
Y1: Differentiable + Tensor,
Y2: Differentiable + Tensor,
impl<C1, C2, Y1, Y2> Viscoplastic<TensorTuple<TensorTuple<TensorRank2<3, Intermediate, Reference>, Y1>, Y2>> for ElasticViscoplasticAdditiveViscoplastic<C1, C2, Y1, Y2>where
C1: ElasticViscoplastic<Y1>,
C2: Viscoplastic<Y2>,
Y1: Differentiable + Tensor,
Y2: Differentiable + Tensor,
Source§fn initial_state(
&self,
) -> ViscoplasticStateVariables<TensorTuple<ViscoplasticStateVariables<Y1>, Y2>>
fn initial_state( &self, ) -> ViscoplasticStateVariables<TensorTuple<ViscoplasticStateVariables<Y1>, Y2>>
Returns the initial state of the variables.
Source§fn plastic_evolution(
&self,
mandel_stress: MandelStressElastic,
state_variables: &ViscoplasticStateVariables<TensorTuple<ViscoplasticStateVariables<Y1>, Y2>>,
) -> Result<ViscoplasticEvolution<TensorTuple<ViscoplasticStateVariables<Y1>, Y2>>, ConstitutiveError>
fn plastic_evolution( &self, mandel_stress: MandelStressElastic, state_variables: &ViscoplasticStateVariables<TensorTuple<ViscoplasticStateVariables<Y1>, Y2>>, ) -> Result<ViscoplasticEvolution<TensorTuple<ViscoplasticStateVariables<Y1>, Y2>>, ConstitutiveError>
Calculates and returns the plastic evolution. Read more
Source§fn rate_sensitivity(&self) -> Scalar
fn rate_sensitivity(&self) -> Scalar
Returns the rate_sensitivity parameter.
Source§fn reference_flow_rate(&self) -> Quantity<Rate>
fn reference_flow_rate(&self) -> Quantity<Rate>
Returns the reference flow rate.
Source§fn plastic_stretching_rate(
&self,
deviatoric_mandel_stress: MandelStressElastic,
yield_stress: Quantity<Stress>,
) -> Result<StretchingRatePlastic, ConstitutiveError>
fn plastic_stretching_rate( &self, deviatoric_mandel_stress: MandelStressElastic, yield_stress: Quantity<Stress>, ) -> Result<StretchingRatePlastic, ConstitutiveError>
Calculates and returns the rate of plastic stretching. Read more
Source§fn plastic_stretching_rate_tangent(
&self,
deviatoric_mandel_stress: &MandelStressElastic,
yield_stress: Quantity<Stress>,
) -> Result<StretchingRatePlasticTangent, ConstitutiveError>
fn plastic_stretching_rate_tangent( &self, deviatoric_mandel_stress: &MandelStressElastic, yield_stress: Quantity<Stress>, ) -> Result<StretchingRatePlasticTangent, ConstitutiveError>
Calculates and returns the tangent of the plastic stretching rate with
respect to the deviatoric Mandel stress. Read more
Source§fn plastic_stretching_rate_tangent_yield(
&self,
deviatoric_mandel_stress: MandelStressElastic,
yield_stress: Quantity<Stress>,
) -> Result<StretchingRatePlasticTangentYield, ConstitutiveError>
fn plastic_stretching_rate_tangent_yield( &self, deviatoric_mandel_stress: MandelStressElastic, yield_stress: Quantity<Stress>, ) -> Result<StretchingRatePlasticTangentYield, ConstitutiveError>
Calculates and returns the tangent of the plastic stretching rate with
respect to the yield stress. Read more
Source§fn dissipation_potential(
&self,
plastic_stretching_rate: StretchingRatePlastic,
yield_stress: Quantity<Stress>,
) -> Result<Quantity<Dissipation>, ConstitutiveError>
fn dissipation_potential( &self, plastic_stretching_rate: StretchingRatePlastic, yield_stress: Quantity<Stress>, ) -> Result<Quantity<Dissipation>, ConstitutiveError>
Calculates and returns the dissipation potential. Read more
Source§fn dual_dissipation_potential(
&self,
deviatoric_mandel_stress: MandelStressElastic,
yield_stress: Quantity<Stress>,
) -> Result<Quantity<Dissipation>, ConstitutiveError>
fn dual_dissipation_potential( &self, deviatoric_mandel_stress: MandelStressElastic, yield_stress: Quantity<Stress>, ) -> Result<Quantity<Dissipation>, ConstitutiveError>
Calculates and returns the dual dissipation potential. Read more
Auto Trait Implementations§
impl<T1, T2> Freeze for TensorTuple<T1, T2>
impl<T1, T2> RefUnwindSafe for TensorTuple<T1, T2>where
T1: RefUnwindSafe,
T2: RefUnwindSafe,
impl<T1, T2> Send for TensorTuple<T1, T2>
impl<T1, T2> Sync for TensorTuple<T1, T2>
impl<T1, T2> Unpin for TensorTuple<T1, T2>
impl<T1, T2> UnsafeUnpin for TensorTuple<T1, T2>where
T1: UnsafeUnpin,
T2: UnsafeUnpin,
impl<T1, T2> UnwindSafe for TensorTuple<T1, T2>where
T1: UnwindSafe,
T2: UnwindSafe,
Blanket Implementations§
Source§impl<'a, T> AssertEq<&'a T> for T
impl<'a, T> AssertEq<&'a T> for T
fn eq(a: T, b: &'a T) -> Result<(), AssertionError>
fn eq_within_tols(tols: &Assert, a: T, b: &'a T) -> Result<(), AssertionError>
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more