MADNESS  0.10.1
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
madness::DFT< T, NDIM > Class Template Reference

#include <dft.h>

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

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, NDIMfuncT
 
typedef Vector< double, NDIMkvecT
 

Private Member Functions

Worldworld ()
 

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

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

References axis, diff(), madness::inner(), and psi().

◆ 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

References pi, and psi().

Referenced by madness::DFT< T, NDIM >::iterateOutput().

◆ 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

◆ get_eig()

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

◆ get_phi()

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

◆ 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

◆ phis()

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

◆ print_matrix_elements()

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

◆ solve()

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

Referenced by 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

◆ _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

◆ _world

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

◆ _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: