From 45e51655f78a992f40e57a838bd99fe3e5014b46 Mon Sep 17 00:00:00 2001 From: Fisherd99 Date: Fri, 14 Aug 2026 21:36:34 +0800 Subject: [PATCH 1/2] fix pchg with c^* c^T --- source/source_estate/module_dm/cal_dm_psi.cpp | 4 ++-- source/source_io/module_chgpot/get_pchg_lcao.cpp | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/source/source_estate/module_dm/cal_dm_psi.cpp b/source/source_estate/module_dm/cal_dm_psi.cpp index 5ad2144c5bc..f1ba515fbc3 100644 --- a/source/source_estate/module_dm/cal_dm_psi.cpp +++ b/source/source_estate/module_dm/cal_dm_psi.cpp @@ -192,7 +192,7 @@ void psiMulPsiMpi(const psi::Psi>& psi1, const int* desc_psi, const int* desc_dm) { - ModuleBase::timer::start("psiMulPsiMpi", "pdgemm"); + ModuleBase::timer::start("psiMulPsiMpi", "pzgemm"); const std::complex one_complex = {1.0, 0.0}, zero_complex = {0.0, 0.0}; const int one_int = 1; const char N_char = 'N', T_char = 'T'; @@ -217,7 +217,7 @@ void psiMulPsiMpi(const psi::Psi>& psi1, one_int, one_int, desc_dm); - ModuleBase::timer::end("psiMulPsiMpi", "pdgemm"); + ModuleBase::timer::end("psiMulPsiMpi", "pzgemm"); } #endif diff --git a/source/source_io/module_chgpot/get_pchg_lcao.cpp b/source/source_io/module_chgpot/get_pchg_lcao.cpp index a8a1c426139..9f95c3ddf5b 100644 --- a/source/source_io/module_chgpot/get_pchg_lcao.cpp +++ b/source/source_io/module_chgpot/get_pchg_lcao.cpp @@ -436,6 +436,11 @@ void Get_pchg_lcao::idmatrix(const int& ib, this->psi_k->get_nbasis(), true); wg_wfc.set_all_psi(this->psi_k->get_pointer(), wg_wfc.size()); + std::complex* wg_wfc_ptr = wg_wfc.get_pointer(); + for (int i = 0; i < wg_wfc.size(); ++i) + { + wg_wfc_ptr[i] = std::conj(wg_wfc_ptr[i]); + } for (int ir = 0; ir < wg_wfc.get_nbands(); ++ir) { From 67cf4c52e523bf70b2c05d76eb6330959019eee7 Mon Sep 17 00:00:00 2001 From: Fisherd99 Date: Mon, 17 Aug 2026 03:27:56 +0800 Subject: [PATCH 2/2] fix: upadate pchg ref --- tests/03_NAO_multik/get_pchg/result.ref | 4 ++-- tests/03_NAO_multik/get_pchg_k/result.ref | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/03_NAO_multik/get_pchg/result.ref b/tests/03_NAO_multik/get_pchg/result.ref index 7d68210df3b..203a05d275f 100644 --- a/tests/03_NAO_multik/get_pchg/result.ref +++ b/tests/03_NAO_multik/get_pchg/result.ref @@ -1,3 +1,3 @@ -pchgi1s1.cube 0.9999969968 -pchgi1s2.cube 0.9999969968 +pchgi1s1.cube 0.999999265 +pchgi1s2.cube 0.999999265 totaltimeref 0.13 diff --git a/tests/03_NAO_multik/get_pchg_k/result.ref b/tests/03_NAO_multik/get_pchg_k/result.ref index 7a2a2d3684b..c581107cf07 100644 --- a/tests/03_NAO_multik/get_pchg_k/result.ref +++ b/tests/03_NAO_multik/get_pchg_k/result.ref @@ -1,7 +1,7 @@ -pchgi1s1k1.cube 0.9999996697 -pchgi1s1k2.cube 0.9999956604 -pchgi1s1k3.cube 0.9999956604 -pchgi1s2k1.cube 0.9999996697 -pchgi1s2k2.cube 0.9999956604 -pchgi1s2k3.cube 0.9999956604 +pchgi1s1k1.cube 0.9999996473 +pchgi1s1k2.cube 0.9999991015 +pchgi1s1k3.cube 0.9999991015 +pchgi1s2k1.cube 0.9999996473 +pchgi1s2k2.cube 0.9999991015 +pchgi1s2k3.cube 0.9999991015 totaltimeref 0.25