occ
Loading...
Searching...
No Matches
occ::density Namespace Reference

functionality related to evaluation of electron density More...

Functions

constexpr int num_components (int deriv_order)
 
template<size_t max_derivative, SpinorbitalKind spinorbital_kind = SpinorbitalKind::Restricted>
void evaluate_density (MatConstRef D, const occ::gto::GTOValues &gto_values, MatRef rho)
 
template<>
void evaluate_density< 0, SpinorbitalKind::Restricted > (MatConstRef D, const occ::gto::GTOValues &gto_values, MatRef rho)
 
template<>
void evaluate_density< 1, SpinorbitalKind::Restricted > (MatConstRef D, const occ::gto::GTOValues &gto_values, MatRef rho)
 
template<>
void evaluate_density< 2, SpinorbitalKind::Restricted > (MatConstRef D, const occ::gto::GTOValues &gto_values, MatRef rho)
 
template<>
void evaluate_density< 0, SpinorbitalKind::Unrestricted > (MatConstRef D, const occ::gto::GTOValues &gto_values, MatRef rho)
 
template<>
void evaluate_density< 1, SpinorbitalKind::Unrestricted > (MatConstRef D, const occ::gto::GTOValues &gto_values, MatRef rho)
 
template<>
void evaluate_density< 2, SpinorbitalKind::Unrestricted > (MatConstRef D, const occ::gto::GTOValues &gto_values, MatRef rho)
 
Mat evaluate_orbitals_on_grid (const occ::gto::AOBasis &basis, MatConstRef C, const occ::Mat3N &points)
 Signed orbital amplitudes psi_i(r) = sum_mu C(mu, i) phi_mu(r) for each column of C, returned as an (npoints x ncols) matrix.
 
template<size_t max_derivative, SpinorbitalKind spinorbital_kind = SpinorbitalKind::Restricted>
Mat evaluate_density (const Mat &D, const occ::gto::GTOValues &gto_values)
 
template<size_t max_derivative, SpinorbitalKind spinorbital_kind = SpinorbitalKind::Restricted>
Mat evaluate_density_on_grid (const qm::AOBasis &basis, const Mat &D, const occ::Mat &grid_pts)
 
template<size_t max_derivative>
Mat evaluate_density_on_grid (const qm::Wavefunction &wfn, const occ::Mat &grid_pts)
 
Mat evaluate_density_on_grid (const qm::Wavefunction &wfn, const occ::Mat &grid_points, int derivatives=0)
 

Detailed Description

functionality related to evaluation of electron density

part of the occ::gto module

Function Documentation

◆ evaluate_density() [1/2]

template<size_t max_derivative, SpinorbitalKind spinorbital_kind = SpinorbitalKind::Restricted>
Mat occ::density::evaluate_density ( const Mat &  D,
const occ::gto::GTOValues &  gto_values 
)

◆ evaluate_density() [2/2]

template<size_t max_derivative, SpinorbitalKind spinorbital_kind = SpinorbitalKind::Restricted>
void occ::density::evaluate_density ( MatConstRef  D,
const occ::gto::GTOValues &  gto_values,
MatRef  rho 
)

◆ evaluate_density< 0, SpinorbitalKind::Restricted >()

template<>
void occ::density::evaluate_density< 0, SpinorbitalKind::Restricted > ( MatConstRef  D,
const occ::gto::GTOValues &  gto_values,
MatRef  rho 
)

◆ evaluate_density< 0, SpinorbitalKind::Unrestricted >()

template<>
void occ::density::evaluate_density< 0, SpinorbitalKind::Unrestricted > ( MatConstRef  D,
const occ::gto::GTOValues &  gto_values,
MatRef  rho 
)

◆ evaluate_density< 1, SpinorbitalKind::Restricted >()

template<>
void occ::density::evaluate_density< 1, SpinorbitalKind::Restricted > ( MatConstRef  D,
const occ::gto::GTOValues &  gto_values,
MatRef  rho 
)

◆ evaluate_density< 1, SpinorbitalKind::Unrestricted >()

template<>
void occ::density::evaluate_density< 1, SpinorbitalKind::Unrestricted > ( MatConstRef  D,
const occ::gto::GTOValues &  gto_values,
MatRef  rho 
)

◆ evaluate_density< 2, SpinorbitalKind::Restricted >()

template<>
void occ::density::evaluate_density< 2, SpinorbitalKind::Restricted > ( MatConstRef  D,
const occ::gto::GTOValues &  gto_values,
MatRef  rho 
)

◆ evaluate_density< 2, SpinorbitalKind::Unrestricted >()

template<>
void occ::density::evaluate_density< 2, SpinorbitalKind::Unrestricted > ( MatConstRef  D,
const occ::gto::GTOValues &  gto_values,
MatRef  rho 
)

◆ evaluate_density_on_grid() [1/3]

template<size_t max_derivative, SpinorbitalKind spinorbital_kind = SpinorbitalKind::Restricted>
Mat occ::density::evaluate_density_on_grid ( const qm::AOBasis &  basis,
const Mat &  D,
const occ::Mat &  grid_pts 
)

◆ evaluate_density_on_grid() [2/3]

Mat occ::density::evaluate_density_on_grid ( const qm::Wavefunction &  wfn,
const occ::Mat &  grid_points,
int  derivatives = 0 
)
inline

◆ evaluate_density_on_grid() [3/3]

template<size_t max_derivative>
Mat occ::density::evaluate_density_on_grid ( const qm::Wavefunction &  wfn,
const occ::Mat &  grid_pts 
)

◆ evaluate_orbitals_on_grid()

Mat occ::density::evaluate_orbitals_on_grid ( const occ::gto::AOBasis &  basis,
MatConstRef  C,
const occ::Mat3N &  points 
)

Signed orbital amplitudes psi_i(r) = sum_mu C(mu, i) phi_mu(r) for each column of C, returned as an (npoints x ncols) matrix.

Uses the same AO values as the density evaluation, so the occupation weighted sum of psi_i^2 reproduces evaluate_density. Points are processed in parallel blocks, so memory stays bounded for large grids.

◆ num_components()

constexpr int occ::density::num_components ( int  deriv_order)
constexpr