pub struct KelvinTensor;Expand description
Kelvin (Mandel) notation utilities for symmetric fourth-order tensors.
Unlike Voigt notation, Kelvin notation preserves the inner product: off-diagonal entries are multiplied by √2 for strain-like vectors and √2 for the stiffness off-diagonal blocks, so that C:ε:ε is preserved.
Implementations§
Source§impl KelvinTensor
impl KelvinTensor
Sourcepub fn from_tensor4(c: &Tensor4) -> [[f64; 6]; 6]
pub fn from_tensor4(c: &Tensor4) -> [[f64; 6]; 6]
Convert a Tensor4 (with minor symmetry) to its 6×6 Kelvin matrix.
K_PQ = w_P * w_Q * C_ijkl where (i,j) is mapped from P and (k,l) from Q.
Sourcepub fn stress_to_kelvin(t: &Tensor2) -> [f64; 6]
pub fn stress_to_kelvin(t: &Tensor2) -> [f64; 6]
Convert a symmetric second-order tensor to its 6-component Kelvin vector.
Normal components are unchanged; shear components are multiplied by √2.
Sourcepub fn kelvin_to_stress(v: &[f64; 6]) -> Tensor2
pub fn kelvin_to_stress(v: &[f64; 6]) -> Tensor2
Convert a Kelvin stress vector back to a Tensor2.
Auto Trait Implementations§
impl Freeze for KelvinTensor
impl RefUnwindSafe for KelvinTensor
impl Send for KelvinTensor
impl Sync for KelvinTensor
impl Unpin for KelvinTensor
impl UnsafeUnpin for KelvinTensor
impl UnwindSafe for KelvinTensor
Blanket Implementations§
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
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.