MADNESS  version 0.9
Public Types | Public Member Functions | Public Attributes | List of all members
madness::HartreeFock< T, NDIM > Class Template Reference

#include <mp2.h>

Inheritance diagram for madness::HartreeFock< T, NDIM >:
Inheritance graph
[legend]
Collaboration diagram for madness::HartreeFock< T, NDIM >:
Collaboration graph
[legend]

Public Types

typedef Function< T, NDIMfuncT
 

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 SCFget_calc () const
 
SCFget_calc ()
 
real_function_3d orbital (const int i) const
 return full orbital i, multiplied with the nuclear correlation factor More...
 
std::vector< real_function_3dorbitals () const
 return full orbitals, multiplied with the nuclear correlation factor More...
 
std::vector< real_function_3dR2orbitals () 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_3dnemos () 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)
 
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
 

Member Typedef Documentation

template<typename T , int NDIM>
typedef Function<T,NDIM> madness::HartreeFock< T, NDIM >::funcT

Constructor & Destructor Documentation

template<typename T , int NDIM>
madness::HartreeFock< T, NDIM >::HartreeFock ( World world,
std::shared_ptr< SCF calc1 
)
inline
template<typename T , int NDIM>
madness::HartreeFock< T, NDIM >::HartreeFock ( World world,
funcT  V,
std::vector< funcT phis,
std::vector< double >  eigs,
bool  bCoulomb,
bool  bExchange,
double  thresh 
)
template<typename T , int NDIM>
madness::HartreeFock< T, NDIM >::~HartreeFock ( )
virtual

Member Function Documentation

template<typename T , int NDIM>
funcT madness::HartreeFock< T, NDIM >::calculate_coulomb ( funcT  psi)
template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::calculate_coulomb_energy ( const std::vector< funcT > &  phis,
const funcT psi 
)
template<typename T , int NDIM>
funcT madness::HartreeFock< T, NDIM >::calculate_exchange ( funcT  psi)
template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::calculate_exchange_energy ( const std::vector< funcT > &  phis,
const funcT psi 
)
template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::calculate_ke_sp ( funcT  psi)

References madness::inner().

template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::calculate_pe_sp ( funcT  psi)

References psi().

template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::calculate_tot_coulomb_energy ( const std::vector< funcT > &  phis)

References pi, and psi().

template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::calculate_tot_exchange_energy ( const std::vector< funcT > &  phis)

References pi, and psi().

template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::calculate_tot_ke_sp ( const std::vector< funcT > &  phis)

References pi, and psi().

template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::calculate_tot_pe_sp ( const std::vector< funcT > &  phis)

References pi, and psi().

template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::coord_chksum ( ) const
inline
template<typename T , int NDIM>
const std::vector<double>& madness::HartreeFock< T, NDIM >::eigs ( )
inline
template<typename T , int NDIM>
const SCF& madness::HartreeFock< T, NDIM >::get_calc ( ) const
inline

Referenced by main().

template<typename T , int NDIM>
SCF& madness::HartreeFock< T, NDIM >::get_calc ( )
inline
template<typename T , int NDIM>
real_function_3d madness::HartreeFock< T, NDIM >::get_coulomb_potential ( ) const
inline
template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::get_eig ( int  indx)
inline
template<typename T , int NDIM>
real_function_3d madness::HartreeFock< T, NDIM >::get_nuclear_potential ( ) const
inline

return the nuclear potential

References madness::SCF::potentialmanager.

template<typename T , int NDIM>
funcT madness::HartreeFock< T, NDIM >::get_phi ( int  indx)
inline
template<typename T , int NDIM>
Tensor<double> madness::HartreeFock< T, NDIM >::gradient ( const Tensor< double > &  x)
inline
template<typename T , int NDIM>
void madness::HartreeFock< T, NDIM >::hartree_fock ( int  maxits)
template<typename T , int NDIM>
bool madness::HartreeFock< T, NDIM >::include_coulomb ( )
inline
template<typename T , int NDIM>
bool madness::HartreeFock< T, NDIM >::include_exchange ( )
inline
template<typename T , int NDIM>
void madness::HartreeFock< T, NDIM >::iterateOutput ( const std::vector< funcT > &  phis,
const std::vector< double > &  eigs,
const funcT rho,
const int &  iter 
)
virtual
template<typename T , int NDIM>
T madness::HartreeFock< T, NDIM >::matrix_element ( const funcT phii,
const funcT phij 
)
inline
template<typename T , int NDIM>
real_function_3d madness::HartreeFock< T, NDIM >::nemo ( const int  i) const
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.

template<typename T , int NDIM>
std::vector<real_function_3d> madness::HartreeFock< T, NDIM >::nemos ( ) const
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.

template<typename T , int NDIM>
int madness::HartreeFock< T, NDIM >::nocc ( ) const
inline
template<typename T , int NDIM>
real_function_3d madness::HartreeFock< T, NDIM >::orbital ( const int  i) const
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.

template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::orbital_energy ( const int  i) const
inline
template<typename T , int NDIM>
std::vector<real_function_3d> madness::HartreeFock< T, NDIM >::orbitals ( ) const
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().

template<typename T , int NDIM>
const std::vector<funcT>& madness::HartreeFock< T, NDIM >::phis ( )
inline
template<typename T , int NDIM>
bool madness::HartreeFock< T, NDIM >::provides_gradient ( ) const
inline
template<typename T , int NDIM>
real_function_3d madness::HartreeFock< T, NDIM >::R2orbital ( const int  i) const
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.

template<typename T , int NDIM>
std::vector<real_function_3d> madness::HartreeFock< T, NDIM >::R2orbitals ( ) const
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.

template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::value ( )
inline
template<typename T , int NDIM>
double madness::HartreeFock< T, NDIM >::value ( const Tensor< double > &  x)
inline

Member Data Documentation

template<typename T , int NDIM>
Nemo madness::HartreeFock< T, NDIM >::nemo_calc

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