From 6323d61f720c94418f3e8a75aa18e21afd4526b1 Mon Sep 17 00:00:00 2001 From: sunliang98 <1700011430@pku.edu.cn> Date: Mon, 26 Jan 2026 15:46:48 +0800 Subject: [PATCH 1/3] Fix: Add override to Pot_ML_EXX::cal_v_eff to avoid compilation warning. --- source/source_estate/module_pot/pot_ml_exx.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/source_estate/module_pot/pot_ml_exx.h b/source/source_estate/module_pot/pot_ml_exx.h index 1fef8b8e9c..d1edd7117b 100644 --- a/source/source_estate/module_pot/pot_ml_exx.h +++ b/source/source_estate/module_pot/pot_ml_exx.h @@ -62,7 +62,7 @@ class PotML_EXX : public PotBase } ~PotML_EXX() {}; - void cal_v_eff(const Charge*const chg, const UnitCell*const ucell, ModuleBase::matrix& v_eff) + void cal_v_eff(const Charge*const chg, const UnitCell*const ucell, ModuleBase::matrix& v_eff) override { if (PARAM.inp.of_ml_local_test) this->ml_exx.localTest(chg->rho, this->rho_basis_); this->ml_exx.ml_potential(chg->rho, this->rho_basis_, v_eff); From 21810de713f4465a874174a2c024cbd378315c5b Mon Sep 17 00:00:00 2001 From: sunliang98 <1700011430@pku.edu.cn> Date: Mon, 26 Jan 2026 15:47:41 +0800 Subject: [PATCH 2/3] Fix: Provide a clearer, friendlier error when ML KEDF is used without ENABLE_MLALGO. --- source/source_io/read_input_item_ofdft.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/source_io/read_input_item_ofdft.cpp b/source/source_io/read_input_item_ofdft.cpp index a86c93a0a2..543f4efa90 100644 --- a/source/source_io/read_input_item_ofdft.cpp +++ b/source/source_io/read_input_item_ofdft.cpp @@ -14,7 +14,8 @@ void ReadInput::item_ofdft() #ifndef __MLALGO if (para.input.of_kinetic == "ml" || para.input.of_kinetic == "mpn" || para.input.of_kinetic == "cpn5") { - ModuleBase::WARNING_QUIT("ReadInput", "ML KEDF is not supported."); + ModuleBase::WARNING_QUIT("ReadInput", "Error: ML KEDF requires ENABLE_MLALGO option.\n " + "Please enable ENABLE_MLALGO during compilation to use this feature."); } #endif if (para.input.of_kinetic != "tf" && para.input.of_kinetic != "vw" && para.input.of_kinetic != "wt" From 83bc04a53da6ba732f5854c7e04bdc72ecfb73fc Mon Sep 17 00:00:00 2001 From: sunliang98 <1700011430@pku.edu.cn> Date: Mon, 26 Jan 2026 15:49:58 +0800 Subject: [PATCH 3/3] Fix: Add validation for out_elf and spin=4 combo. --- source/source_io/read_input_item_output.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/source_io/read_input_item_output.cpp b/source/source_io/read_input_item_output.cpp index dce309772c..1ce9d63371 100644 --- a/source/source_io/read_input_item_output.cpp +++ b/source/source_io/read_input_item_output.cpp @@ -564,6 +564,10 @@ void ReadInput::item_output() { ModuleBase::WARNING_QUIT("ReadInput", "ELF is only aviailable for ksdft and ofdft"); } + if (para.input.out_elf[0] > 0 && para.input.nspin == 4) + { + ModuleBase::WARNING_QUIT("ReadInput", "ELF is not aviailable for nspin = 4"); + } }; sync_intvec(input.out_elf, 2, 0); this->add_item(item);