Describe the Code Quality Issue
When multiple sets of erfc_alpha/omega are set, according to the code logic, only the last one would be accepted. Everytime the list is re-inited.
source/source_io/module_parameter/input_conv.cpp:404-415
assert(erfc_alpha.size() == PARAM.inp.exx_erfc_omega.size());
if(PARAM.inp.basis_type == "lcao")
{
GlobalC::exx_info.info_global.coulomb_param[Conv_Coulomb_Pot_K::Coulomb_Type::Erfc].resize(erfc_alpha.size());
for(std::size_t i=0; i<erfc_alpha.size(); ++i)
{
GlobalC::exx_info.info_global.coulomb_param[Conv_Coulomb_Pot_K::Coulomb_Type::Erfc] = {{
{"alpha", ModuleBase::GlobalFunc::TO_STRING(erfc_alpha[i])},
{"omega", ModuleBase::GlobalFunc::TO_STRING(PARAM.inp.exx_erfc_omega[i])},
{"singularity_correction", PARAM.inp.exx_singularity_correction} }};
}
}
Besides, the EXX PW is not properly dealt with.
Additional Context
No response
Task list for Issue attackers (only for developers)
Describe the Code Quality Issue
When multiple sets of erfc_alpha/omega are set, according to the code logic, only the last one would be accepted. Everytime the list is re-inited.
source/source_io/module_parameter/input_conv.cpp:404-415
Besides, the EXX PW is not properly dealt with.
Additional Context
No response
Task list for Issue attackers (only for developers)