#include <hamilt.h>
|
virtual | ~Hamilt () |
|
virtual void | updateHk (const int ik) |
| for target K point, update consequence of hPsi() and matrix()
|
|
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< T > | matrix () |
|
◆ syncmem_op
template<typename
T , typename Device = base_device::DEVICE_CPU>
◆ ~Hamilt()
template<typename
T , typename Device = base_device::DEVICE_CPU>
◆ hPsi()
template<typename
T , typename Device = base_device::DEVICE_CPU>
virtual void hamilt::Hamilt< T, Device >::hPsi |
( |
const T * |
psi_in, |
|
|
T * |
hpsi, |
|
|
const size_t |
size |
|
) |
| const |
|
inlinevirtual |
core function: for solving eigenvalues of Hamiltonian with iterative method
◆ matrix() [1/3]
template<typename
T , typename Device = base_device::DEVICE_CPU>
◆ matrix() [2/3]
template<typename
T , typename Device = base_device::DEVICE_CPU>
◆ matrix() [3/3]
template<typename
T , typename Device = base_device::DEVICE_CPU>
core function: return H(k) and S(k) matrixs for direct solving eigenvalues.
◆ refresh()
template<typename
T , typename Device = base_device::DEVICE_CPU>
◆ sPsi()
template<typename
T , typename Device = base_device::DEVICE_CPU>
virtual void hamilt::Hamilt< T, Device >::sPsi |
( |
const T * |
psi_in, |
|
|
T * |
spsi, |
|
|
const int |
nrow, |
|
|
const int |
npw, |
|
|
const int |
nbands |
|
) |
| const |
|
inlinevirtual |
◆ updateHk()
template<typename
T , typename Device = base_device::DEVICE_CPU>
for target K point, update consequence of hPsi() and matrix()
Reimplemented in HamiltTEST< T >, HamiltTEST< T >, HamiltTEST< T >, hamilt::HamiltPW< T, Device >, hamilt::HamiltPW< std::complex< double >, base_device::DEVICE_CPU >, hamilt::HamiltPW< std::complex< FPTYPE >, Device >, hamilt::HamiltPW< std::complex< lowTYPE >, Device >, hamilt::HamiltPW< T, base_device::DEVICE_CPU >, hamilt::HamiltPW< T, Device >, hamilt::HamiltPW< std::complex< double >, base_device::DEVICE_CPU >, hamilt::HamiltPW< std::complex< FPTYPE >, Device >, hamilt::HamiltPW< std::complex< lowTYPE >, Device >, hamilt::HamiltPW< T, base_device::DEVICE_CPU >, hamilt::HamiltPW< T, Device >, hamilt::HamiltPW< std::complex< double >, base_device::DEVICE_CPU >, hamilt::HamiltPW< std::complex< FPTYPE >, Device >, hamilt::HamiltPW< std::complex< lowTYPE >, Device >, hamilt::HamiltPW< T, base_device::DEVICE_CPU >, hamilt::HamiltLCAO< TK, TR >, hamilt::HamiltPW< T, Device >, hamilt::HamiltPW< std::complex< double >, base_device::DEVICE_CPU >, hamilt::HamiltPW< std::complex< FPTYPE >, Device >, hamilt::HamiltPW< std::complex< lowTYPE >, Device >, and hamilt::HamiltPW< T, base_device::DEVICE_CPU >.
◆ classname
template<typename
T , typename Device = base_device::DEVICE_CPU>
◆ ctx
template<typename
T , typename Device = base_device::DEVICE_CPU>
◆ non_first_scf
template<typename
T , typename Device = base_device::DEVICE_CPU>
◆ ops
template<typename
T , typename Device = base_device::DEVICE_CPU>
first node operator, add operations from each operators
The documentation for this class was generated from the following file:
- /home/runner/work/abacus-develop/abacus-develop/source/source_hamilt/hamilt.h