Struct rest::molecule_io::Molecule
source · [−]pub struct Molecule {Show 21 fields
pub ctrl: InputKeywords,
pub geom: GeomCell,
pub spin_channel: usize,
pub xc_data: DFA4REST,
pub num_state: usize,
pub num_basis: usize,
pub num_auxbas: usize,
pub num_elec: Vec<f64>,
pub start_mo: usize,
pub basis4elem: Vec<Basis4Elem>,
pub fdqc_bas: Vec<BasInfo>,
pub cint_fdqc: Vec<Vec<usize>>,
pub cint_bas: Vec<Vec<i32>>,
pub cint_atm: Vec<Vec<i32>>,
pub cint_env: Vec<f64>,
pub fdqc_aux_bas: Vec<BasInfo>,
pub cint_aux_fdqc: Vec<Vec<usize>>,
pub cint_aux_bas: Vec<Vec<i32>>,
pub cint_aux_atm: Vec<Vec<i32>>,
pub cint_aux_env: Vec<f64>,
pub cint_type: CintType,
}
Expand description
Molecule
Molecule
contains all basic information of the molecule in the calculation task
self.ctrl: include the input keywords and many derived keywors to control the calculation task
self.bas: the basis set shell by shell organized for libcint
self.geom: the molecular structure information
self.xc_data: the information and operations for DFT: DFA4REST
.
self.spin_channel: 1: spin unpolarized or 2: spin polarized self.num_state: the number of molecular orbitals self.num_basis: the number of basis functions self.start_mo: the first molecular orbital in the frozen-core approximation for pt2, rpa and so forth
self.fdqc_bas: the basis set information BasInfo
for each shell
self.cint_*: all these fields are the interface to libcint
self.cint_type: CintType::Spheric or CintType::Cartesian
Fields
ctrl: InputKeywords
geom: GeomCell
spin_channel: usize
xc_data: DFA4REST
num_state: usize
num_basis: usize
num_auxbas: usize
num_elec: Vec<f64>
start_mo: usize
basis4elem: Vec<Basis4Elem>
fdqc_bas: Vec<BasInfo>
cint_fdqc: Vec<Vec<usize>>
cint_bas: Vec<Vec<i32>>
cint_atm: Vec<Vec<i32>>
cint_env: Vec<f64>
fdqc_aux_bas: Vec<BasInfo>
cint_aux_fdqc: Vec<Vec<usize>>
cint_aux_bas: Vec<Vec<i32>>
cint_aux_atm: Vec<Vec<i32>>
cint_aux_env: Vec<f64>
cint_type: CintType
Implementations
sourceimpl Molecule
impl Molecule
pub fn new() -> Molecule
pub fn build(ctrl_file: String) -> Result<Molecule>
pub fn initialize_auxbas(&mut self)
pub fn initialize_cint(&self) -> CINTR2CDATA
pub fn collect_auxbas(
ctrl: &InputKeywords,
geom: &mut GeomCell,
etb: Option<InfoV2>
) -> (Vec<Basis4Elem>, Vec<Vec<i32>>, Vec<Vec<i32>>, Vec<f64>, Vec<BasInfo>, Vec<Vec<usize>>, usize)
pub fn collect_basis(
ctrl: &InputKeywords,
geom: &mut GeomCell
) -> (Vec<Basis4Elem>, Vec<Vec<i32>>, Vec<Vec<i32>>, Vec<f64>, Vec<BasInfo>, Vec<Vec<usize>>, Vec<f64>, usize, usize)
pub fn int_ij_matrixupper(&mut self, op_name: String) -> MatrixUpper<f64>
pub fn int_ijkl_erifull(&mut self) -> ERIFull<f64>
pub fn int_ijkl_erifold4(&mut self) -> ERIFold4<f64>
pub fn int_ijkl_from_r3fn(&mut self, r3fn: &RIFull<f64>) -> ERIFold4<f64>
pub fn int_ijk_rifull(&mut self) -> RIFull<f64>
pub fn int_ijk_rifull_rayon(&mut self) -> RIFull<f64>
pub fn int_ij_aux_columb(&mut self) -> MatrixFull<f64>
pub fn prepare_ri3fn_for_ri_v(&mut self) -> RIFull<f64>
pub fn prepare_ri3fn_for_ri_v_rayon(&mut self) -> RIFull<f64>
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Molecule
impl Send for Molecule
impl Sync for Molecule
impl Unpin for Molecule
impl UnwindSafe for Molecule
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
self
from the equivalent element of its
superset. Read morefn 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<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 morefn 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).unsafe fn to_subset_unchecked(&self) -> SS
unsafe 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.