pub struct PyBasisShellContraction {
    pub basis_shell: (u32, ShellType, PyShellOrder),
    pub primitives: Vec<(f64, f64)>,
    pub cart_origin: [f64; 3],
    pub k: Option<[f64; 3]>,
}Expand description
Python-exposed structure to marshall basis shell contraction information between Rust and Python.
Fields§
§basis_shell: (u32, ShellType, PyShellOrder)A triplet of the form (angmom, cart, order) where:
* angmom is an integer specifying the angular momentum of the shell, the meaning of
which depends on the shell type,
* shelltype is an enumerated type indicating the type of the shell, and
* order specifies how the functions in the shell are ordered:
* if shelltype is ShellType.Cartesian, order can be None for lexicographic
order, or a list of tuples (lx, ly, lz) specifying a custom order for the Cartesian
functions where lx, ly, and lz are the $x$-, $y$-, and $z$-exponents,
respectively;
* if shelltype is ShellType.Pure, ShellType.SpinorFermion,
SpinorFermionKineticBalance, ShellType.SpinorAntifermion, or
ShellType.SpinorAntifermionKineticBalance, order is a tuple of two values: the
first can be true for increasing-$m$ order, false for decreasing-$m$ order, or
a list of $m$ values for custom order, and the second is a boolean indicating whether
the spatial parts of the functions in the shell are even with respect to spatial inversion.
primitives: Vec<(f64, f64)>A list of tuples, each of which contains the exponent and the contraction coefficient of a Gaussian primitive in this shell.
cart_origin: [f64; 3]A fixed-size list of length 3 containing the Cartesian coordinates of the origin
$\mathbf{R}$ of this shell in Bohr radii.
k: Option<[f64; 3]>An optional fixed-size list of length 3 containing the Cartesian components of the
$\mathbf{k}$ vector of this shell that appears in the complex phase factor
$\exp[i\mathbf{k} \cdot (\mathbf{r} - \mathbf{R})]$.
Implementations§
Source§impl PyBasisShellContraction
 
impl PyBasisShellContraction
Sourcepub fn new(
    basis_shell: (u32, ShellType, PyShellOrder),
    primitives: Vec<(f64, f64)>,
    cart_origin: [f64; 3],
    k: Option<[f64; 3]>,
) -> Self
 
pub fn new( basis_shell: (u32, ShellType, PyShellOrder), primitives: Vec<(f64, f64)>, cart_origin: [f64; 3], k: Option<[f64; 3]>, ) -> Self
Creates a new PyBasisShellContraction structure.
§Arguments
- basis_shell- A triplet of the form- (angmom, cart, order)where:- angmomis an integer specifying the angular momentum of the shell, the meaning of which depends on the shell type,
- shelltypeis an enumerated type indicating the type of the shell, and
- orderspecifies how the functions in the shell are ordered:- if shelltypeisShellType.Cartesian,ordercan beNonefor lexicographic order, or a list of tuples(lx, ly, lz)specifying a custom order for the Cartesian functions wherelx,ly, andlzare the $x$-, $y$-, and $z$-exponents, respectively;
- if shelltypeisShellType.Pure,ShellType.SpinorFermion,SpinorFermionKineticBalance,ShellType.SpinorAntifermion, orShellType.SpinorAntifermionKineticBalance,orderis a tuple of two values: the first can betruefor increasing-$m$ order,falsefor decreasing-$m$ order, or a list of $m$ values for custom order, and the second is a boolean indicating whether the spatial parts of the functions in the shell are even with respect to spatial inversion.
 
- if 
 
- primitives- A list of tuples, each of which contains the exponent and the contraction coefficient of a Gaussian primitive in this shell.
- cart_origin- A fixed-size list of length 3 containing the Cartesian coordinates of the origin of this shell.
- k- An optional fixed-size list of length 3 containing the Cartesian components of the $- \mathbf{k}$ vector of this shell.
Trait Implementations§
Source§impl Clone for PyBasisShellContraction
 
impl Clone for PyBasisShellContraction
Source§fn clone(&self) -> PyBasisShellContraction
 
fn clone(&self) -> PyBasisShellContraction
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'py> IntoPyObject<'py> for PyBasisShellContraction
 
impl<'py> IntoPyObject<'py> for PyBasisShellContraction
Source§type Target = PyBasisShellContraction
 
type Target = PyBasisShellContraction
Source§type Output = Bound<'py, <PyBasisShellContraction as IntoPyObject<'py>>::Target>
 
type Output = Bound<'py, <PyBasisShellContraction as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
    self,
    py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
 
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PyClass for PyBasisShellContraction
 
impl PyClass for PyBasisShellContraction
Source§impl PyClassImpl for PyBasisShellContraction
 
impl PyClassImpl for PyBasisShellContraction
Source§const IS_BASETYPE: bool = false
 
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
 
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
 
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
 
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
 
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = c"Python-exposed structure to marshall basis shell contraction information between Rust and\nPython.\x00"
 
const RAW_DOC: &'static CStr = c"Python-exposed structure to marshall basis shell contraction information between Rust and\nPython.\x00"
Source§const DOC: &'static CStr
 
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type ThreadChecker = SendablePyClass<PyBasisShellContraction>
 
type ThreadChecker = SendablePyClass<PyBasisShellContraction>
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
 
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
 
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl PyClassNewTextSignature for PyBasisShellContraction
 
impl PyClassNewTextSignature for PyBasisShellContraction
const TEXT_SIGNATURE: &'static str = "(basis_shell, primitives, cart_origin, k=None)"
Source§impl<'a, 'holder, 'py> PyFunctionArgument<'a, 'holder, 'py, false> for &'holder PyBasisShellContraction
 
impl<'a, 'holder, 'py> PyFunctionArgument<'a, 'holder, 'py, false> for &'holder PyBasisShellContraction
Source§impl<'a, 'holder, 'py> PyFunctionArgument<'a, 'holder, 'py, false> for &'holder mut PyBasisShellContraction
 
impl<'a, 'holder, 'py> PyFunctionArgument<'a, 'holder, 'py, false> for &'holder mut PyBasisShellContraction
Source§impl PyMethods<PyBasisShellContraction> for PyClassImplCollector<PyBasisShellContraction>
 
impl PyMethods<PyBasisShellContraction> for PyClassImplCollector<PyBasisShellContraction>
fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for PyBasisShellContraction
 
impl PyTypeInfo for PyBasisShellContraction
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
 
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
 
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
 
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
 
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Source§impl TryFrom<PyBasisShellContraction> for BasisShellContraction<f64, f64>
 
impl TryFrom<PyBasisShellContraction> for BasisShellContraction<f64, f64>
impl DerefToPyAny for PyBasisShellContraction
Auto Trait Implementations§
impl Freeze for PyBasisShellContraction
impl RefUnwindSafe for PyBasisShellContraction
impl Send for PyBasisShellContraction
impl Sync for PyBasisShellContraction
impl Unpin for PyBasisShellContraction
impl UnwindSafe for PyBasisShellContraction
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
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
§impl<T> Conv for T
 
impl<T> Conv for T
§impl<T> FmtForward for T
 
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
    Self: Binary,
 
fn fmt_binary(self) -> FmtBinary<Self>where
    Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
    Self: Display,
 
fn fmt_display(self) -> FmtDisplay<Self>where
    Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
    Self: LowerExp,
 
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
    Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
    Self: LowerHex,
 
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
    Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
    Self: Octal,
 
fn fmt_octal(self) -> FmtOctal<Self>where
    Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
    Self: Pointer,
 
fn fmt_pointer(self) -> FmtPointer<Self>where
    Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
    Self: UpperExp,
 
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
    Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
    Self: UpperHex,
 
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
    Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
    &'a Self: for<'a> IntoIterator,
 
fn fmt_list(self) -> FmtList<Self>where
    &'a Self: for<'a> IntoIterator,
§impl<T> FromPyObject<'_> for Twhere
    T: PyClass + Clone,
 
impl<T> FromPyObject<'_> for Twhere
    T: PyClass + Clone,
§fn extract_bound(obj: &Bound<'_, PyAny>) -> Result<T, PyErr>
 
fn extract_bound(obj: &Bound<'_, PyAny>) -> Result<T, PyErr>
§impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
    T: FromPyObject<'py>,
 
impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
    T: FromPyObject<'py>,
§fn from_py_object_bound(ob: Borrowed<'_, 'py, PyAny>) -> Result<T, PyErr>
 
fn from_py_object_bound(ob: Borrowed<'_, 'py, PyAny>) -> Result<T, PyErr>
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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<'py, T> IntoPyObjectExt<'py> for Twhere
    T: IntoPyObject<'py>,
 
impl<'py, T> IntoPyObjectExt<'py> for Twhere
    T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
 
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
 
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
 
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read more§impl<T> Pipe for Twhere
    T: ?Sized,
 
impl<T> Pipe for Twhere
    T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
    Self: Sized,
 
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
    Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
    R: 'a,
 
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
    R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
    R: 'a,
 
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
    R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
 
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
    &'a mut self,
    func: impl FnOnce(&'a mut B) -> R,
) -> R
 
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
 
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
 
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
 
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
 
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
    T: ?Sized,
 
impl<T> PolicyExt for Twhere
    T: ?Sized,
§impl<T> PyErrArguments for T
 
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
    T: PyTypeInfo,
 
impl<T> PyTypeCheck for Twhere
    T: PyTypeInfo,
§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>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
 
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
 
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.§impl<T> Tap for T
 
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
 
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
 
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
 
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
 
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
 
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
 
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
 
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
 
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
 
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
 
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
 
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
 
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
 
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.