|
ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <hamilt_pw.h>
Public Member Functions | |
| HamiltPW (elecstate::Potential *pot_in, ModulePW::PW_Basis_K *wfc_basis, K_Vectors *p_kv, pseudopot_cell_vnl *nlpp, const UnitCell *ucell) | |
| template<typename T_in , typename Device_in = Device> | |
| HamiltPW (const HamiltPW< T_in, Device_in > *hamilt) | |
| ~HamiltPW () | |
| void | updateHk (const int ik) override |
| for target K point, update consequence of hPsi() and matrix() | |
| void | sPsi (const T *psi_in, T *spsi, const int nrow, const int npw, const int nbands) const override |
| void | set_exx_helper (Exx_Helper< T, Device > &exx_helper_in) |
| void | sPsi (const double *psi_in, double *spsi, const int nrow, const int npw, const int nbands) const |
| void | sPsi (const std::complex< double > *psi_in, std::complex< double > *spsi, const int nrow, const int npw, const int nbands) const |
| void | sPsi (const std::complex< float > *psi_in, std::complex< float > *spsi, const int nrow, const int npw, const int nbands) const |
| void | updateHk (const int ik) |
| for target K point, update consequence of hPsi() and matrix() | |
| HamiltPW (elecstate::Potential *pot_in, ModulePW::PW_Basis_K *wfc_basis, K_Vectors *pkv, pseudopot_cell_vnl *, const UnitCell *) | |
| ~HamiltPW () | |
| void | updateHk (const int ik) |
| for target K point, update consequence of hPsi() and matrix() | |
| HamiltPW (elecstate::Potential *pot_in, ModulePW::PW_Basis_K *wfc_basis, K_Vectors *pkv, pseudopot_cell_vnl *, const UnitCell *) | |
| ~HamiltPW () | |
| void | updateHk (const int ik) |
| for target K point, update consequence of hPsi() and matrix() | |
| HamiltPW (elecstate::Potential *pot_in, ModulePW::PW_Basis_K *wfc_basis, K_Vectors *pkv, pseudopot_cell_vnl *, const UnitCell *) | |
| ~HamiltPW () | |
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 | 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 () |
Protected Types | |
| using | gemv_op = ModuleBase::gemv_op< T, Device > |
| using | gemm_op = ModuleBase::gemm_op< T, Device > |
| using | setmem_complex_op = base_device::memory::set_memory_op< T, Device > |
| using | resmem_complex_op = base_device::memory::resize_memory_op< T, Device > |
| using | delmem_complex_op = base_device::memory::delete_memory_op< T, Device > |
| using | syncmem_op = base_device::memory::synchronize_memory_op< T, Device, Device > |
Protected Types inherited from hamilt::Hamilt< T, Device > | |
| using | syncmem_op = base_device::memory::synchronize_memory_op< T, Device, Device > |
Protected Attributes | |
| const pseudopot_cell_vnl * | ppcell = nullptr |
| const UnitCell *const | ucell = nullptr |
| T * | vkb = nullptr |
| Real * | qq_nt = nullptr |
| T * | qq_so = nullptr |
| Device * | ctx = {} |
Protected Attributes inherited from hamilt::Hamilt< T, Device > | |
| Device * | ctx = {} |
Private Types | |
| using | Real = typename GetTypeReal< T >::type |
Additional Inherited Members | |
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 | |
|
protected |
|
protected |
|
protected |
|
private |
|
protected |
|
protected |
|
protected |
| hamilt::HamiltPW< T, Device >::HamiltPW | ( | elecstate::Potential * | pot_in, |
| ModulePW::PW_Basis_K * | wfc_basis, | ||
| K_Vectors * | p_kv, | ||
| pseudopot_cell_vnl * | nlpp, | ||
| const UnitCell * | ucell | ||
| ) |
|
explicit |
| hamilt::HamiltPW< T, Device >::~HamiltPW | ( | ) |
| hamilt::HamiltPW< double >::HamiltPW | ( | elecstate::Potential * | pot_in, |
| ModulePW::PW_Basis_K * | wfc_basis, | ||
| K_Vectors * | pkv, | ||
| pseudopot_cell_vnl * | , | ||
| const UnitCell * | |||
| ) |
| hamilt::HamiltPW< double >::~HamiltPW | ( | ) |
| hamilt::HamiltPW< std::complex< double > >::HamiltPW | ( | elecstate::Potential * | pot_in, |
| ModulePW::PW_Basis_K * | wfc_basis, | ||
| K_Vectors * | pkv, | ||
| pseudopot_cell_vnl * | , | ||
| const UnitCell * | |||
| ) |
| hamilt::HamiltPW< std::complex< double > >::~HamiltPW | ( | ) |
| hamilt::HamiltPW< std::complex< float > >::HamiltPW | ( | elecstate::Potential * | pot_in, |
| ModulePW::PW_Basis_K * | wfc_basis, | ||
| K_Vectors * | pkv, | ||
| pseudopot_cell_vnl * | , | ||
| const UnitCell * | |||
| ) |
| hamilt::HamiltPW< std::complex< float > >::~HamiltPW | ( | ) |
| void hamilt::HamiltPW< T, Device >::set_exx_helper | ( | Exx_Helper< T, Device > & | exx_helper_in | ) |
| void hamilt::HamiltPW< double, base_device::DEVICE_CPU >::sPsi | ( | const double * | psi_in, |
| double * | spsi, | ||
| const int | nrow, | ||
| const int | npw, | ||
| const int | nbands | ||
| ) | const |
| void hamilt::HamiltPW< std::complex< double >, base_device::DEVICE_CPU >::sPsi | ( | const std::complex< double > * | psi_in, |
| std::complex< double > * | spsi, | ||
| const int | nrow, | ||
| const int | npw, | ||
| const int | nbands | ||
| ) | const |
| void hamilt::HamiltPW< std::complex< float >, base_device::DEVICE_CPU >::sPsi | ( | const std::complex< float > * | psi_in, |
| std::complex< float > * | spsi, | ||
| const int | nrow, | ||
| const int | npw, | ||
| const int | nbands | ||
| ) | const |
|
overridevirtual |
|
virtual |
for target K point, update consequence of hPsi() and matrix()
Reimplemented from hamilt::Hamilt< T, Device >.
|
virtual |
for target K point, update consequence of hPsi() and matrix()
Reimplemented from hamilt::Hamilt< T, Device >.
|
virtual |
for target K point, update consequence of hPsi() and matrix()
Reimplemented from hamilt::Hamilt< T, Device >.
|
overridevirtual |
for target K point, update consequence of hPsi() and matrix()
Reimplemented from hamilt::Hamilt< T, Device >.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |