Skip to content

Commit 7ef087d

Browse files
mohanchenabacus_fixer
andauthored
Refactor the operators in source_lcao (#7714)
* move module_gint from source_lcao to source_hamilt * update * divide the hs_matrix_k.hpp to .h and .cpp files * update * move hs_matrix_k.h and .cpp to source_hamilt * remove one useless header * update * update nonlocal.h and nonlocal.cpp, change nonlocal_dh.hpp to nonlocal_dh.cpp * update nonlocal_fs.cpp * update * fix bug * remove some hpp files * some updates, change dftu_pw.cpp to setup_dftu_pw.cpp * fix makefile * update * remove redundant output information when init_wfc is atomic but pseudopotentials do not have --------- Co-authored-by: abacus_fixer <mohanchen@pku.eud.cn>
1 parent bb2cb4b commit 7ef087d

55 files changed

Lines changed: 1434 additions & 853 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

source/Makefile.Objects

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -343,18 +343,28 @@ OBJS_HAMILT_OF=kedf_tf.o\
343343
OBJS_HAMILT_LCAO=hamilt_lcao.o\
344344
operator_lcao.o\
345345
ekinetic.o\
346+
ekinetic_fs.o\
347+
ekinetic_dh.o\
346348
nonlocal.o\
349+
nonlocal_dh.o\
350+
nonlocal_fs.o\
347351
overlap.o\
352+
overlap_fs.o\
348353
td_ekinetic_lcao.o\
349354
td_nonlocal_lcao.o\
350355
td_pot_hybrid.o\
356+
td_pot_hybrid_fs.o\
351357
veff_lcao.o\
358+
veff_dh.o\
352359
meta_lcao.o\
353360
op_dftu_lcao.o\
354361
deepks_lcao.o\
355362
op_exx_lcao.o\
356363
dspin_lcao.o\
364+
dspin_fs.o\
357365
dftu_lcao.o\
366+
dftu_fs.o\
367+
operator_fs_utils.o\
358368

359369
OBJS_HCONTAINER=base_matrix.o\
360370
atom_pair.o\
@@ -721,7 +731,7 @@ OBJS_SRCPW=H_Ewald_pw.o\
721731
setup_pwrho.o\
722732
setup_pwwfc.o\
723733
update_cell_pw.o\
724-
dftu_pw.o\
734+
setup_dftu_pw.o\
725735
deltaspin_pw.o\
726736
forces.o\
727737
forces_us.o\
@@ -793,7 +803,7 @@ OBJS_DFTU=dftu.o\
793803
dftu_tools.o\
794804
dftu_occup.o\
795805
dftu_hamilt.o\
796-
dftu_pw.o
806+
setup_dftu_pw.o
797807

798808
OBJS_DELTASPIN=basic_funcs.o\
799809
cal_mw_from_lambda.o\

source/source_esolver/esolver_ks_lcao.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include "source_lcao/module_deltaspin/spin_constrain.h"
66
#include "source_lcao/module_deltaspin/deltaspin_lcao.h"
77
#include "source_lcao/dftu_lcao.h"
8-
#include "source_lcao/hs_matrix_k.hpp" // there may be multiple definitions if using hpp
8+
#include "source_hamilt/hs_matrix_k.h"
99
#include "source_estate/module_charge/symmetry_rho.h"
1010
#include "source_lcao/LCAO_domain.h" // need DeePKS_init
1111
#include "source_lcao/FORCE_STRESS.h"

source/source_esolver/esolver_ks_pw.cpp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,27 @@
11
#include "esolver_ks_pw.h"
22

3-
#include "source_cell/cal_ux.h"
43
#include "source_estate/elecstate_pw.h"
54
#include "source_estate/module_charge/symmetry_rho.h"
6-
#include "source_hamilt/module_xc/xc_functional.h" // use XC_Functional
75
#include "source_hsolver/diago_iter_assist.h"
86
#include "source_hsolver/diago_params.h"
97
#include "source_hsolver/hsolver_pw.h"
10-
#include "source_hsolver/kernels/hegvd_op.h"
118
#include "source_io/module_parameter/parameter.h"
12-
#include "source_lcao/module_deltaspin/spin_constrain.h"
13-
#include "source_lcao/module_dftu/dftu.h"
149
#include "source_pw/module_pwdft/forces.h"
1510
#include "source_pw/module_pwdft/hamilt_pw.h"
16-
#include "source_pw/module_pwdft/onsite_proj.h"
1711
#include "source_pw/module_pwdft/stress_pw.h"
18-
#include "source_pw/module_pwdft/vsep_pw.h"
1912

2013
#ifdef __DSP
2114
#include "source_base/kernels/dsp/dsp_connector.h"
2215
#endif
2316

2417
#include "source_estate/module_charge/chgmixing.h" // use charge mixing, mohan add 20251006
2518
#include "source_estate/setup_estate_pw.h" // mohan add 20251005
26-
#include "source_estate/update_pot.h" // mohan add 20251016
2719
#include "source_hamilt/module_xc/exx_info.h" // use GlobalC::exx_info
2820
#include "source_io/module_ctrl/ctrl_output_pw.h" // mohan add 20250927
2921
#include "source_pw/module_pwdft/deltaspin_pw.h" // mohan add 20250309
30-
#include "source_pw/module_pwdft/dftu_pw.h" // mohan add 20250309
3122
#include "source_pw/module_pwdft/setup_pot.h" // mohan add 20250929
3223
#include "source_pw/module_pwdft/update_cell_pw.h" // mohan add 20250309
24+
#include "source_pw/module_pwdft/setup_dftu_pw.h" // mohan add 20250309
3325

3426
namespace ModuleESolver
3527
{
@@ -150,7 +142,7 @@ void ESolver_KS_PW<T, Device>::before_scf(UnitCell& ucell, const int istep)
150142

151143
if (ucell.cell_parameter_updated)
152144
{
153-
this->stp.p_psi_init->prepare_init(PARAM.inp.pw_seed);
145+
this->stp.p_psi_init->prepare_init(PARAM.inp.pw_seed, istep);
154146
}
155147

156148
//! Init Hamiltonian (cell changed)

source/source_hamilt/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ endif()
99

1010
list(APPEND objects
1111
operator.cpp
12+
hs_matrix_k.cpp
1213
module_ewald/H_Ewald_pw.cpp
1314
module_ewald/dnrm2.cpp
1415
)
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#include "source_hamilt/hs_matrix_k.h"
2+
3+
namespace hamilt
4+
{
5+
template class HS_Matrix_K<double>;
6+
template class HS_Matrix_K<std::complex<double>>;
7+
}
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
#ifndef HS_MATRIX_K_HPP
2-
#define HS_MATRIX_K_HPP
1+
#ifndef HS_MATRIX_K_H
2+
#define HS_MATRIX_K_H
33

44
#include "source_basis/module_ao/parallel_orbitals.h"
55

6+
#include <complex>
67
#include <vector>
78
namespace hamilt
89
{
@@ -42,4 +43,4 @@ namespace hamilt
4243
};
4344
}
4445

45-
#endif
46+
#endif

source/source_io/module_dhs/write_dH_terms.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#include "source_hamilt/module_hcontainer/output_hcontainer.h"
77
#include "source_lcao/module_operator_lcao/ekinetic.h"
88
#include "source_lcao/module_operator_lcao/nonlocal.h"
9-
#include "source_lcao/module_operator_lcao/operator_force_stress_utils.h"
9+
#include "source_lcao/module_operator_lcao/operator_fs_utils.h"
1010
#include "source_lcao/module_operator_lcao/veff_lcao.h"
1111
#include "source_hamilt/module_gint/gint_interface.h"
1212
#include "source_lcao/module_lr/utils/lr_util_xc.hpp"

source/source_io/module_energy/write_eband_terms.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ void write_eband_terms(const int nspin,
2929
const TwoCenterBundle& two_center_bundle
3030
#ifdef __EXX
3131
,
32-
std::vector<std::map<int, std::map<TAC, RI::Tensor<double>>>>* Hexxd = nullptr,
33-
std::vector<std::map<int, std::map<TAC, RI::Tensor<std::complex<double>>>>>* Hexxc = nullptr
32+
std::vector<std::map<int, std::map<hamilt::TAC, RI::Tensor<double>>>>* Hexxd = nullptr,
33+
std::vector<std::map<int, std::map<hamilt::TAC, RI::Tensor<std::complex<double>>>>>* Hexxc = nullptr
3434
#endif
3535
)
3636
{

source/source_io/module_hs/write_H_terms.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#include "source_hamilt/module_hcontainer/output_hcontainer.h"
1515
#include "source_lcao/module_operator_lcao/ekinetic.h"
1616
#include "source_lcao/module_operator_lcao/nonlocal.h"
17-
#include "source_lcao/module_operator_lcao/operator_force_stress_utils.h"
17+
#include "source_lcao/module_operator_lcao/operator_fs_utils.h"
1818
#ifdef __EXX
1919
#include "source_lcao/module_operator_lcao/op_exx_lcao.h"
2020
#include "source_lcao/module_ri/Exx_LRI_interface.h"

source/source_io/module_hs/write_vxc.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,8 @@ void write_Vxc(const int nspin,
156156
bool cal_exx
157157
#ifdef __EXX
158158
,
159-
std::vector<std::map<int, std::map<TAC, RI::Tensor<double>>>>* Hexxd = nullptr,
160-
std::vector<std::map<int, std::map<TAC, RI::Tensor<std::complex<double>>>>>* Hexxc = nullptr
159+
std::vector<std::map<int, std::map<hamilt::TAC, RI::Tensor<double>>>>* Hexxd = nullptr,
160+
std::vector<std::map<int, std::map<hamilt::TAC, RI::Tensor<std::complex<double>>>>>* Hexxc = nullptr
161161
#endif
162162
)
163163
{

0 commit comments

Comments
 (0)