occ
Loading...
Searching...
No Matches
occ::dft::DFT Class Reference

#include <dft.h>

Inheritance diagram for occ::dft::DFT:
[legend]
Collaboration diagram for occ::dft::DFT:
[legend]

Public Member Functions

 DFT (const std::string &, const AOBasis &, const BeckeGridSettings &={})
 
const auto & aobasis () const
 
auto nbf () const
 
void set_integration_grid (const BeckeGridSettings &={})
 
void set_density_fitting_basis (const std::string &density_fitting_basis)
 
void set_precision (double precision)
 
double exchange_correlation_energy () const
 
double exchange_energy_total () 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
 
int density_derivative () const
 
double exact_exchange_factor () const
 
RangeSeparatedParameters range_separated_parameters () const
 
double nuclear_point_charge_interaction_energy (const PointChargeList &pc) const
 
auto compute_kinetic_matrix () const
 
auto compute_overlap_matrix () const
 
auto compute_overlap_matrix_for_basis (const occ::qm::AOBasis &bs) const
 
auto compute_nuclear_attraction_matrix () const
 
auto compute_effective_core_potential_matrix () const
 
auto compute_point_charge_interaction_matrix (const PointChargeList &point_charges) const
 
auto compute_schwarz_ints () const
 
template<unsigned int order = 1>
auto 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<unsigned int order = 1>
auto compute_multipoles (const MolecularOrbitals &mo, const Vec3 &o={0.0, 0.0, 0.0}) const
 
template<int derivative_order, SpinorbitalKind spinorbital_kind = SpinorbitalKind::Restricted>
Mat compute_K_dft (const MolecularOrbitals &mo, const Mat &Schwarz)
 
Mat compute_J (const MolecularOrbitals &mo, const Mat &Schwarz=Mat()) const
 
Mat compute_vxc (const MolecularOrbitals &mo, const Mat &Schwarz=Mat())
 
qm::JKPair compute_JK (const MolecularOrbitals &mo, const Mat &Schwarz=Mat())
 
bool have_nonlocal_correlation () const
 
double post_scf_nlc_correction (const MolecularOrbitals &mo)
 
Mat compute_fock (const MolecularOrbitals &mo, const Mat &Schwarz=Mat())
 
const auto & hf () const
 
Mat compute_fock_mixed_basis (const MolecularOrbitals &mo_bs, const qm::AOBasis &bs, bool is_shell_diagonal)
 
Vec electronic_electric_potential_contribution (const MolecularOrbitals &mo, const Mat3N &pts) const
 
Mat3N electronic_electric_field_contribution (const MolecularOrbitals &mo, const Mat3N &pts) const
 
void update_core_hamiltonian (const MolecularOrbitals &mo, Mat &H)
 
void set_method (const std::string &method_string)
 
const std::string & method_string () const
 
const auto & functionals () const
 
- 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

◆ DFT()

occ::dft::DFT::DFT ( const std::string &  ,
const AOBasis ,
const BeckeGridSettings = {} 
)

Member Function Documentation

◆ aobasis()

const auto & occ::dft::DFT::aobasis ( ) const
inline

◆ compute_effective_core_potential_matrix()

auto occ::dft::DFT::compute_effective_core_potential_matrix ( ) const
inline

◆ compute_electronic_multipoles()

template<unsigned int order = 1>
auto occ::dft::DFT::compute_electronic_multipoles ( const MolecularOrbitals mo,
const Vec3 o = {0.0, 0.0, 0.0} 
) const
inline

◆ compute_fock()

Mat occ::dft::DFT::compute_fock ( const MolecularOrbitals mo,
const Mat Schwarz = Mat() 
)
inline

◆ compute_fock_mixed_basis()

Mat occ::dft::DFT::compute_fock_mixed_basis ( const MolecularOrbitals mo_bs,
const qm::AOBasis bs,
bool  is_shell_diagonal 
)
inline

◆ compute_J()

Mat occ::dft::DFT::compute_J ( const MolecularOrbitals mo,
const Mat Schwarz = Mat() 
) const
inline

◆ compute_JK()

qm::JKPair occ::dft::DFT::compute_JK ( const MolecularOrbitals mo,
const Mat Schwarz = Mat() 
)
inline

◆ compute_K_dft()

template<int derivative_order, SpinorbitalKind spinorbital_kind = SpinorbitalKind::Restricted>
Mat occ::dft::DFT::compute_K_dft ( const MolecularOrbitals mo,
const Mat Schwarz 
)
inline

◆ compute_kinetic_matrix()

auto occ::dft::DFT::compute_kinetic_matrix ( ) const
inline

◆ compute_multipoles()

template<unsigned int order = 1>
auto occ::dft::DFT::compute_multipoles ( const MolecularOrbitals mo,
const Vec3 o = {0.0, 0.0, 0.0} 
) const
inline

◆ compute_nuclear_attraction_matrix()

auto occ::dft::DFT::compute_nuclear_attraction_matrix ( ) const
inline

◆ compute_nuclear_multipoles()

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

◆ compute_overlap_matrix()

auto occ::dft::DFT::compute_overlap_matrix ( ) const
inline

◆ compute_overlap_matrix_for_basis()

auto occ::dft::DFT::compute_overlap_matrix_for_basis ( const occ::qm::AOBasis bs) const
inline

◆ compute_point_charge_interaction_matrix()

auto occ::dft::DFT::compute_point_charge_interaction_matrix ( const PointChargeList point_charges) const
inline

◆ compute_schwarz_ints()

auto occ::dft::DFT::compute_schwarz_ints ( ) const
inline

◆ compute_vxc()

Mat occ::dft::DFT::compute_vxc ( const MolecularOrbitals mo,
const Mat Schwarz = Mat() 
)
inline

◆ density_derivative()

int occ::dft::DFT::density_derivative ( ) const

◆ electronic_electric_field_contribution()

Mat3N occ::dft::DFT::electronic_electric_field_contribution ( const MolecularOrbitals mo,
const Mat3N &  pts 
) const
inline

◆ electronic_electric_potential_contribution()

Vec occ::dft::DFT::electronic_electric_potential_contribution ( const MolecularOrbitals mo,
const Mat3N &  pts 
) const
inline

◆ exact_exchange_factor()

double occ::dft::DFT::exact_exchange_factor ( ) const
inline

◆ exchange_correlation_energy()

double occ::dft::DFT::exchange_correlation_energy ( ) const
inline

◆ exchange_energy_total()

double occ::dft::DFT::exchange_energy_total ( ) const
inline

◆ functionals()

const auto & occ::dft::DFT::functionals ( ) const
inline

◆ have_effective_core_potentials()

bool occ::dft::DFT::have_effective_core_potentials ( ) const
inline

◆ have_nonlocal_correlation()

bool occ::dft::DFT::have_nonlocal_correlation ( ) const
inline

◆ hf()

const auto & occ::dft::DFT::hf ( ) const
inline

◆ method_string()

const std::string & occ::dft::DFT::method_string ( ) const
inline

◆ nbf()

auto occ::dft::DFT::nbf ( ) const
inline

◆ nuclear_point_charge_interaction_energy()

double occ::dft::DFT::nuclear_point_charge_interaction_energy ( const PointChargeList pc) const
inline

◆ post_scf_nlc_correction()

double occ::dft::DFT::post_scf_nlc_correction ( const MolecularOrbitals mo)
inline

◆ range_separated_parameters()

RangeSeparatedParameters occ::dft::DFT::range_separated_parameters ( ) const

◆ set_density_fitting_basis()

void occ::dft::DFT::set_density_fitting_basis ( const std::string &  density_fitting_basis)
inline

◆ set_integration_grid()

void occ::dft::DFT::set_integration_grid ( const BeckeGridSettings = {})

◆ set_method()

void occ::dft::DFT::set_method ( const std::string &  method_string)

◆ set_precision()

void occ::dft::DFT::set_precision ( double  precision)
inline

◆ supports_incremental_fock_build()

bool occ::dft::DFT::supports_incremental_fock_build ( ) const
inline

◆ update_core_hamiltonian()

void occ::dft::DFT::update_core_hamiltonian ( const MolecularOrbitals mo,
Mat H 
)
inline

◆ update_scf_energy()

void occ::dft::DFT::update_scf_energy ( occ::core::EnergyComponents energy,
bool  incremental 
) const
inline

◆ usual_scf_energy()

bool occ::dft::DFT::usual_scf_energy ( ) const
inline

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