From 991ad328e6aa4bf072f7058e24541e87acca8a8f Mon Sep 17 00:00:00 2001 From: Qianruipku Date: Fri, 10 Jan 2025 17:11:00 +0800 Subject: [PATCH 1/2] Refactor: remove GlobalC::Pkpoint --- source/module_cell/klist.cpp | 16 ++++++++-------- source/module_cell/klist.h | 5 ++++- source/module_cell/parallel_kpoints.cpp | 4 ++-- source/module_cell/parallel_kpoints.h | 4 ++-- source/module_esolver/esolver_ks_lcao.cpp | 6 ++---- source/module_esolver/esolver_ks_pw.cpp | 7 +++---- source/module_esolver/esolver_sdft_pw.cpp | 4 ++-- source/module_hamilt_pw/hamilt_pwdft/global.h | 1 - source/module_io/dos_nao.cpp | 6 +----- source/module_io/dos_nao.h | 1 - source/module_io/nscf_band.cpp | 13 ++++++------- source/module_io/nscf_band.h | 4 +--- source/module_io/nscf_fermi_surf.cpp | 5 ++--- source/module_io/nscf_fermi_surf.h | 1 - source/module_io/numerical_basis.cpp | 12 ++++++------ source/module_io/test_serial/nscf_band_test.cpp | 11 +++++------ source/module_io/to_wannier90_lcao_in_pw.cpp | 2 +- source/module_io/write_istate_info.cpp | 6 +++--- source/module_io/write_istate_info.h | 3 +-- source/module_io/write_wfc_pw.cpp | 3 --- source/module_io/write_wfc_r.cpp | 4 ++-- 21 files changed, 51 insertions(+), 67 deletions(-) diff --git a/source/module_cell/klist.cpp b/source/module_cell/klist.cpp index 68a788c0eb..4bae46f38f 100644 --- a/source/module_cell/klist.cpp +++ b/source/module_cell/klist.cpp @@ -148,12 +148,12 @@ void K_Vectors::set(const UnitCell& ucell, // It's very important in parallel case, // firstly do the mpi_k() and then // do set_kup_and_kdw() - GlobalC::Pkpoints.kinfo(nkstot, - GlobalV::KPAR, - GlobalV::MY_POOL, - GlobalV::RANK_IN_POOL, - GlobalV::NPROC, - nspin_in); // assign k points to several process pools + this->para_k.kinfo(nkstot, + GlobalV::KPAR, + GlobalV::MY_POOL, + GlobalV::RANK_IN_POOL, + GlobalV::NPROC, + nspin_in); // assign k points to several process pools #ifdef __MPI // distribute K point data to the corresponding process this->mpi_k(); // 2008-4-29 @@ -1163,7 +1163,7 @@ void K_Vectors::mpi_k() Parallel_Common::bcast_double(koffset, 3); - this->nks = GlobalC::Pkpoints.nks_pool[GlobalV::MY_POOL]; + this->nks = this->para_k.nks_pool[GlobalV::MY_POOL]; GlobalV::ofs_running << std::endl; ModuleBase::GlobalFunc::OUT(GlobalV::ofs_running, "k-point number in this process", nks); @@ -1217,7 +1217,7 @@ void K_Vectors::mpi_k() for (int i = 0; i < nks; i++) { // 3 is because each k point has three value:kx, ky, kz - k_index = i + GlobalC::Pkpoints.startk_pool[GlobalV::MY_POOL]; + k_index = i + this->para_k.startk_pool[GlobalV::MY_POOL]; kvec_c[i].x = kvec_c_aux[k_index * 3]; kvec_c[i].y = kvec_c_aux[k_index * 3 + 1]; kvec_c[i].z = kvec_c_aux[k_index * 3 + 2]; diff --git a/source/module_cell/klist.h b/source/module_cell/klist.h index b9af96bed7..cc08e336f1 100644 --- a/source/module_cell/klist.h +++ b/source/module_cell/klist.h @@ -5,7 +5,7 @@ #include "module_base/global_variable.h" #include "module_base/matrix3.h" #include "module_cell/unitcell.h" - +#include "parallel_kpoints.h" #include class K_Vectors @@ -31,6 +31,9 @@ class K_Vectors K_Vectors& operator=(const K_Vectors&) = default; K_Vectors& operator=(K_Vectors&& rhs) = default; + Parallel_Kpoints para_k; ///< parallel for kpoints + + /** * @brief Set up the k-points for the system. * diff --git a/source/module_cell/parallel_kpoints.cpp b/source/module_cell/parallel_kpoints.cpp index 518ba96c01..115fe151cf 100644 --- a/source/module_cell/parallel_kpoints.cpp +++ b/source/module_cell/parallel_kpoints.cpp @@ -227,7 +227,7 @@ void Parallel_Kpoints::pool_collection(double* value_re, return; } -void Parallel_Kpoints::pool_collection(std::complex* value, const ModuleBase::ComplexArray& w, const int& ik) +void Parallel_Kpoints::pool_collection(std::complex* value, const ModuleBase::ComplexArray& w, const int& ik) const { const int dim2 = w.getBound2(); const int dim3 = w.getBound3(); @@ -237,7 +237,7 @@ void Parallel_Kpoints::pool_collection(std::complex* value, const Module } template -void Parallel_Kpoints::pool_collection_aux(T* value, const V& w, const int& dim, const int& ik) +void Parallel_Kpoints::pool_collection_aux(T* value, const V& w, const int& dim, const int& ik) const { #ifdef __MPI const int ik_now = ik - this->startk_pool[this->my_pool]; diff --git a/source/module_cell/parallel_kpoints.h b/source/module_cell/parallel_kpoints.h index 5e10aa2a9c..11030b055a 100644 --- a/source/module_cell/parallel_kpoints.h +++ b/source/module_cell/parallel_kpoints.h @@ -28,9 +28,9 @@ class Parallel_Kpoints const ModuleBase::realArray& a, const ModuleBase::realArray& b, const int& ik); - void pool_collection(std::complex* value, const ModuleBase::ComplexArray& w, const int& ik); + void pool_collection(std::complex* value, const ModuleBase::ComplexArray& w, const int& ik) const; template - void pool_collection_aux(T* value, const V& w, const int& dim, const int& ik); + void pool_collection_aux(T* value, const V& w, const int& dim, const int& ik) const; #ifdef __MPI /** * @brief gather kpoints from all processors diff --git a/source/module_esolver/esolver_ks_lcao.cpp b/source/module_esolver/esolver_ks_lcao.cpp index 1fc3b1cdc3..8716edc82f 100644 --- a/source/module_esolver/esolver_ks_lcao.cpp +++ b/source/module_esolver/esolver_ks_lcao.cpp @@ -416,7 +416,7 @@ void ESolver_KS_LCAO::after_all_runners(UnitCell& ucell) // qianrui modify 2020-10-18 if (PARAM.inp.calculation == "scf" || PARAM.inp.calculation == "md" || PARAM.inp.calculation == "relax") { - ModuleIO::write_istate_info(this->pelec->ekb, this->pelec->wg, this->kv, &(GlobalC::Pkpoints)); + ModuleIO::write_istate_info(this->pelec->ekb, this->pelec->wg, this->kv); } const int nspin0 = (PARAM.inp.nspin == 2) ? 2 : 1; @@ -434,8 +434,7 @@ void ESolver_KS_LCAO::after_all_runners(UnitCell& ucell) 0.0, PARAM.inp.out_band[1], this->pelec->ekb, - this->kv, - &(GlobalC::Pkpoints)); + this->kv); } } // out_band @@ -454,7 +453,6 @@ void ESolver_KS_LCAO::after_all_runners(UnitCell& ucell) PARAM.inp.dos_scale, PARAM.inp.dos_sigma, *(this->pelec->klist), - GlobalC::Pkpoints, ucell, this->pelec->eferm, PARAM.inp.nbands, diff --git a/source/module_esolver/esolver_ks_pw.cpp b/source/module_esolver/esolver_ks_pw.cpp index 23639d45a3..6ab0cccba1 100644 --- a/source/module_esolver/esolver_ks_pw.cpp +++ b/source/module_esolver/esolver_ks_pw.cpp @@ -209,7 +209,7 @@ void ESolver_KS_PW::before_all_runners(UnitCell& ucell, const Input_p GlobalV::MY_RANK, ucell, this->sf, - GlobalC::Pkpoints, + this->kv.para_k, this->ppcell, *this->pw_wfc); allocate_psi(this->psi, this->kv.get_nks(), this->kv.ngk.data(), PARAM.inp.nbands, this->pw_wfc->npwk_max); @@ -844,7 +844,7 @@ void ESolver_KS_PW::after_all_runners(UnitCell& ucell) } //! 2) Print occupation numbers into istate.info - ModuleIO::write_istate_info(this->pelec->ekb, this->pelec->wg, this->kv, &(GlobalC::Pkpoints)); + ModuleIO::write_istate_info(this->pelec->ekb, this->pelec->wg, this->kv); //! 3) Compute density of states (DOS) if (PARAM.inp.out_dos) @@ -883,8 +883,7 @@ void ESolver_KS_PW::after_all_runners(UnitCell& ucell) 0.0, PARAM.inp.out_band[1], this->pelec->ekb, - this->kv, - &(GlobalC::Pkpoints)); + this->kv); } } diff --git a/source/module_esolver/esolver_sdft_pw.cpp b/source/module_esolver/esolver_sdft_pw.cpp index 5432008d3f..667b440916 100644 --- a/source/module_esolver/esolver_sdft_pw.cpp +++ b/source/module_esolver/esolver_sdft_pw.cpp @@ -266,7 +266,7 @@ void ESolver_SDFT_PW::after_all_runners(UnitCell& ucell) GlobalV::ofs_running << std::setprecision(16); GlobalV::ofs_running << " !FINAL_ETOT_IS " << this->pelec->f_en.etot * ModuleBase::Ry_to_eV << " eV" << std::endl; GlobalV::ofs_running << " --------------------------------------------\n\n" << std::endl; - ModuleIO::write_istate_info(this->pelec->ekb, this->pelec->wg, this->kv, &(GlobalC::Pkpoints)); + ModuleIO::write_istate_info(this->pelec->ekb, this->pelec->wg, this->kv); } template <> @@ -277,7 +277,7 @@ void ESolver_SDFT_PW, base_device::DEVICE_CPU>::after_all_r GlobalV::ofs_running << std::setprecision(16); GlobalV::ofs_running << " !FINAL_ETOT_IS " << this->pelec->f_en.etot * ModuleBase::Ry_to_eV << " eV" << std::endl; GlobalV::ofs_running << " --------------------------------------------\n\n" << std::endl; - ModuleIO::write_istate_info(this->pelec->ekb, this->pelec->wg, this->kv, &(GlobalC::Pkpoints)); + ModuleIO::write_istate_info(this->pelec->ekb, this->pelec->wg, this->kv); if (this->method_sto == 2) { diff --git a/source/module_hamilt_pw/hamilt_pwdft/global.h b/source/module_hamilt_pw/hamilt_pwdft/global.h index 4a00fd5f12..8eb1bd91d4 100644 --- a/source/module_hamilt_pw/hamilt_pwdft/global.h +++ b/source/module_hamilt_pw/hamilt_pwdft/global.h @@ -264,7 +264,6 @@ namespace GlobalC #include "module_cell/unitcell.h" namespace GlobalC { -extern Parallel_Kpoints Pkpoints; extern Restart restart; // Peize Lin add 2020.04.04 } // namespace GlobalC diff --git a/source/module_io/dos_nao.cpp b/source/module_io/dos_nao.cpp index 894673bfe1..88eb900782 100644 --- a/source/module_io/dos_nao.cpp +++ b/source/module_io/dos_nao.cpp @@ -14,7 +14,6 @@ namespace ModuleIO /// @param[in] dos_scale /// @param[in] dos_sigma /// @param[in] kv - /// @param[in] Pkpoints /// @param[in] ucell /// @param[in] eferm /// @param[in] nbands @@ -28,7 +27,6 @@ namespace ModuleIO const double& dos_scale, const double& dos_sigma, const K_Vectors& kv, - const Parallel_Kpoints& Pkpoints, const UnitCell& ucell, const elecstate::efermi& eferm, int nbands, @@ -45,7 +43,7 @@ namespace ModuleIO { std::stringstream ss3; ss3 << PARAM.globalv.global_out_dir << "Fermi_Surface_" << i << ".bxsf"; - nscf_fermi_surface(ss3.str(), nbands, eferm.ef, kv, Pkpoints, ucell, ekb); + nscf_fermi_surface(ss3.str(), nbands, eferm.ef, kv, ucell, ekb); } } @@ -69,7 +67,6 @@ template void out_dos_nao( const double& dos_scale, const double& dos_sigma, const K_Vectors& kv, - const Parallel_Kpoints& Pkpoints, const UnitCell& ucell, const elecstate::efermi& eferm, int nbands, @@ -84,7 +81,6 @@ template void out_dos_nao( const double& dos_scale, const double& dos_sigma, const K_Vectors& kv, - const Parallel_Kpoints& Pkpoints, const UnitCell& ucell, const elecstate::efermi& eferm, int nbands, diff --git a/source/module_io/dos_nao.h b/source/module_io/dos_nao.h index aa3207f432..0be48ef26b 100644 --- a/source/module_io/dos_nao.h +++ b/source/module_io/dos_nao.h @@ -18,7 +18,6 @@ namespace ModuleIO const double& dos_scale, const double& dos_sigma, const K_Vectors& kv, - const Parallel_Kpoints& Pkpoints, const UnitCell& ucell, const elecstate::efermi& eferm, int nbands, diff --git a/source/module_io/nscf_band.cpp b/source/module_io/nscf_band.cpp index f328e5bb3f..c81753f313 100644 --- a/source/module_io/nscf_band.cpp +++ b/source/module_io/nscf_band.cpp @@ -12,15 +12,14 @@ void ModuleIO::nscf_band( const double &fermie, const int &precision, const ModuleBase::matrix& ekb, - const K_Vectors& kv, - const Parallel_Kpoints* Pkpoints) + const K_Vectors& kv) { ModuleBase::TITLE("ModuleIO","nscf_band"); ModuleBase::timer::tick("ModuleIO", "nscf_band"); // number of k points without spin; nspin = 1,2, nkstot = nkstot_np * nspin; // nspin = 4, nkstot = nkstot_np - const int nkstot_np = Pkpoints->nkstot_np; - const int nks_np = Pkpoints->nks_np; + const int nkstot_np = kv.para_k.nkstot_np; + const int nks_np = kv.para_k.nks_np; #ifdef __MPI if(GlobalV::MY_RANK==0) @@ -33,7 +32,7 @@ void ModuleIO::nscf_band( klength.resize(nkstot_np); klength[0] = 0.0; std::vector> kvec_c_global; - Pkpoints->gatherkvec(kv.kvec_c, kvec_c_global); + kv.para_k.gatherkvec(kv.kvec_c, kvec_c_global); for(int ik=0; ik0) @@ -43,10 +42,10 @@ void ModuleIO::nscf_band( klength[ik] += (kv.kl_segids[ik] == kv.kl_segids[ik-1]) ? delta.norm() : 0.0; } /* first find if present kpoint in present pool */ - if ( GlobalV::MY_POOL == Pkpoints->whichpool[ik] ) + if ( GlobalV::MY_POOL == kv.para_k.whichpool[ik] ) { /* then get the local kpoint index, which starts definitly from 0 */ - const int ik_now = ik - Pkpoints->startk_pool[GlobalV::MY_POOL]; + const int ik_now = ik - kv.para_k.startk_pool[GlobalV::MY_POOL]; /* if present kpoint corresponds the spin of the present one */ assert( kv.isk[ik_now+is*nks_np] == is ); if ( GlobalV::RANK_IN_POOL == 0) diff --git a/source/module_io/nscf_band.h b/source/module_io/nscf_band.h index a25c88a07e..d12b063f08 100644 --- a/source/module_io/nscf_band.h +++ b/source/module_io/nscf_band.h @@ -16,7 +16,6 @@ namespace ModuleIO * @param precision precision of the output * @param ekb eigenvalues of k points and bands * @param kv klist - * @param Pkpoints parallel kpoints */ void nscf_band(const int& is, const std::string& out_band_dir, @@ -24,8 +23,7 @@ void nscf_band(const int& is, const double& fermie, const int& precision, const ModuleBase::matrix& ekb, - const K_Vectors& kv, - const Parallel_Kpoints* Pkpoints); + const K_Vectors& kv); } #endif diff --git a/source/module_io/nscf_fermi_surf.cpp b/source/module_io/nscf_fermi_surf.cpp index a6fb9c645f..639eaa6781 100644 --- a/source/module_io/nscf_fermi_surf.cpp +++ b/source/module_io/nscf_fermi_surf.cpp @@ -8,7 +8,6 @@ void ModuleIO::nscf_fermi_surface(const std::string &out_band_dir, const int &nband, const double &ef, const K_Vectors& kv, - const Parallel_Kpoints& Pkpoints, const UnitCell& ucell, const ModuleBase::matrix &ekb) { @@ -29,7 +28,7 @@ void ModuleIO::nscf_fermi_surface(const std::string &out_band_dir, for(int ik=0; iknks; diff --git a/source/module_io/write_istate_info.cpp b/source/module_io/write_istate_info.cpp index f69af91116..0fc52afad2 100644 --- a/source/module_io/write_istate_info.cpp +++ b/source/module_io/write_istate_info.cpp @@ -5,7 +5,7 @@ #include "module_base/global_variable.h" #include "module_base/timer.h" -void ModuleIO::write_istate_info(const ModuleBase::matrix &ekb,const ModuleBase::matrix &wg, const K_Vectors& kv,const Parallel_Kpoints* Pkpoints) +void ModuleIO::write_istate_info(const ModuleBase::matrix &ekb,const ModuleBase::matrix &wg, const K_Vectors& kv) { ModuleBase::TITLE("ModuleIO","write_istate_info"); ModuleBase::timer::tick("ModuleIO", "write_istate_info"); @@ -33,7 +33,7 @@ void ModuleIO::write_istate_info(const ModuleBase::matrix &ekb,const ModuleBase: for (int ik = 0; ik < kv.get_nks(); ik++) { #ifdef __MPI - int ik_global = Pkpoints->startk_pool[ip] + ik + 1; + int ik_global = kv.para_k.startk_pool[ip] + ik + 1; #else int ik_global = ik + 1; #endif @@ -57,7 +57,7 @@ void ModuleIO::write_istate_info(const ModuleBase::matrix &ekb,const ModuleBase: for (int ik = 0; ik < kv.get_nks() / 2; ik++) { #ifdef __MPI - int ik_global = Pkpoints->startk_pool[ip] + ik + 1; + int ik_global = kv.para_k.startk_pool[ip] + ik + 1; #else int ik_global = ik + 1; #endif diff --git a/source/module_io/write_istate_info.h b/source/module_io/write_istate_info.h index 7f7bf900c1..723f1efa93 100644 --- a/source/module_io/write_istate_info.h +++ b/source/module_io/write_istate_info.h @@ -8,8 +8,7 @@ namespace ModuleIO { void write_istate_info(const ModuleBase::matrix &ekb, const ModuleBase::matrix &wg, - const K_Vectors& kv, - const Parallel_Kpoints* Pkpoints); + const K_Vectors& kv); } #endif diff --git a/source/module_io/write_wfc_pw.cpp b/source/module_io/write_wfc_pw.cpp index dc11342994..640608e078 100644 --- a/source/module_io/write_wfc_pw.cpp +++ b/source/module_io/write_wfc_pw.cpp @@ -69,9 +69,6 @@ void ModuleIO::write_wfc_pw(const std::string& fn, #ifdef __MPI MPI_Allreduce(&kv.ngk[ik], &ikngtot, 1, MPI_INT, MPI_SUM, POOL_WORLD); - // ikstot=GlobalC::Pkpoints.startk_pool[ip]+ik; - // In the future, Pkpoints should be moved into Klist - // To avoid GlobalC, we use get_ik_global instead ikstot = K_Vectors::get_ik_global(ik, nkstot); #else ikngtot = kv.ngk[ik]; diff --git a/source/module_io/write_wfc_r.cpp b/source/module_io/write_wfc_r.cpp index 4b171f26f6..0eb5c0a25e 100644 --- a/source/module_io/write_wfc_r.cpp +++ b/source/module_io/write_wfc_r.cpp @@ -42,9 +42,9 @@ void write_psi_r_1(const UnitCell& ucell, { wfc_g.fix_k(ik); const int ik_out = (PARAM.inp.nspin != 2) - ? ik + GlobalC::Pkpoints.startk_pool[GlobalV::MY_POOL] + ? ik + kv.para_k.startk_pool[GlobalV::MY_POOL] : ik - kv.get_nks() / 2 * kv.isk[ik] + kv.get_nkstot() / 2 * kv.isk[ik] - + GlobalC::Pkpoints.startk_pool[GlobalV::MY_POOL]; + + kv.para_k.startk_pool[GlobalV::MY_POOL]; for (int ib = 0; ib < wfc_g.get_nbands(); ++ib) { const std::vector> wfc_r = cal_wfc_r(wfcpw, wfc_g, ik, ib); From 01d509ff74e31292c256f0ec323af1f73d1990bc Mon Sep 17 00:00:00 2001 From: Qianruipku Date: Fri, 10 Jan 2025 20:20:27 +0800 Subject: [PATCH 2/2] fix compile --- source/module_cell/parallel_kpoints.cpp | 8 -------- source/module_cell/parallel_kpoints.h | 8 ++++---- .../module_io/test/write_istate_info_test.cpp | 17 ++++++----------- source/module_io/test_serial/nscf_band_test.cpp | 11 ----------- 4 files changed, 10 insertions(+), 34 deletions(-) diff --git a/source/module_cell/parallel_kpoints.cpp b/source/module_cell/parallel_kpoints.cpp index 115fe151cf..69dc13b898 100644 --- a/source/module_cell/parallel_kpoints.cpp +++ b/source/module_cell/parallel_kpoints.cpp @@ -3,14 +3,6 @@ #include "module_base/parallel_common.h" #include "module_base/parallel_global.h" -Parallel_Kpoints::Parallel_Kpoints() -{ -} - -Parallel_Kpoints::~Parallel_Kpoints() -{ -} - // the kpoints here are reduced after symmetry applied. void Parallel_Kpoints::kinfo(int& nkstot_in, const int& kpar_in, diff --git a/source/module_cell/parallel_kpoints.h b/source/module_cell/parallel_kpoints.h index 11030b055a..751a44163a 100644 --- a/source/module_cell/parallel_kpoints.h +++ b/source/module_cell/parallel_kpoints.h @@ -9,8 +9,8 @@ class Parallel_Kpoints { public: - Parallel_Kpoints(); - ~Parallel_Kpoints(); + Parallel_Kpoints(){}; + ~Parallel_Kpoints(){}; void kinfo(int& nkstot_in, const int& kpar_in, @@ -46,8 +46,8 @@ class Parallel_Kpoints // int* nproc_pool = nullptr; it is not used // inforamation about kpoints, dim: KPAR - std::vector nks_pool; // number of k-points in each pool - std::vector startk_pool; // the first k-point in each pool + std::vector nks_pool; // number of k-points in each pool, here use k-points without spin + std::vector startk_pool; // the first k-point in each pool, here use k-points without spin // information about which pool each k-point belongs to, std::vector whichpool; // whichpool[k] : the pool which k belongs to, dim: nkstot_np diff --git a/source/module_io/test/write_istate_info_test.cpp b/source/module_io/test/write_istate_info_test.cpp index 9be9c28532..0afdad3608 100644 --- a/source/module_io/test/write_istate_info_test.cpp +++ b/source/module_io/test/write_istate_info_test.cpp @@ -29,18 +29,15 @@ class IstateInfoTest : public ::testing::Test { protected: K_Vectors* kv = nullptr; - Parallel_Kpoints* Pkpoints = nullptr; ModuleBase::matrix ekb; ModuleBase::matrix wg; void SetUp() { kv = new K_Vectors; - Pkpoints = new Parallel_Kpoints; } void TearDown() { delete kv; - delete Pkpoints; } }; @@ -64,12 +61,11 @@ TEST_F(IstateInfoTest, OutIstateInfoS1) GlobalV::MY_POOL); kv->set_nkstot(100); int nkstot = kv->get_nkstot(); - Pkpoints - ->kinfo(nkstot, GlobalV::KPAR, GlobalV::MY_POOL, GlobalV::RANK_IN_POOL, GlobalV::NPROC_IN_POOL, PARAM.input.nspin); + kv->para_k.kinfo(nkstot, GlobalV::KPAR, GlobalV::MY_POOL, GlobalV::RANK_IN_POOL, GlobalV::NPROC_IN_POOL, PARAM.input.nspin); // std::cout<<"my_rank "<set_nks(Pkpoints->nks_pool[GlobalV::MY_POOL]); + kv->set_nks(kv->para_k.nks_pool[GlobalV::MY_POOL]); // std::cout<<"nks "<get_nks()<get_nks(), PARAM.input.nbands); wg.create(kv->get_nks(), PARAM.input.nbands); @@ -82,7 +78,7 @@ TEST_F(IstateInfoTest, OutIstateInfoS1) kd.set(0.01 * i, 0.01 * i, 0.01 * i); ++i; } - ModuleIO::write_istate_info(ekb, wg, *kv, Pkpoints); + ModuleIO::write_istate_info(ekb, wg, *kv); std::ifstream ifs; ifs.open("istate.info"); std::string str((std::istreambuf_iterator(ifs)), std::istreambuf_iterator()); @@ -115,12 +111,11 @@ TEST_F(IstateInfoTest, OutIstateInfoS2) GlobalV::MY_POOL); kv->set_nkstot(100); int nkstot = kv->get_nkstot(); - Pkpoints - ->kinfo(nkstot, GlobalV::KPAR, GlobalV::MY_POOL, GlobalV::RANK_IN_POOL, GlobalV::NPROC_IN_POOL, PARAM.input.nspin); + kv->para_k.kinfo(nkstot, GlobalV::KPAR, GlobalV::MY_POOL, GlobalV::RANK_IN_POOL, GlobalV::NPROC_IN_POOL, PARAM.input.nspin); // std::cout<<"my_rank "<set_nks(Pkpoints->nks_pool[GlobalV::MY_POOL]); + kv->set_nks(kv->para_k.nks_pool[GlobalV::MY_POOL]); // std::cout<<"nks "<get_nks()<get_nks(), PARAM.input.nbands); wg.create(kv->get_nks(), PARAM.input.nbands); @@ -133,7 +128,7 @@ TEST_F(IstateInfoTest, OutIstateInfoS2) kd.set(0.01 * i, 0.01 * i, 0.01 * i); ++i; } - ModuleIO::write_istate_info(ekb, wg, *kv, Pkpoints); + ModuleIO::write_istate_info(ekb, wg, *kv); std::ifstream ifs; ifs.open("istate.info"); std::string str((std::istreambuf_iterator(ifs)), std::istreambuf_iterator()); diff --git a/source/module_io/test_serial/nscf_band_test.cpp b/source/module_io/test_serial/nscf_band_test.cpp index 953932f678..078226a94e 100644 --- a/source/module_io/test_serial/nscf_band_test.cpp +++ b/source/module_io/test_serial/nscf_band_test.cpp @@ -3,15 +3,6 @@ #include "module_io/nscf_band.h" #include "module_cell/parallel_kpoints.h" #include "module_cell/klist.h" - -Parallel_Kpoints::Parallel_Kpoints() -{ -} - -Parallel_Kpoints::~Parallel_Kpoints() -{ -} - K_Vectors::K_Vectors() { } @@ -59,13 +50,11 @@ class BandTest : public ::testing::Test kv->kl_segids.resize(nks); kv->kl_segids[0] = 0; kv->kl_segids[1] = 0; - Pkpoints = new Parallel_Kpoints; } void TearDown() override { // Clean up test data delete kv; - delete Pkpoints; std::remove(out_band_dir.c_str()); }