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: InputKeywordsgeom: GeomCellspin_channel: usizexc_data: DFA4RESTnum_state: usizenum_basis: usizenum_auxbas: usizenum_elec: Vec<f64>start_mo: usizebasis4elem: 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: CintTypeImplementations
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.