pub struct LatticeExpansionGradient {
pub expansion: ExpansionGradient,
pub kpar: Vec<f64>,
pub vectors: DMatrix<f64>,
}Expand description
Periodic coupling cotangents including the lattice geometry.
Fields§
§expansion: ExpansionGradientPosition and medium-wavenumber cotangents.
kpar: Vec<f64>Bloch wavevector cotangent in lattice coordinates.
vectors: DMatrix<f64>Row lattice-vector cotangent.
Implementations§
Source§impl LatticeExpansionGradient
impl LatticeExpansionGradient
Sourcepub(crate) fn zeros(destination: usize, source: usize, dim: usize) -> Self
pub(crate) fn zeros(destination: usize, source: usize, dim: usize) -> Self
Zero cotangents of destination and source positions, both wavenumbers and a
dim-dimensional lattice.
Sourcepub(crate) fn add_lattice(&mut self, g: &SumGradient)
pub(crate) fn add_lattice(&mut self, g: &SumGradient)
Add the Bloch-vector and lattice-vector cotangents of one lattice sum.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LatticeExpansionGradient
impl RefUnwindSafe for LatticeExpansionGradient
impl Send for LatticeExpansionGradient
impl Sync for LatticeExpansionGradient
impl Unpin for LatticeExpansionGradient
impl UnwindSafe for LatticeExpansionGradient
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§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 more§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).§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.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.