diff --git a/source/module_hamilt_pw/hamilt_pwdft/module_exx_helper/exx_helper.cpp b/source/module_hamilt_pw/hamilt_pwdft/module_exx_helper/exx_helper.cpp index a0982737d2..9f41d841ff 100644 --- a/source/module_hamilt_pw/hamilt_pwdft/module_exx_helper/exx_helper.cpp +++ b/source/module_hamilt_pw/hamilt_pwdft/module_exx_helper/exx_helper.cpp @@ -34,7 +34,7 @@ void Exx_Helper::set_psi(psi::Psi *psi_) if (psi_ == nullptr) return; op_exx->set_psi(*psi_); - if (PARAM.inp.exxace) + if (PARAM.inp.exxace && GlobalC::exx_info.info_global.separate_loop) { op_exx->construct_ace(); } diff --git a/source/module_hamilt_pw/hamilt_pwdft/operator_pw/op_exx_pw.cpp b/source/module_hamilt_pw/hamilt_pwdft/operator_pw/op_exx_pw.cpp index 4b6d36908a..c4297b17aa 100644 --- a/source/module_hamilt_pw/hamilt_pwdft/operator_pw/op_exx_pw.cpp +++ b/source/module_hamilt_pw/hamilt_pwdft/operator_pw/op_exx_pw.cpp @@ -145,7 +145,7 @@ void OperatorEXXPW::act(const int nbands, setmem_complex_op()(tmhpsi, 0, nbasis*nbands/npol); } - if (PARAM.inp.exxace) + if (PARAM.inp.exxace && GlobalC::exx_info.info_global.separate_loop) { act_op_ace(nbands, nbasis, npol, tmpsi_in, tmhpsi, ngk_ik, is_first_node); } @@ -722,7 +722,7 @@ void OperatorEXXPW::exx_divergence() template double OperatorEXXPW::cal_exx_energy(psi::Psi *psi_) const { - if (PARAM.inp.exxace) + if (PARAM.inp.exxace && GlobalC::exx_info.info_global.separate_loop) { return cal_exx_energy_ace(psi_); } diff --git a/source/module_io/read_input_item_other.cpp b/source/module_io/read_input_item_other.cpp index 29e5f1f365..7944fc10bc 100644 --- a/source/module_io/read_input_item_other.cpp +++ b/source/module_io/read_input_item_other.cpp @@ -529,7 +529,7 @@ void ReadInput::item_others() // EXX PW by rhx0820, 2025-03-10 { Input_Item item("exxace"); - item.annotation = "whether to perform ace calculation in exxpw, default is false"; + item.annotation = "whether to perform ace calculation in exxpw"; read_sync_bool(input.exxace); this->add_item(item); }