occ
Loading...
Searching...
No Matches
occ::qm::HartreeFock Class Reference

#include <hf.h>

Inheritance diagram for occ::qm::HartreeFock:
[legend]
Collaboration diagram for occ::qm::HartreeFock:
[legend]

Public Member Functions

 HartreeFock (const AOBasis &basis)
 
const auto & aobasis () const
 
auto nbf () const
 
bool usual_scf_energy () const
 
void update_scf_energy (occ::core::EnergyComponents &energy, bool incremental) const
 
bool supports_incremental_fock_build () const
 
bool have_effective_core_potentials () const
 
void set_density_fitting_basis (const std::string &)
 
void set_precision (double precision)
 
double nuclear_point_charge_interaction_energy (const PointChargeList &) const
 
double wolf_point_charge_interaction_energy (const PointChargeList &, const std::vector< double > &partial_charges, double alpha, double rc) const
 
Mat compute_fock (const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const
 
MatTriple compute_fock_gradient (const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const
 
Mat compute_fock_mixed_basis (const MolecularOrbitals &mo_minbs, const qm::AOBasis &bs, bool is_shell_diagonal)
 
JKPair compute_JK (const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const
 
JKTriple compute_JK_gradient (const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const
 
std::vector< JKPaircompute_JK_list (const std::vector< MolecularOrbitals > &mo, const Mat &Schwarz=Mat()) const
 
Mat compute_J (const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const
 
MatTriple compute_J_gradient (const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const
 
std::vector< Matcompute_J_list (const std::vector< MolecularOrbitals > &mo, const Mat &Schwarz=Mat()) const
 
Mat compute_kinetic_matrix () const
 
MatTriple compute_kinetic_gradient () const
 
Mat compute_overlap_matrix () const
 
Mat compute_overlap_matrix_for_basis (const occ::qm::AOBasis &basis) const
 
MatTriple compute_overlap_gradient () const
 
Mat compute_nuclear_attraction_matrix () const
 
MatTriple compute_nuclear_attraction_gradient () const
 
MatTriple compute_rinv_gradient_for_atom (size_t atom_index) const
 
Mat compute_effective_core_potential_matrix () const
 
Mat compute_point_charge_interaction_matrix (const PointChargeList &point_charges, double alpha=1e16) const
 
Mat compute_wolf_interaction_matrix (const PointChargeList &point_charges, const std::vector< double > &partial_charges, double alpha, double rc) const
 
Mat3N electronic_electric_field_contribution (const MolecularOrbitals &mo, const Mat3N &) const
 
Vec electronic_electric_potential_contribution (const MolecularOrbitals &mo, const Mat3N &) const
 
Mat compute_schwarz_ints () const
 
void update_core_hamiltonian (const MolecularOrbitals &mo, Mat &H)
 
template<int order>
occ::core::Multipole< order > compute_electronic_multipoles (const MolecularOrbitals &mo, const Vec3 &o={0.0, 0.0, 0.0}) const
 
template<unsigned int order = 1>
auto compute_nuclear_multipoles (const Vec3 &o={0.0, 0.0, 0.0}) const
 
template<int order>
auto compute_multipoles (const MolecularOrbitals &mo, const Vec3 &o={0.0, 0.0, 0.0}) const
 
double range_separated_omega () const
 
void set_range_separated_omega (double omega)
 
- Public Member Functions inherited from occ::qm::SCFMethodBase
 SCFMethodBase (const std::vector< core::Atom > &)
 
const auto & atoms () const
 
int system_charge () const
 
int total_electrons () const
 
int active_electrons () const
 
const auto & frozen_electrons () const
 
Vec3 center_of_mass () const
 
void set_system_charge (int charge)
 
double nuclear_repulsion_energy () const
 
Mat3N nuclear_repulsion_gradient () const
 
Vec nuclear_electric_potential_contribution (const Mat3N &) const
 
Mat3N nuclear_electric_field_contribution (const Mat3N &) const
 
void set_frozen_electrons (const std::vector< int > &)
 

Additional Inherited Members

- Protected Member Functions inherited from occ::qm::SCFMethodBase
void update_electron_count ()
 
- Protected Attributes inherited from occ::qm::SCFMethodBase
int m_charge {0}
 
int m_num_electrons {0}
 
int m_num_frozen {0}
 
std::vector< occ::core::Atomm_atoms
 
std::vector< int > m_frozen_electrons
 

Constructor & Destructor Documentation

◆ HartreeFock()

occ::qm::HartreeFock::HartreeFock ( const AOBasis basis)

Member Function Documentation

◆ aobasis()

const auto & occ::qm::HartreeFock::aobasis ( ) const
inline

◆ compute_effective_core_potential_matrix()

Mat occ::qm::HartreeFock::compute_effective_core_potential_matrix ( ) const

◆ compute_electronic_multipoles()

template<int order>
occ::core::Multipole< order > occ::qm::HartreeFock::compute_electronic_multipoles ( const MolecularOrbitals mo,
const Vec3 o = {0.0, 0.0, 0.0} 
) const
inline

◆ compute_fock()

Mat occ::qm::HartreeFock::compute_fock ( const MolecularOrbitals mo,
const Mat Schwarz = Mat() 
) const

◆ compute_fock_gradient()

MatTriple occ::qm::HartreeFock::compute_fock_gradient ( const MolecularOrbitals mo,
const Mat Schwarz = Mat() 
) const

◆ compute_fock_mixed_basis()

Mat occ::qm::HartreeFock::compute_fock_mixed_basis ( const MolecularOrbitals mo_minbs,
const qm::AOBasis bs,
bool  is_shell_diagonal 
)

◆ compute_J()

Mat occ::qm::HartreeFock::compute_J ( const MolecularOrbitals mo,
const Mat Schwarz = Mat() 
) const

◆ compute_J_gradient()

MatTriple occ::qm::HartreeFock::compute_J_gradient ( const MolecularOrbitals mo,
const Mat Schwarz = Mat() 
) const

◆ compute_J_list()

std::vector< Mat > occ::qm::HartreeFock::compute_J_list ( const std::vector< MolecularOrbitals > &  mo,
const Mat Schwarz = Mat() 
) const

◆ compute_JK()

JKPair occ::qm::HartreeFock::compute_JK ( const MolecularOrbitals mo,
const Mat Schwarz = Mat() 
) const

◆ compute_JK_gradient()

JKTriple occ::qm::HartreeFock::compute_JK_gradient ( const MolecularOrbitals mo,
const Mat Schwarz = Mat() 
) const

◆ compute_JK_list()

std::vector< JKPair > occ::qm::HartreeFock::compute_JK_list ( const std::vector< MolecularOrbitals > &  mo,
const Mat Schwarz = Mat() 
) const

◆ compute_kinetic_gradient()

MatTriple occ::qm::HartreeFock::compute_kinetic_gradient ( ) const

◆ compute_kinetic_matrix()

Mat occ::qm::HartreeFock::compute_kinetic_matrix ( ) const

◆ compute_multipoles()

template<int order>
auto occ::qm::HartreeFock::compute_multipoles ( const MolecularOrbitals mo,
const Vec3 o = {0.0, 0.0, 0.0} 
) const
inline

◆ compute_nuclear_attraction_gradient()

MatTriple occ::qm::HartreeFock::compute_nuclear_attraction_gradient ( ) const

◆ compute_nuclear_attraction_matrix()

Mat occ::qm::HartreeFock::compute_nuclear_attraction_matrix ( ) const

◆ compute_nuclear_multipoles()

template<unsigned int order = 1>
auto occ::qm::HartreeFock::compute_nuclear_multipoles ( const Vec3 o = {0.0, 0.0, 0.0}) const
inline

◆ compute_overlap_gradient()

MatTriple occ::qm::HartreeFock::compute_overlap_gradient ( ) const

◆ compute_overlap_matrix()

Mat occ::qm::HartreeFock::compute_overlap_matrix ( ) const

◆ compute_overlap_matrix_for_basis()

Mat occ::qm::HartreeFock::compute_overlap_matrix_for_basis ( const occ::qm::AOBasis basis) const

◆ compute_point_charge_interaction_matrix()

Mat occ::qm::HartreeFock::compute_point_charge_interaction_matrix ( const PointChargeList point_charges,
double  alpha = 1e16 
) const

◆ compute_rinv_gradient_for_atom()

MatTriple occ::qm::HartreeFock::compute_rinv_gradient_for_atom ( size_t  atom_index) const

◆ compute_schwarz_ints()

Mat occ::qm::HartreeFock::compute_schwarz_ints ( ) const

◆ compute_wolf_interaction_matrix()

Mat occ::qm::HartreeFock::compute_wolf_interaction_matrix ( const PointChargeList point_charges,
const std::vector< double > &  partial_charges,
double  alpha,
double  rc 
) const

◆ electronic_electric_field_contribution()

Mat3N occ::qm::HartreeFock::electronic_electric_field_contribution ( const MolecularOrbitals mo,
const Mat3N  
) const

◆ electronic_electric_potential_contribution()

Vec occ::qm::HartreeFock::electronic_electric_potential_contribution ( const MolecularOrbitals mo,
const Mat3N  
) const

◆ have_effective_core_potentials()

bool occ::qm::HartreeFock::have_effective_core_potentials ( ) const
inline

◆ nbf()

auto occ::qm::HartreeFock::nbf ( ) const
inline

◆ nuclear_point_charge_interaction_energy()

double occ::qm::HartreeFock::nuclear_point_charge_interaction_energy ( const PointChargeList ) const

◆ range_separated_omega()

double occ::qm::HartreeFock::range_separated_omega ( ) const
inline

◆ set_density_fitting_basis()

void occ::qm::HartreeFock::set_density_fitting_basis ( const std::string &  )

◆ set_precision()

void occ::qm::HartreeFock::set_precision ( double  precision)
inline

◆ set_range_separated_omega()

void occ::qm::HartreeFock::set_range_separated_omega ( double  omega)
inline

◆ supports_incremental_fock_build()

bool occ::qm::HartreeFock::supports_incremental_fock_build ( ) const
inline

◆ update_core_hamiltonian()

void occ::qm::HartreeFock::update_core_hamiltonian ( const MolecularOrbitals mo,
Mat H 
)
inline

◆ update_scf_energy()

void occ::qm::HartreeFock::update_scf_energy ( occ::core::EnergyComponents energy,
bool  incremental 
) const
inline

◆ usual_scf_energy()

bool occ::qm::HartreeFock::usual_scf_energy ( ) const
inline

◆ wolf_point_charge_interaction_energy()

double occ::qm::HartreeFock::wolf_point_charge_interaction_energy ( const PointChargeList ,
const std::vector< double > &  partial_charges,
double  alpha,
double  rc 
) const

The documentation for this class was generated from the following file: