10template <
typename T,
typename Device = base_device::DEVICE_CPU>
14 PSIInit(
const std::string& init_wfc_in,
15 const std::string& ks_solver_in,
16 const std::string& basis_type_in,
40 std::ofstream& ofs_running);
89void 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:57
Definition structure_factor.h:11
Definition VNL_in_pw.h:21
std::string ks_solver
Definition psi_init.h:59
Device * ctx
device
Definition psi_init.h:79
const UnitCell & ucell
Definition psi_init.h:71
base_device::DEVICE_CPU * cpu_ctx
CPU device.
Definition psi_init.h:80
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_init.cpp:85
std::string init_wfc
Definition psi_init.h:56
const int rank
MPI rank.
Definition psi_init.h:81
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_init.cpp:234
std::unique_ptr< psi_initializer< T > > psi_initer
Definition psi_init.h:52
const K_Vectors & kv
Definition psi_init.h:68
const Structure_Factor & sf
Definition psi_init.h:74
std::string basis_type
Definition psi_init.h:62
const pseudopot_cell_vnl & nlpp
Definition psi_init.h:77
void prepare_init(const int &random_seed)
prepare the wavefunction initialization
Definition psi_init.cpp:37
const ModulePW::PW_Basis_K & pw_wfc
Definition psi_init.h:65
~PSIInit()
Definition psi_init.h:23
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_init.cpp:245
Definition memory_op.h:45