ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
HamiltTEST< T > Class Template Reference
Inheritance diagram for HamiltTEST< T >:
Collaboration diagram for HamiltTEST< T >:

Public Member Functions

void matrix (hamilt::MatrixBlock< T > &hk_in, hamilt::MatrixBlock< T > &sk_in)
 
void constructHamilt (const int iter, const hamilt::MatrixBlock< double > rho)
 
void updateHk (const int ik)
 for target K point, update consequence of hPsi() and matrix()
 
void matrix (hamilt::MatrixBlock< T > &hk_in, hamilt::MatrixBlock< T > &sk_in)
 
void constructHamilt (const int iter, const hamilt::MatrixBlock< double > rho)
 
void updateHk (const int ik)
 for target K point, update consequence of hPsi() and matrix()
 
void matrix (hamilt::MatrixBlock< T > &hk_in, hamilt::MatrixBlock< T > &sk_in)
 
void constructHamilt (const int iter, const hamilt::MatrixBlock< double > rho)
 
void updateHk (const int ik)
 for target K point, update consequence of hPsi() and matrix()
 
- Public Member Functions inherited from hamilt::Hamilt< T, Device >
virtual ~Hamilt ()
 
virtual void refresh (void)
 refresh status of Hamiltonian, for example, refresh H(R) and S(R) in LCAO case
 
virtual void hPsi (const T *psi_in, T *hpsi, const size_t size) const
 core function: for solving eigenvalues of Hamiltonian with iterative method
 
virtual void sPsi (const T *psi_in, T *spsi, const int nrow, const int npw, const int nbands) const
 
virtual void matrix (MatrixBlock< std::complex< double > > &hk_in, MatrixBlock< std::complex< double > > &sk_in)
 core function: return H(k) and S(k) matrixs for direct solving eigenvalues.
 
virtual void matrix (MatrixBlock< double > &hk_in, MatrixBlock< double > &sk_in)
 
virtual std::vector< Tmatrix ()
 

Public Attributes

int desc [9]
 
int nrow
 
int ncol
 
std::vector< Th_local
 
std::vector< Ts_local
 
- Public Attributes inherited from hamilt::Hamilt< T, Device >
std::string classname = "none"
 
int non_first_scf =0
 
Operator< T, Device > * ops = nullptr
 first node operator, add operations from each operators
 

Additional Inherited Members

- Protected Types inherited from hamilt::Hamilt< T, Device >
using syncmem_op = base_device::memory::synchronize_memory_op< T, Device, Device >
 
- Protected Attributes inherited from hamilt::Hamilt< T, Device >
Device * ctx = {}
 

Detailed Description

template<typename T>
class HamiltTEST< T >

Tested function:

The 2d block cyclic distribution of H/S matrix is done by self-realized functions in source_hsolver/test/diago_elpa_utils.h

Member Function Documentation

◆ constructHamilt() [1/3]

template<typename T >
void HamiltTEST< T >::constructHamilt ( const int  iter,
const hamilt::MatrixBlock< double >  rho 
)
inline

◆ constructHamilt() [2/3]

template<typename T >
void HamiltTEST< T >::constructHamilt ( const int  iter,
const hamilt::MatrixBlock< double >  rho 
)
inline

◆ constructHamilt() [3/3]

template<typename T >
void HamiltTEST< T >::constructHamilt ( const int  iter,
const hamilt::MatrixBlock< double >  rho 
)
inline

◆ matrix() [1/3]

template<typename T >
void HamiltTEST< T >::matrix ( hamilt::MatrixBlock< T > &  hk_in,
hamilt::MatrixBlock< T > &  sk_in 
)
inline

◆ matrix() [2/3]

template<typename T >
void HamiltTEST< T >::matrix ( hamilt::MatrixBlock< T > &  hk_in,
hamilt::MatrixBlock< T > &  sk_in 
)
inline

◆ matrix() [3/3]

template<typename T >
void HamiltTEST< T >::matrix ( hamilt::MatrixBlock< T > &  hk_in,
hamilt::MatrixBlock< T > &  sk_in 
)
inline

◆ updateHk() [1/3]

template<typename T >
void HamiltTEST< T >::updateHk ( const int  ik)
inlinevirtual

for target K point, update consequence of hPsi() and matrix()

Reimplemented from hamilt::Hamilt< T, Device >.

◆ updateHk() [2/3]

template<typename T >
void HamiltTEST< T >::updateHk ( const int  ik)
inlinevirtual

for target K point, update consequence of hPsi() and matrix()

Reimplemented from hamilt::Hamilt< T, Device >.

◆ updateHk() [3/3]

template<typename T >
void HamiltTEST< T >::updateHk ( const int  ik)
inlinevirtual

for target K point, update consequence of hPsi() and matrix()

Reimplemented from hamilt::Hamilt< T, Device >.

Member Data Documentation

◆ desc

template<typename T >
int HamiltTEST< T >::desc

◆ h_local

template<typename T >
std::vector< T > HamiltTEST< T >::h_local

◆ ncol

template<typename T >
int HamiltTEST< T >::ncol

◆ nrow

template<typename T >
int HamiltTEST< T >::nrow

◆ s_local

template<typename T >
std::vector< T > HamiltTEST< T >::s_local

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