occ
|
#include <integral_engine.h>
Classes | |
struct | IntegralResult |
Public Types | |
using | ShellList = std::vector< Shell > |
using | AtomList = std::vector< occ::core::Atom > |
using | ShellPairList = std::vector< std::vector< size_t > > |
using | IntEnv = cint::IntegralEnvironment |
using | ShellKind = Shell::Kind |
using | Op = cint::Operator |
Public Member Functions | |
IntegralEngine (const AtomList &at, const ShellList &sh) | |
IntegralEngine (const AOBasis &basis) | |
auto | nbf () const noexcept |
auto | nbf_aux () const noexcept |
auto | nsh () const noexcept |
auto | nsh_aux () const noexcept |
const AOBasis & | aobasis () const |
const AOBasis & | auxbasis () const |
const auto & | env () const |
auto & | env () |
const auto & | first_bf () const noexcept |
const auto & | first_bf_aux () const noexcept |
const auto & | shellpairs () const noexcept |
const auto & | shells () const noexcept |
void | set_auxiliary_basis (const ShellList &bs, bool dummy=false) |
void | set_dummy_basis (const AtomList &dummy_atoms, const ShellList &bs) |
void | clear_auxiliary_basis () |
bool | have_auxiliary_basis () const noexcept |
bool | have_effective_core_potentials () const noexcept |
Mat | one_electron_operator (Op op, bool use_shellpair_list=true) const |
MatTriple | one_electron_operator_grad (Op op, bool use_shellpair_list=true) const |
Mat | effective_core_potential (bool use_shellpair_list=true) const |
Mat | fock_operator (SpinorbitalKind, const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const |
Mat | fock_operator_mixed_basis (const Mat &D, const AOBasis &D_bs, bool is_shell_diagonal) |
MatTriple | fock_operator_grad (SpinorbitalKind, const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const |
Mat | coulomb (SpinorbitalKind, const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const |
MatTriple | coulomb_grad (SpinorbitalKind, const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const |
JKTriple | coulomb_exchange_grad (SpinorbitalKind, const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const |
JKPair | coulomb_and_exchange (SpinorbitalKind, const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const |
std::vector< Mat > | coulomb_list (SpinorbitalKind, const std::vector< MolecularOrbitals > &mos, const Mat &Schwarz=Mat()) const |
std::vector< JKPair > | coulomb_and_exchange_list (SpinorbitalKind, const std::vector< MolecularOrbitals > &mos, const Mat &Schwarz=Mat()) const |
Mat | point_charge_potential (const std::vector< occ::core::PointCharge > &charges, double alpha=1e16) |
Mat | wolf_point_charge_potential (const std::vector< occ::core::PointCharge > &charges, const std::vector< double > &partial_charges, double alpha, double cutoff_radius) |
Vec | electric_potential (const MolecularOrbitals &mo, const Mat3N &points) |
template<ShellKind kind> | |
void | compute_shellpairs (double threshold=1e-12) |
Mat | rinv_operator_atom_center (size_t atom_index, bool use_shellpair_list=true) const |
MatTriple | rinv_operator_grad_atom (size_t atom_index, bool use_shellpair_list=true) const |
Vec | multipole (int order, const MolecularOrbitals &mo, const Vec3 &origin={0, 0, 0}) const |
Mat | schwarz () const |
bool | is_spherical () const |
void | set_effective_core_potentials (const ShellList &ecp_shells, const std::vector< int > &ecp_electrons) |
double | range_separated_omega () const |
void | set_range_separated_omega (double omega) |
void | set_precision (double precision) |
using occ::qm::IntegralEngine::AtomList = std::vector<occ::core::Atom> |
using occ::qm::IntegralEngine::ShellList = std::vector<Shell> |
using occ::qm::IntegralEngine::ShellPairList = std::vector<std::vector<size_t> > |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Mat occ::qm::IntegralEngine::coulomb | ( | SpinorbitalKind | , |
const MolecularOrbitals & | mo, | ||
const Mat & | Schwarz = Mat() |
||
) | const |
JKPair occ::qm::IntegralEngine::coulomb_and_exchange | ( | SpinorbitalKind | , |
const MolecularOrbitals & | mo, | ||
const Mat & | Schwarz = Mat() |
||
) | const |
std::vector< JKPair > occ::qm::IntegralEngine::coulomb_and_exchange_list | ( | SpinorbitalKind | , |
const std::vector< MolecularOrbitals > & | mos, | ||
const Mat & | Schwarz = Mat() |
||
) | const |
JKTriple occ::qm::IntegralEngine::coulomb_exchange_grad | ( | SpinorbitalKind | , |
const MolecularOrbitals & | mo, | ||
const Mat & | Schwarz = Mat() |
||
) | const |
MatTriple occ::qm::IntegralEngine::coulomb_grad | ( | SpinorbitalKind | , |
const MolecularOrbitals & | mo, | ||
const Mat & | Schwarz = Mat() |
||
) | const |
std::vector< Mat > occ::qm::IntegralEngine::coulomb_list | ( | SpinorbitalKind | , |
const std::vector< MolecularOrbitals > & | mos, | ||
const Mat & | Schwarz = Mat() |
||
) | const |
Mat occ::qm::IntegralEngine::effective_core_potential | ( | bool | use_shellpair_list = true | ) | const |
Vec occ::qm::IntegralEngine::electric_potential | ( | const MolecularOrbitals & | mo, |
const Mat3N & | points | ||
) |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
Mat occ::qm::IntegralEngine::fock_operator | ( | SpinorbitalKind | , |
const MolecularOrbitals & | mo, | ||
const Mat & | Schwarz = Mat() |
||
) | const |
MatTriple occ::qm::IntegralEngine::fock_operator_grad | ( | SpinorbitalKind | , |
const MolecularOrbitals & | mo, | ||
const Mat & | Schwarz = Mat() |
||
) | const |
Mat occ::qm::IntegralEngine::fock_operator_mixed_basis | ( | const Mat & | D, |
const AOBasis & | D_bs, | ||
bool | is_shell_diagonal | ||
) |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
Vec occ::qm::IntegralEngine::multipole | ( | int | order, |
const MolecularOrbitals & | mo, | ||
const Vec3 & | origin = {0, 0, 0} |
||
) | const |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
MatTriple occ::qm::IntegralEngine::one_electron_operator_grad | ( | Op | op, |
bool | use_shellpair_list = true |
||
) | const |
Mat occ::qm::IntegralEngine::point_charge_potential | ( | const std::vector< occ::core::PointCharge > & | charges, |
double | alpha = 1e16 |
||
) |
|
inline |
Mat occ::qm::IntegralEngine::rinv_operator_atom_center | ( | size_t | atom_index, |
bool | use_shellpair_list = true |
||
) | const |
MatTriple occ::qm::IntegralEngine::rinv_operator_grad_atom | ( | size_t | atom_index, |
bool | use_shellpair_list = true |
||
) | const |
Mat occ::qm::IntegralEngine::schwarz | ( | ) | const |
|
inline |
|
inline |
void occ::qm::IntegralEngine::set_effective_core_potentials | ( | const ShellList & | ecp_shells, |
const std::vector< int > & | ecp_electrons | ||
) |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
Mat occ::qm::IntegralEngine::wolf_point_charge_potential | ( | const std::vector< occ::core::PointCharge > & | charges, |
const std::vector< double > & | partial_charges, | ||
double | alpha, | ||
double | cutoff_radius | ||
) |