74 size_t size()
const {
return this->psi_cpu->
size(); }
81 template <
typename T,
typename Device>
84 template <
typename T,
typename Device>
88 template <
typename T,
typename Device>
93 template <
typename T,
typename Device>
123 template <
typename T,
typename Device>
132 template <
typename T,
typename Device>
135 template <
typename T,
typename Device>
138 template <
typename T,
typename Device>
141 template <
typename T,
typename Device>
144 template <
typename T,
typename Device>
145 void castmem_d2h_impl(std::complex<double>* dst,
const std::complex<double>* src,
const size_t size);
147 template <
typename T,
typename Device>
148 void castmem_d2h_impl(std::complex<double>* dst,
const std::complex<float>* src,
const size_t size);
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:56
Definition setup_psi_pw.h:15
psi::PSIPrepareBase * p_psi_init
Definition setup_psi_pw.h:43
~Setup_Psi_pw()
Definition setup_psi_pw.cpp:6
void * psi_t
Definition setup_psi_pw.h:106
void clean()
Definition setup_psi_pw.cpp:233
void update_psi_d_impl()
Definition setup_psi_pw.cpp:84
void update_psi_d()
Definition setup_psi_pw.cpp:99
psi::Psi< std::complex< double >, base_device::DEVICE_CPU > * psi_cpu
Definition setup_psi_pw.h:40
PrecisionType
Definition setup_psi_pw.h:26
bool already_initpsi
Definition setup_psi_pw.h:111
void before_runner(const UnitCell &ucell, const K_Vectors &kv, const Structure_Factor &sf, const ModulePW::PW_Basis_K &pw_wfc, const pseudopot_cell_vnl &ppcell, const Input_para &inp)
Definition setup_psi_pw.cpp:49
int get_nbasis() const
Definition setup_psi_pw.h:73
void clean_impl()
Definition setup_psi_pw.cpp:218
psi::Psi< std::complex< double >, Device > * get_psi_d()
Definition setup_psi_pw.h:89
void init(hamilt::HamiltBase *p_hamilt)
Definition setup_psi_pw.cpp:138
base_device::AbacusDevice_t device_type_
Definition setup_psi_pw.h:116
size_t size() const
Definition setup_psi_pw.h:74
void * psi_d
Definition setup_psi_pw.h:109
psi::Psi< T, Device > * get_psi_t()
Definition setup_psi_pw.h:82
Setup_Psi_pw()
Definition setup_psi_pw.cpp:4
void copy_d2h()
Definition setup_psi_pw.cpp:186
PrecisionType precision_type_
Definition setup_psi_pw.h:117
const psi::Psi< T, Device > * get_psi_t() const
Definition setup_psi_pw.h:85
PrecisionType get_precision_type() const
Definition setup_psi_pw.h:78
void init_impl(hamilt::Hamilt< T, Device > *p_hamilt)
Definition setup_psi_pw.cpp:128
int get_nk() const
Definition setup_psi_pw.h:72
void castmem_d2h_impl(std::complex< double > *dst, const std::complex< double > *src, const size_t size)
Definition setup_psi_pw.cpp:206
void copy_d2h_impl()
Definition setup_psi_pw.cpp:178
base_device::AbacusDevice_t get_device_type() const
Definition setup_psi_pw.h:77
const psi::Psi< std::complex< double >, Device > * get_psi_d() const
Definition setup_psi_pw.h:94
void before_runner_impl(const UnitCell &ucell, const K_Vectors &kv, const Structure_Factor &sf, const ModulePW::PW_Basis_K &pw_wfc, const pseudopot_cell_vnl &ppcell, const Input_para &inp)
Definition setup_psi_pw.cpp:9
int get_nbands() const
Definition setup_psi_pw.h:71
Definition structure_factor.h:10
Base class for Hamiltonian.
Definition hamilt_base.h:17
Base class for PSIPrepare without template parameters.
Definition psi_prepare_base.h:15
const int & get_nbands() const
Definition psi.cpp:341
const int & get_nk() const
Definition psi.cpp:335
size_t size() const
Definition psi.cpp:353
const int & get_nbasis() const
Definition psi.cpp:347
AbacusDevice_t
Definition types.h:12
@ CpuDevice
Definition types.h:14