Skip to content

Commit ba42c6c

Browse files
committed
Test: Refactor DeePKS unit tests
1 parent 33a7acd commit ba42c6c

102 files changed

Lines changed: 6372 additions & 1552 deletions

File tree

Some content is hidden

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

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ obj
66
OUT.*
77
log.txt
88
result.out
9+
test.sum
910
*.dat
1011
.DS_Store
1112
.cache
Lines changed: 295 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
add_executable(
2-
test_deepks
3-
main_deepks.cpp klist_1.cpp LCAO_deepks_test_prep.cpp LCAO_deepks_test.cpp
1+
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/support DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
2+
3+
set(DEEPKS_UNIT_COMMON_SOURCES
4+
deepks_test_prep.cpp
5+
deepks_test.cpp
46
../../../source_cell/unitcell.cpp
57
../../../source_cell/update_cell.cpp
68
../../../source_cell/bcast_cell.cpp
@@ -11,6 +13,9 @@ add_executable(
1113
../../../source_cell/read_stru.cpp
1214
../../../source_cell/print_cell.cpp
1315
../../../source_cell/read_atom_species.cpp
16+
../../../source_cell/klist.cpp
17+
../../../source_cell/parallel_kpoints.cpp
18+
../../../source_cell/k_vector_utils.cpp
1419
../../../source_cell/setup_nonlocal.cpp
1520
../../../source_cell/pseudo.cpp
1621
../../../source_cell/read_pp.cpp
@@ -22,14 +27,16 @@ add_executable(
2227
../../../source_cell/sep.cpp
2328
../../../source_cell/sep_cell.cpp
2429
../../../source_pw/module_pwdft/soc.cpp
25-
2630
../../../source_io/module_output/sparse_matrix.cpp
2731
../../../source_estate/read_pseudo.cpp
2832
../../../source_estate/cal_wfc.cpp
2933
../../../source_estate/read_orb.cpp
3034
../../../source_estate/cal_nelec_nband.cpp
3135
../../../source_estate/module_dm/density_matrix.cpp
3236
../../../source_estate/module_dm/density_matrix_io.cpp
37+
../../center2_orb.cpp
38+
../../center2_orb-orb11.cpp
39+
../../center2_orb-orb21.cpp
3340
../../module_hcontainer/base_matrix.cpp
3441
../../module_hcontainer/hcontainer.cpp
3542
../../module_hcontainer/atom_pair.cpp
@@ -40,24 +47,297 @@ add_executable(
4047
../../module_operator_lcao/deepks_lcao.cpp
4148
../../module_operator_lcao/operator_lcao.cpp
4249
../../../source_hamilt/operator.cpp
50+
../../../source_io/module_hs/cal_r_overlap_R.cpp
51+
../../../source_io/module_hs/single_R_io.cpp
52+
../../../source_io/module_hs/rr_sparse_writer.cpp
4353
../../module_rt/td_folding.cpp
54+
mock_berryphase.cpp
4455
mock_tdinfo.cpp
4556
)
4657

47-
target_link_libraries(
48-
test_deepks
49-
PRIVATE
50-
base device parameter deepks psi planewave neighbor container
51-
orb gint numerical_atomic_orbitals
52-
${math_libs}
53-
)
58+
add_library(deepks_unit_support OBJECT ${DEEPKS_UNIT_COMMON_SOURCES})
5459

5560
if(ENABLE_COVERAGE)
56-
add_coverage(test_deepks)
61+
add_coverage(deepks_unit_support)
5762
endif()
5863

64+
set(DEEPKS_UNIT_LIBS
65+
deepks_unit_support
66+
base
67+
device
68+
parameter
69+
deepks
70+
psi
71+
planewave
72+
neighbor
73+
container
74+
orb
75+
gint
76+
numerical_atomic_orbitals
77+
symmetry
78+
${math_libs}
79+
)
80+
81+
set(DEEPKS_UNIT_PHIALPHA_SOURCES
82+
deepks_test_phialpha.cpp
83+
)
84+
set(DEEPKS_UNIT_PDM_SOURCES
85+
${DEEPKS_UNIT_PHIALPHA_SOURCES}
86+
deepks_test_pdm.cpp
87+
)
88+
set(DEEPKS_UNIT_DESCRIPTOR_SOURCES
89+
${DEEPKS_UNIT_PDM_SOURCES}
90+
deepks_test_descriptor.cpp
91+
)
92+
set(DEEPKS_UNIT_GDMX_SOURCES
93+
${DEEPKS_UNIT_PDM_SOURCES}
94+
deepks_test_gdmx.cpp
95+
)
96+
set(DEEPKS_UNIT_GVX_SOURCES
97+
${DEEPKS_UNIT_DESCRIPTOR_SOURCES}
98+
deepks_test_gdmx.cpp
99+
deepks_test_gvx.cpp
100+
)
101+
set(DEEPKS_UNIT_GDMEPSL_SOURCES
102+
${DEEPKS_UNIT_PDM_SOURCES}
103+
deepks_test_gdmepsl.cpp
104+
)
105+
set(DEEPKS_UNIT_GVEPSL_SOURCES
106+
${DEEPKS_UNIT_DESCRIPTOR_SOURCES}
107+
deepks_test_gdmepsl.cpp
108+
deepks_test_gvepsl.cpp
109+
)
110+
set(DEEPKS_UNIT_ORBPRE_SOURCES
111+
${DEEPKS_UNIT_DESCRIPTOR_SOURCES}
112+
deepks_test_orbpre.cpp
113+
)
114+
set(DEEPKS_UNIT_VDPRE_SOURCES
115+
${DEEPKS_UNIT_DESCRIPTOR_SOURCES}
116+
deepks_test_vdpre.cpp
117+
)
118+
set(DEEPKS_UNIT_VDRPRE_SOURCES
119+
${DEEPKS_UNIT_DESCRIPTOR_SOURCES}
120+
deepks_test_vdrpre.cpp
121+
)
122+
set(DEEPKS_UNIT_EDELTA_SOURCES
123+
${DEEPKS_UNIT_DESCRIPTOR_SOURCES}
124+
deepks_test_edelta.cpp
125+
)
126+
set(DEEPKS_UNIT_E_DELTABANDS_SOURCES
127+
${DEEPKS_UNIT_EDELTA_SOURCES}
128+
deepks_test_e_deltabands.cpp
129+
)
130+
set(DEEPKS_UNIT_FORCE_STRESS_DELTA_SOURCES
131+
${DEEPKS_UNIT_EDELTA_SOURCES}
132+
deepks_test_force_stress_delta.cpp
133+
)
134+
set(DEEPKS_UNIT_O_DELTA_SOURCES
135+
${DEEPKS_UNIT_E_DELTABANDS_SOURCES}
136+
deepks_test_o_delta.cpp
137+
)
138+
139+
function(configure_deepks_unit_target TARGET_NAME CHECK_NAME CASE_DIR)
140+
target_compile_definitions(
141+
${TARGET_NAME}
142+
PRIVATE
143+
DEEPKS_UT_CHECK_NAME="${CHECK_NAME}"
144+
DEEPKS_UT_CASE_DIR="${CASE_DIR}"
145+
DEEPKS_UT_RUNNER=run_deepks_unit_${CHECK_NAME}
146+
)
147+
endfunction()
148+
149+
AddTest(
150+
TARGET MODULE_LCAO_DEEPKS_phialpha_gamma
151+
LIBS ${DEEPKS_UNIT_LIBS}
152+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_PHIALPHA_SOURCES}
153+
)
154+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_phialpha_gamma phialpha NO_GO_deepks_UT)
155+
156+
AddTest(
157+
TARGET MODULE_LCAO_DEEPKS_pdm_gamma
158+
LIBS ${DEEPKS_UNIT_LIBS}
159+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_PDM_SOURCES}
160+
)
161+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_pdm_gamma pdm NO_GO_deepks_UT)
162+
163+
AddTest(
164+
TARGET MODULE_LCAO_DEEPKS_descriptor_gamma
165+
LIBS ${DEEPKS_UNIT_LIBS}
166+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_DESCRIPTOR_SOURCES}
167+
)
168+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_descriptor_gamma descriptor NO_GO_deepks_UT)
169+
170+
AddTest(
171+
TARGET MODULE_LCAO_DEEPKS_gdmx_gamma
172+
LIBS ${DEEPKS_UNIT_LIBS}
173+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_GDMX_SOURCES}
174+
)
175+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_gdmx_gamma gdmx NO_GO_deepks_UT)
176+
177+
AddTest(
178+
TARGET MODULE_LCAO_DEEPKS_gvx_gamma
179+
LIBS ${DEEPKS_UNIT_LIBS}
180+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_GVX_SOURCES}
181+
)
182+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_gvx_gamma gvx NO_GO_deepks_UT)
183+
184+
AddTest(
185+
TARGET MODULE_LCAO_DEEPKS_gdmepsl_gamma
186+
LIBS ${DEEPKS_UNIT_LIBS}
187+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_GDMEPSL_SOURCES}
188+
)
189+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_gdmepsl_gamma gdmepsl NO_GO_deepks_UT)
190+
191+
AddTest(
192+
TARGET MODULE_LCAO_DEEPKS_gvepsl_gamma
193+
LIBS ${DEEPKS_UNIT_LIBS}
194+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_GVEPSL_SOURCES}
195+
)
196+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_gvepsl_gamma gvepsl NO_GO_deepks_UT)
197+
198+
AddTest(
199+
TARGET MODULE_LCAO_DEEPKS_orbpre_gamma
200+
LIBS ${DEEPKS_UNIT_LIBS}
201+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_ORBPRE_SOURCES}
202+
)
203+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_orbpre_gamma orbpre NO_GO_deepks_UT)
204+
205+
AddTest(
206+
TARGET MODULE_LCAO_DEEPKS_vdpre_gamma
207+
LIBS ${DEEPKS_UNIT_LIBS}
208+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_VDPRE_SOURCES}
209+
)
210+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_vdpre_gamma vdpre NO_GO_deepks_UT)
211+
212+
AddTest(
213+
TARGET MODULE_LCAO_DEEPKS_vdrpre_gamma
214+
LIBS ${DEEPKS_UNIT_LIBS}
215+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_VDRPRE_SOURCES}
216+
)
217+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_vdrpre_gamma vdrpre NO_GO_deepks_UT)
218+
219+
AddTest(
220+
TARGET MODULE_LCAO_DEEPKS_edelta_gamma
221+
LIBS ${DEEPKS_UNIT_LIBS}
222+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_EDELTA_SOURCES}
223+
)
224+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_edelta_gamma edelta NO_GO_deepks_UT)
225+
226+
AddTest(
227+
TARGET MODULE_LCAO_DEEPKS_e_deltabands_gamma
228+
LIBS ${DEEPKS_UNIT_LIBS}
229+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_E_DELTABANDS_SOURCES}
230+
)
231+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_e_deltabands_gamma e_deltabands NO_GO_deepks_UT)
232+
233+
AddTest(
234+
TARGET MODULE_LCAO_DEEPKS_force_stress_delta_gamma
235+
LIBS ${DEEPKS_UNIT_LIBS}
236+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_FORCE_STRESS_DELTA_SOURCES}
237+
)
238+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_force_stress_delta_gamma force_stress_delta NO_GO_deepks_UT)
239+
240+
AddTest(
241+
TARGET MODULE_LCAO_DEEPKS_o_delta_gamma
242+
LIBS ${DEEPKS_UNIT_LIBS}
243+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_O_DELTA_SOURCES}
244+
)
245+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_o_delta_gamma o_delta NO_GO_deepks_UT)
246+
247+
AddTest(
248+
TARGET MODULE_LCAO_DEEPKS_phialpha_multik
249+
LIBS ${DEEPKS_UNIT_LIBS}
250+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_PHIALPHA_SOURCES}
251+
)
252+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_phialpha_multik phialpha NO_KP_deepks_UT)
253+
254+
AddTest(
255+
TARGET MODULE_LCAO_DEEPKS_pdm_multik
256+
LIBS ${DEEPKS_UNIT_LIBS}
257+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_PDM_SOURCES}
258+
)
259+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_pdm_multik pdm NO_KP_deepks_UT)
260+
261+
AddTest(
262+
TARGET MODULE_LCAO_DEEPKS_descriptor_multik
263+
LIBS ${DEEPKS_UNIT_LIBS}
264+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_DESCRIPTOR_SOURCES}
265+
)
266+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_descriptor_multik descriptor NO_KP_deepks_UT)
267+
268+
AddTest(
269+
TARGET MODULE_LCAO_DEEPKS_gdmx_multik
270+
LIBS ${DEEPKS_UNIT_LIBS}
271+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_GDMX_SOURCES}
272+
)
273+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_gdmx_multik gdmx NO_KP_deepks_UT)
274+
275+
AddTest(
276+
TARGET MODULE_LCAO_DEEPKS_gvx_multik
277+
LIBS ${DEEPKS_UNIT_LIBS}
278+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_GVX_SOURCES}
279+
)
280+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_gvx_multik gvx NO_KP_deepks_UT)
281+
282+
AddTest(
283+
TARGET MODULE_LCAO_DEEPKS_gdmepsl_multik
284+
LIBS ${DEEPKS_UNIT_LIBS}
285+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_GDMEPSL_SOURCES}
286+
)
287+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_gdmepsl_multik gdmepsl NO_KP_deepks_UT)
288+
289+
AddTest(
290+
TARGET MODULE_LCAO_DEEPKS_gvepsl_multik
291+
LIBS ${DEEPKS_UNIT_LIBS}
292+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_GVEPSL_SOURCES}
293+
)
294+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_gvepsl_multik gvepsl NO_KP_deepks_UT)
295+
296+
AddTest(
297+
TARGET MODULE_LCAO_DEEPKS_orbpre_multik
298+
LIBS ${DEEPKS_UNIT_LIBS}
299+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_ORBPRE_SOURCES}
300+
)
301+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_orbpre_multik orbpre NO_KP_deepks_UT)
302+
303+
AddTest(
304+
TARGET MODULE_LCAO_DEEPKS_vdpre_multik
305+
LIBS ${DEEPKS_UNIT_LIBS}
306+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_VDPRE_SOURCES}
307+
)
308+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_vdpre_multik vdpre NO_KP_deepks_UT)
309+
310+
AddTest(
311+
TARGET MODULE_LCAO_DEEPKS_vdrpre_multik
312+
LIBS ${DEEPKS_UNIT_LIBS}
313+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_VDRPRE_SOURCES}
314+
)
315+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_vdrpre_multik vdrpre NO_KP_deepks_UT)
316+
317+
AddTest(
318+
TARGET MODULE_LCAO_DEEPKS_edelta_multik
319+
LIBS ${DEEPKS_UNIT_LIBS}
320+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_EDELTA_SOURCES}
321+
)
322+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_edelta_multik edelta NO_KP_deepks_UT)
323+
324+
AddTest(
325+
TARGET MODULE_LCAO_DEEPKS_e_deltabands_multik
326+
LIBS ${DEEPKS_UNIT_LIBS}
327+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_E_DELTABANDS_SOURCES}
328+
)
329+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_e_deltabands_multik e_deltabands NO_KP_deepks_UT)
330+
331+
AddTest(
332+
TARGET MODULE_LCAO_DEEPKS_force_stress_delta_multik
333+
LIBS ${DEEPKS_UNIT_LIBS}
334+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_FORCE_STRESS_DELTA_SOURCES}
335+
)
336+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_force_stress_delta_multik force_stress_delta NO_KP_deepks_UT)
59337

60-
install(
61-
TARGETS test_deepks
62-
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../../../../tests
338+
AddTest(
339+
TARGET MODULE_LCAO_DEEPKS_o_delta_multik
340+
LIBS ${DEEPKS_UNIT_LIBS}
341+
SOURCES main_deepks.cpp ${DEEPKS_UNIT_O_DELTA_SOURCES}
63342
)
343+
configure_deepks_unit_target(MODULE_LCAO_DEEPKS_o_delta_multik o_delta NO_KP_deepks_UT)

0 commit comments

Comments
 (0)