ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Private Types | Private Attributes | List of all members
HPsi< T > Class Template Reference

#include <diago_mock.h>

Collaboration diagram for HPsi< T >:

Public Member Functions

 HPsi (int nband, int npw, int sparsity=7)
 
 HPsi ()
 
 ~HPsi ()
 
void create (int nbd, int npw, int sparsity=7)
 
Realprecond ()
 
std::vector< Thamilt ()
 
psi::Psi< Tpsi ()
 
void genhmatrix ()
 
void genpsi ()
 
void genprecondition ()
 
void genhmatrix ()
 
void genhmatrix ()
 
void genhmatrix ()
 
void genpsi ()
 
void genpsi ()
 
void genpsi ()
 

Private Types

using Real = typename GetTypeReal< T >::type
 

Private Attributes

int npw
 
int nband
 
std::vector< Thmatrix
 
std::vector< Tpsimatrix
 
Realprecondition
 
int min = 0
 
int max = 9999
 
int sparsity
 

Member Typedef Documentation

◆ Real

template<typename T >
using HPsi< T >::Real = typename GetTypeReal<T>::type
private

This calss used to produce the Hermite matrix, the initial guess wave function, and the precondition by the random number. The elements of Hermite matrix and wave function are between -1.0 to 1.0, and the preconddition is between 1.0 to 2.0.

The parameters in construct function or function create() are same:

  • int nband/nbd: number of calculated bands
  • int npw: number of plane wave
  • int sparsity: the sparsity of Halmit matrix, between 0 and 10. (0 means no sparsity, 10 means a diagonal matrix)

After instantiation a HPsi, one can use below functions:

  • hamilt(): return the Hermite matrix (type: std::vector<T>)
  • precond(): return the precondition (type: Real Pointer)

Constructor & Destructor Documentation

◆ HPsi() [1/2]

template<typename T >
HPsi< T >::HPsi ( int  nband,
int  npw,
int  sparsity = 7 
)
inline
Here is the call graph for this function:

◆ HPsi() [2/2]

template<typename T >
HPsi< T >::HPsi ( )
inline

◆ ~HPsi()

template<typename T >
HPsi< T >::~HPsi ( )
inline

Member Function Documentation

◆ create()

template<typename T >
void HPsi< T >::create ( int  nbd,
int  npw,
int  sparsity = 7 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ genhmatrix() [1/4]

template<typename T >
void HPsi< T >::genhmatrix ( )
Here is the caller graph for this function:

◆ genhmatrix() [2/4]

void HPsi< double >::genhmatrix ( )

◆ genhmatrix() [3/4]

void HPsi< std::complex< double > >::genhmatrix ( )
Here is the call graph for this function:

◆ genhmatrix() [4/4]

void HPsi< std::complex< float > >::genhmatrix ( )
Here is the call graph for this function:

◆ genprecondition()

template<typename T >
void HPsi< T >::genprecondition ( )
inline
Here is the caller graph for this function:

◆ genpsi() [1/4]

template<typename T >
void HPsi< T >::genpsi ( )
Here is the caller graph for this function:

◆ genpsi() [2/4]

void HPsi< double >::genpsi ( )

◆ genpsi() [3/4]

void HPsi< std::complex< double > >::genpsi ( )

◆ genpsi() [4/4]

void HPsi< std::complex< float > >::genpsi ( )

◆ hamilt()

template<typename T >
std::vector< T > HPsi< T >::hamilt ( )
inline
Here is the caller graph for this function:

◆ precond()

template<typename T >
Real * HPsi< T >::precond ( )
inline
Here is the caller graph for this function:

◆ psi()

template<typename T >
psi::Psi< T > HPsi< T >::psi ( )
inline
Here is the caller graph for this function:

Member Data Documentation

◆ hmatrix

template<typename T >
std::vector<T> HPsi< T >::hmatrix
private

◆ max

template<typename T >
int HPsi< T >::max = 9999
private

◆ min

template<typename T >
int HPsi< T >::min = 0
private

◆ nband

template<typename T >
int HPsi< T >::nband
private

◆ npw

template<typename T >
int HPsi< T >::npw
private

◆ precondition

template<typename T >
Real* HPsi< T >::precondition
private

◆ psimatrix

template<typename T >
std::vector<T> HPsi< T >::psimatrix
private

◆ sparsity

template<typename T >
int HPsi< T >::sparsity
private

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