MADNESS 0.10.1
madness::DFT< T, NDIM > Class Template Reference

#include <dft.h>

Inheritance diagram for madness::DFT< T, NDIM >:
Collaboration diagram for madness::DFT< T, NDIM >:

Public Member Functions

 DFT ()
 DFT (World &world, funcT vnucrhon, std::vector< funcT > phis, std::vector< double > eigs, ElectronicStructureParams params)
virtual ~DFT ()
const std::vector< double > & eigs ()
double get_eig (int indx)
funcT get_phi (int indx)
virtual void iterateOutput (const std::vector< funcT > &phis, const std::vector< double > &eigs, const Function< double, NDIM > &rho, const int &iter, bool periodic=false)
T matrix_element (const funcT &phii, const funcT &phij)
const std::vector< funcT > & phis ()
void print_matrix_elements (const funcT &phii, const funcT &phij)
void solve (int maxits)
Public Member Functions inherited from madness::IEigSolverObserver< T, NDIM >
virtual ~IEigSolverObserver ()

Static Public Member Functions

static double calculate_ke_sp (funcT psi, bool periodic=false)
static double calculate_tot_coulomb_energy (const World &world, const Function< double, NDIM > &rho, bool spinpol, const double thresh, bool periodic=false)
static double calculate_tot_ke_sp (const std::vector< funcT > &phis, bool spinpol, bool periodic=false)
static double calculate_tot_pe_sp (const World &world, const Function< double, NDIM > &rho, const Function< double, NDIM > &vnucrhon, bool spinpol, const double thresh, bool periodic, bool ispotential)
static double calculate_tot_xc_energy (const Function< double, NDIM > &rho)

Private Types

typedef Function< T, NDIM > funcT
typedef Vector< double, NDIM > kvecT

Private Member Functions

World & world ()

Private Attributes

ElectronicStructureParams _params
EigSolver< T, NDIM > * _solver
Function< double, NDIM > _vnucrhon
World & _world
EigSolverOp< T, NDIM > * _xcfunc

Member Typedef Documentation

◆ funcT

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

◆ kvecT

template<typename T, int NDIM>
typedef Vector<double,NDIM> madness::DFT< T, NDIM >::kvecT
private

Constructor & Destructor Documentation

◆ DFT() [1/2]

template<typename T, int NDIM>
madness::DFT< T, NDIM >::DFT ( World & world,
funcT vnucrhon,
std::vector< funcT > phis,
std::vector< double > eigs,
ElectronicStructureParams params )

◆ DFT() [2/2]

template<typename T, int NDIM>
madness::DFT< T, NDIM >::DFT ( )

◆ ~DFT()

template<typename T, int NDIM>
madness::DFT< T, NDIM >::~DFT ( )
virtual

References ~DFT(), and _solver.

Referenced by ~DFT().

Member Function Documentation

◆ calculate_ke_sp()

template<typename T, int NDIM>
double madness::DFT< T, NDIM >::calculate_ke_sp ( funcT psi,
bool periodic = false )
static

◆ calculate_tot_coulomb_energy()

template<typename T, int NDIM>
double madness::DFT< T, NDIM >::calculate_tot_coulomb_energy ( const World & world,
const Function< double, NDIM > & rho,
bool spinpol,
const double thresh,
bool periodic = false )
static

◆ calculate_tot_ke_sp()

template<typename T, int NDIM>
double madness::DFT< T, NDIM >::calculate_tot_ke_sp ( const std::vector< funcT > & phis,
bool spinpol,
bool periodic = false )
static

◆ calculate_tot_pe_sp()

template<typename T, int NDIM>
double madness::DFT< T, NDIM >::calculate_tot_pe_sp ( const World & world,
const Function< double, NDIM > & rho,
const Function< double, NDIM > & vnucrhon,
bool spinpol,
const double thresh,
bool periodic,
bool ispotential )
static

◆ calculate_tot_xc_energy()

template<typename T, int NDIM>
double madness::DFT< T, NDIM >::calculate_tot_xc_energy ( const Function< double, NDIM > & rho)
static

◆ eigs()

template<typename T, int NDIM>
const std::vector< double > & madness::DFT< T, NDIM >::eigs ( )
inline

References _solver.

Referenced by DFT(), and iterateOutput().

◆ get_eig()

template<typename T, int NDIM>
double madness::DFT< T, NDIM >::get_eig ( int indx)
inline

References _solver.

◆ get_phi()

template<typename T, int NDIM>
funcT madness::DFT< T, NDIM >::get_phi ( int indx)
inline

References _solver.

◆ iterateOutput()

template<typename T, int NDIM>
void madness::DFT< T, NDIM >::iterateOutput ( const std::vector< funcT > & phis,
const std::vector< double > & eigs,
const Function< double, NDIM > & rho,
const int & iter,
bool periodic = false )
virtual

◆ matrix_element()

template<typename T, int NDIM>
T madness::DFT< T, NDIM >::matrix_element ( const funcT & phii,
const funcT & phij )
inline

References _solver.

Referenced by iterateOutput().

◆ phis()

template<typename T, int NDIM>
const std::vector< funcT > & madness::DFT< T, NDIM >::phis ( )
inline

References _solver.

Referenced by DFT(), DFT(), calculate_tot_ke_sp(), and iterateOutput().

◆ print_matrix_elements()

template<typename T, int NDIM>
void madness::DFT< T, NDIM >::print_matrix_elements ( const funcT & phii,
const funcT & phij )
inline

References _solver.

Referenced by iterateOutput().

◆ solve()

template<typename T, int NDIM>
void madness::DFT< T, NDIM >::solve ( int maxits)

References _solver, and solve().

Referenced by solve(), test_he(), and test_hf_be().

◆ world()

template<typename T, int NDIM>
World & madness::DFT< T, NDIM >::world ( )
inlineprivate

Member Data Documentation

◆ _params

template<typename T, int NDIM>
ElectronicStructureParams madness::DFT< T, NDIM >::_params
private

Referenced by DFT(), and iterateOutput().

◆ _solver

template<typename T, int NDIM>
EigSolver<T,NDIM>* madness::DFT< T, NDIM >::_solver
private

◆ _vnucrhon

template<typename T, int NDIM>
Function<double,NDIM> madness::DFT< T, NDIM >::_vnucrhon
private

Referenced by DFT(), and iterateOutput().

◆ _world

template<typename T, int NDIM>
World& madness::DFT< T, NDIM >::_world
private

Referenced by DFT(), iterateOutput(), and world().

◆ _xcfunc

template<typename T, int NDIM>
EigSolverOp<T,NDIM>* madness::DFT< T, NDIM >::_xcfunc
private

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