11template <
typename T,
typename Device = base_device::DEVICE_CPU>
16 const std::string& ks_solver_in,
17 const std::string& basis_type_in,
41 std::ofstream& ofs_running);
90void allocate_psi(
Psi<std::complex<double>>*&
psi,
const int& nks,
const std::vector<int>& ngk,
const int& nbands,
const int& npwx);
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:56
Definition structure_factor.h:10
Base class for PSIPrepare without template parameters.
Definition psi_prepare_base.h:15
Definition psi_prepare.h:13
const K_Vectors & kv
Definition psi_prepare.h:69
void initialize_psi(Psi< std::complex< double > > *psi, psi::Psi< T, Device > *kspw_psi, hamilt::Hamilt< T, Device > *p_hamilt, std::ofstream &ofs_running)
initialize the wavefunction
Definition psi_prepare.cpp:115
void prepare_init(const int &random_seed)
prepare the wavefunction initialization
Definition psi_prepare.cpp:38
std::string basis_type
Definition psi_prepare.h:63
const ModulePW::PW_Basis_K & pw_wfc
Definition psi_prepare.h:66
std::string ks_solver
Definition psi_prepare.h:60
std::string init_wfc
Definition psi_prepare.h:57
const int rank
MPI rank.
Definition psi_prepare.h:82
std::unique_ptr< psi_initializer< T > > psi_initer
Definition psi_prepare.h:53
const pseudopot_cell_vnl & nlpp
Definition psi_prepare.h:78
const UnitCell & ucell
Definition psi_prepare.h:72
~PSIPrepare()
Definition psi_prepare.h:24
base_device::DEVICE_CPU * cpu_ctx
CPU device.
Definition psi_prepare.h:81
Device * ctx
device
Definition psi_prepare.h:80
const Structure_Factor & sf
Definition psi_prepare.h:75
void initialize_lcao_in_pw(Psi< T > *psi_local, std::ofstream &ofs_running)
initialize NAOs in plane wave basis, only for LCAO_IN_PW
Definition psi_prepare.cpp:264
void allocate_psi(Psi< std::complex< double > > *&psi, const int &nks, const std::vector< int > &ngk, const int &nbands, const int &npwx)
allocate the wavefunction
Definition psi_prepare.cpp:275
Definition memory_op.h:61