MADNESS
version 0.9
|
#include <mp2.h>
Public Types | |
typedef Function< T, NDIM > | funcT |
Public Member Functions | |
HartreeFock (World &world, std::shared_ptr< SCF > calc1) | |
bool | provides_gradient () const |
double | value () |
double | value (const Tensor< double > &x) |
Tensor< double > | gradient (const Tensor< double > &x) |
double | coord_chksum () const |
const SCF & | get_calc () const |
SCF & | get_calc () |
real_function_3d | orbital (const int i) const |
return full orbital i, multiplied with the nuclear correlation factor More... | |
std::vector< real_function_3d > | orbitals () const |
return full orbitals, multiplied with the nuclear correlation factor More... | |
std::vector< real_function_3d > | R2orbitals () const |
return orbitals, multiplied with the square nuclear correlation factor More... | |
real_function_3d | R2orbital (const int i) const |
return orbital i, multiplied with the square nuclear correlation factor More... | |
real_function_3d | nemo (const int i) const |
return nemo i, which is the regularized orbital More... | |
std::vector< real_function_3d > | nemos () const |
return nemo, which are the regularized orbitals More... | |
double | orbital_energy (const int i) const |
return orbital energy i More... | |
real_function_3d | get_coulomb_potential () const |
return the Coulomb potential More... | |
real_function_3d | get_nuclear_potential () const |
return the nuclear potential More... | |
int | nocc () const |
return the number of occupied orbitals More... | |
HartreeFock (World &world, funcT V, std::vector< funcT > phis, std::vector< double > eigs, bool bCoulomb, bool bExchange, double thresh) | |
virtual | ~HartreeFock () |
void | hartree_fock (int maxits) |
funcT | calculate_coulomb (funcT psi) |
funcT | calculate_exchange (funcT psi) |
double | calculate_ke_sp (funcT psi) |
double | calculate_pe_sp (funcT psi) |
double | calculate_coulomb_energy (const std::vector< funcT > &phis, const funcT &psi) |
double | calculate_exchange_energy (const std::vector< funcT > &phis, const funcT &psi) |
T | matrix_element (const funcT &phii, const funcT &phij) |
virtual void | iterateOutput (const std::vector< funcT > &phis, const std::vector< double > &eigs, const funcT &rho, const int &iter) |
bool | include_coulomb () |
bool | include_exchange () |
double | get_eig (int indx) |
funcT | get_phi (int indx) |
const std::vector< double > & | eigs () |
const std::vector< funcT > & | phis () |
double | calculate_tot_ke_sp (const std::vector< funcT > &phis) |
double | calculate_tot_pe_sp (const std::vector< funcT > &phis) |
double | calculate_tot_coulomb_energy (const std::vector< funcT > &phis) |
double | calculate_tot_exchange_energy (const std::vector< funcT > &phis) |
Public Member Functions inherited from madness::IEigSolverObserver< T, NDIM > | |
virtual void | iterateOutput (const std::vector< funcT > &phis, const std::vector< double > &eigs, const Function< double, NDIM > &rho, const int &iter, bool periodic)=0 |
virtual | ~IEigSolverObserver () |
Public Attributes | |
Nemo | nemo_calc |
typedef Function<T,NDIM> madness::HartreeFock< T, NDIM >::funcT |
|
inline |
madness::HartreeFock< T, NDIM >::HartreeFock | ( | World & | world, |
funcT | V, | ||
std::vector< funcT > | phis, | ||
std::vector< double > | eigs, | ||
bool | bCoulomb, | ||
bool | bExchange, | ||
double | thresh | ||
) |
|
virtual |
funcT madness::HartreeFock< T, NDIM >::calculate_coulomb | ( | funcT | psi | ) |
double madness::HartreeFock< T, NDIM >::calculate_coulomb_energy | ( | const std::vector< funcT > & | phis, |
const funcT & | psi | ||
) |
funcT madness::HartreeFock< T, NDIM >::calculate_exchange | ( | funcT | psi | ) |
double madness::HartreeFock< T, NDIM >::calculate_exchange_energy | ( | const std::vector< funcT > & | phis, |
const funcT & | psi | ||
) |
References madness::apply(), madness::FunctionDefaults< NDIM >::get_k(), madness::inner(), op(), psi(), and thresh.
double madness::HartreeFock< T, NDIM >::calculate_ke_sp | ( | funcT | psi | ) |
References madness::inner().
double madness::HartreeFock< T, NDIM >::calculate_pe_sp | ( | funcT | psi | ) |
References psi().
double madness::HartreeFock< T, NDIM >::calculate_tot_coulomb_energy | ( | const std::vector< funcT > & | phis | ) |
double madness::HartreeFock< T, NDIM >::calculate_tot_exchange_energy | ( | const std::vector< funcT > & | phis | ) |
double madness::HartreeFock< T, NDIM >::calculate_tot_ke_sp | ( | const std::vector< funcT > & | phis | ) |
double madness::HartreeFock< T, NDIM >::calculate_tot_pe_sp | ( | const std::vector< funcT > & | phis | ) |
|
inline |
|
inline |
Referenced by madness::HartreeFock< T, NDIM >::HartreeFock().
|
inline |
Referenced by main().
|
inline |
|
inline |
return the Coulomb potential
References madness::SCF::aocc, madness::copy(), madness::Function< T, NDIM >::is_initialized(), madness::SCF::make_coulomb_potential(), madness::SCF::make_density(), madness::HartreeFock< T, NDIM >::orbitals(), madness::SCF::param, madness::Function< T, NDIM >::scale(), and madness::CalculationParameters::spin_restricted.
|
inline |
|
inline |
return the nuclear potential
References madness::SCF::potentialmanager.
|
inline |
|
inline |
References madness::SCF::derivatives(), and madness::HartreeFock< T, NDIM >::value().
void madness::HartreeFock< T, NDIM >::hartree_fock | ( | int | maxits | ) |
|
inline |
|
inline |
|
virtual |
|
inline |
|
inline |
return nemo i, which is the regularized orbital
note that nemo() and orbital() are the same if no nuclear correlation factor is used
References madness::SCF::amo, madness::SCF::param, and madness::CalculationParameters::spin_restricted.
|
inline |
return nemo, which are the regularized orbitals
note that nemo() and orbital() are the same if no nuclear correlation factor is used
References madness::SCF::amo, madness::SCF::param, and madness::CalculationParameters::spin_restricted.
|
inline |
return the number of occupied orbitals
References madness::CalculationParameters::nalpha, madness::SCF::param, and madness::CalculationParameters::spin_restricted.
|
inline |
return full orbital i, multiplied with the nuclear correlation factor
note that nemo() and orbital() are the same if no nuclear correlation factor is used
References madness::SCF::param, and madness::CalculationParameters::spin_restricted.
|
inline |
return orbital energy i
References madness::SCF::aeps, madness::SCF::param, and madness::CalculationParameters::spin_restricted.
Referenced by madness::MP2::zeroth_order_energy().
|
inline |
return full orbitals, multiplied with the nuclear correlation factor
note that nemo() and orbital() are the same if no nuclear correlation factor is used
References madness::SCF::param, and madness::CalculationParameters::spin_restricted.
Referenced by madness::HartreeFock< T, NDIM >::get_coulomb_potential().
|
inline |
Referenced by madness::HartreeFock< T, NDIM >::HartreeFock().
|
inline |
|
inline |
return orbital i, multiplied with the square nuclear correlation factor
note that nemo() and orbital() are the same if no nuclear correlation factor is used
References madness::SCF::param, and madness::CalculationParameters::spin_restricted.
|
inline |
return orbitals, multiplied with the square nuclear correlation factor
note that nemo() and orbital() are the same if no nuclear correlation factor is used
References madness::SCF::param, and madness::CalculationParameters::spin_restricted.
|
inline |
References madness::Molecule::get_all_coords(), and madness::SCF::molecule.
Referenced by madness::HartreeFock< T, NDIM >::gradient(), and main().
|
inline |
References madness::CalculationParameters::aobasis, madness::SCF::current_energy, madness::CalculationParameters::econv, madness::Nemo::get_calc(), madness::SCF::initial_guess(), madness::SCF::load_mos(), madness::SCF::make_nuclear_potential(), madness::SCF::molecule, madness::mul(), madness::Molecule::natom(), madness::CalculationParameters::no_compute, madness::Nemo::nuclear_correlation, madness::SCF::param, madness::SCF::potentialmanager, madness::SCF::project(), madness::SCF::project_ao_basis(), madness::Nemo::R, R2, madness::CalculationParameters::restart, madness::SCF::save_mos(), madness::Molecule::set_all_coords(), madness::SCF::set_protocol(), madness::SCF::solve(), and madness::Nemo::value().
Nemo madness::HartreeFock< T, NDIM >::nemo_calc |