Skip to content

Commit 90a4cd7

Browse files
authored
Merge branch 'develop' into adjust-input-parsing
2 parents b52b5cb + ad918a3 commit 90a4cd7

File tree

6 files changed

+730
-1
lines changed

6 files changed

+730
-1
lines changed

src/Message/AppAbort.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,35 @@
1313
#include <iostream>
1414
#include "config.h"
1515

16+
#ifdef ENABLE_GCOV
17+
#ifdef __GNUC__
18+
extern "C" void __gcov_dump();
19+
#endif
20+
#else
21+
#endif
22+
1623
#ifdef HAVE_MPI
1724
#include <mpi.h>
1825

1926
void breakableAppAbort(const std::string& str_msg)
2027
{
2128
std::cerr << str_msg << '\n';
29+
#ifdef ENABLE_GCOV
30+
#ifdef __GNUC__
31+
__gcov_dump();
32+
#endif
33+
#endif
2234
MPI_Abort(MPI_COMM_WORLD, 1);
2335
}
2436
#else
2537
void breakableAppAbort(const std::string& str_msg)
2638
{
2739
std::cerr << str_msg << '\n';
40+
#ifdef ENABLE_GCOV
41+
#ifdef __GNUC__
42+
__gcov_dump();
43+
#endif
44+
#endif
2845
exit(1);
2946
}
3047
#endif

src/Message/Communicate.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,17 @@
2626
#include "config.h"
2727
#include "Utilities/FairDivide.h"
2828

29+
#ifdef ENABLE_GCOV
30+
#ifdef __GNUC__
31+
extern "C" void __gcov_dump();
32+
#endif
33+
#else
34+
#endif
35+
2936
#ifdef HAVE_MPI
3037
#include "mpi3/shared_communicator.hpp"
3138
#endif
3239

33-
3440
//Global Communicator is created without initialization
3541
Communicate* OHMMS::Controller = new Communicate;
3642

@@ -123,5 +129,10 @@ void Communicate::barrier_and_abort(const std::string& msg) const
123129
if (!rank())
124130
std::cerr << "Fatal Error. Aborting at " << msg << std::endl;
125131
Communicate::barrier();
132+
#ifdef ENABLE_GCOV
133+
#ifdef __GNUC__
134+
__gcov_dump();
135+
#endif
136+
#endif
126137
Communicate::abort();
127138
}

src/config.h.cmake.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,5 +143,8 @@
143143
/* Enable NVTX regions in CUDA code. */
144144
#cmakedefine USE_NVTX_API @USE_NVTX_API@
145145

146+
/* For coverage builds */
147+
#cmakedefine ENABLE_GCOV @ENABLE_GCOV@
148+
146149
#endif // QMCPLUSPLUS_CONFIGURATION_H
147150

tests/solids/diamondC_1x1x1_pp/CMakeLists.txt

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2267,3 +2267,37 @@ qmc_run_and_check(
22672267
1
22682268
FALSE)
22692269

2270+
# Orbital images tests
2271+
set(TEST_ADDED FALSE)
2272+
set(TEST_LABELS "")
2273+
2274+
run_qmc_app(
2275+
deterministic-diamondC_1x1x1_pp-orbital_images-1-1
2276+
"${qmcpack_SOURCE_DIR}/tests/solids/diamondC_1x1x1_pp/"
2277+
1
2278+
1
2279+
TEST_ADDED
2280+
TEST_LABELS
2281+
det_qmc_short_orbital_images.in.xml)
2282+
# Override the default check for "QMCPACK execution completed successfully"
2283+
set_tests_properties(deterministic-diamondC_1x1x1_pp-orbital_images-1-1
2284+
PROPERTIES PASS_REGULAR_EXPRESSION
2285+
"orbital images written successfully, exiting")
2286+
add_test_check_file_existence(deterministic-restart_batch-8-2 qmc_short_batch.s000.config.h5 TRUE)
2287+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0000.xsf TRUE)
2288+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0000_imag.xsf TRUE)
2289+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0000_abs.xsf TRUE)
2290+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0000_abs2.xsf TRUE)
2291+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0001.xsf TRUE)
2292+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0001_imag.xsf TRUE)
2293+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0001_abs.xsf TRUE)
2294+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0001_abs2.xsf TRUE)
2295+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0002.xsf TRUE)
2296+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0002_imag.xsf TRUE)
2297+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0002_abs.xsf TRUE)
2298+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0002_abs2.xsf TRUE)
2299+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0003.xsf TRUE)
2300+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0003_imag.xsf TRUE)
2301+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0003_abs.xsf TRUE)
2302+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0003_abs2.xsf TRUE)
2303+
add_test_check_file_existence(deterministic-diamondC_1x1x1_pp-orbital_images-1-1 spo_ud_orbital_0004.xsf FALSE)
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
<?xml version="1.0"?>
2+
<simulation>
3+
<project id="det_qmc_short_orbital_images" series="0">
4+
<application name="qmcapp" role="molecu" class="serial" version="1.0"/>
5+
<parameter name="driver_version">legacy</parameter>
6+
</project>
7+
<random seed="71"/>
8+
<qmcsystem>
9+
<simulationcell>
10+
<parameter name="lattice" units="bohr">
11+
3.37316115 3.37316115 0.00000000
12+
0.00000000 3.37316115 3.37316115
13+
3.37316115 0.00000000 3.37316115
14+
</parameter>
15+
<parameter name="bconds">
16+
p p p
17+
</parameter>
18+
<parameter name="LR_dim_cutoff" > 15 </parameter>
19+
</simulationcell>
20+
<particleset name="e" random="yes">
21+
<group name="u" size="4" mass="1.0">
22+
<parameter name="charge" > -1 </parameter>
23+
<parameter name="mass" > 1.0 </parameter>
24+
</group>
25+
<group name="d" size="4" mass="1.0">
26+
<parameter name="charge" > -1 </parameter>
27+
<parameter name="mass" > 1.0 </parameter>
28+
</group>
29+
</particleset>
30+
<particleset name="ion0">
31+
<group name="C" size="2" mass="21894.7135906">
32+
<parameter name="charge" > 4 </parameter>
33+
<parameter name="valence" > 4 </parameter>
34+
<parameter name="atomicnumber" > 6 </parameter>
35+
<parameter name="mass" > 21894.7135906 </parameter>
36+
<attrib name="position" datatype="posArray" condition="0">
37+
0.00000000 0.00000000 0.00000000
38+
1.68658058 1.68658058 1.68658058
39+
</attrib>
40+
</group>
41+
</particleset>
42+
<wavefunction name="psi0" target="e">
43+
<sposet_collection type="bspline" href="pwscf.pwscf.h5" tilematrix="1 0 0 0 1 0 0 0 1" twistnum="0" source="ion0" meshfactor="1.0" precision="double">
44+
<sposet type="bspline" name="spo_ud" size="4" spindataset="0"/>
45+
</sposet_collection>
46+
<determinantset>
47+
<slaterdeterminant>
48+
<determinant sposet="spo_ud"/>
49+
<determinant sposet="spo_ud"/>
50+
</slaterdeterminant>
51+
</determinantset>
52+
<jastrow type="One-Body" name="J1" function="bspline" source="ion0" print="yes">
53+
<correlation elementType="C" size="8" cusp="0.0">
54+
<coefficients id="eC" type="Array">
55+
-0.2032153051 -0.1625595974 -0.143124599 -0.1216434956 -0.09919771951 -0.07111729038
56+
-0.04445345869 -0.02135082917
57+
</coefficients>
58+
</correlation>
59+
</jastrow>
60+
<jastrow type="Two-Body" name="J2" function="bspline" print="yes">
61+
<correlation speciesA="u" speciesB="u" size="8">
62+
<coefficients id="uu" type="Array">
63+
0.2797730287 0.2172604155 0.1656172964 0.1216984261 0.083995349 0.05302065936
64+
0.02915953995 0.0122402581
65+
</coefficients>
66+
</correlation>
67+
<correlation speciesA="u" speciesB="d" size="8">
68+
<coefficients id="ud" type="Array">
69+
0.4631099906 0.356399124 0.2587895287 0.1829298509 0.1233653291 0.07714708174
70+
0.04145899033 0.01690645936
71+
</coefficients>
72+
</correlation>
73+
</jastrow>
74+
</wavefunction>
75+
<hamiltonian name="h0" type="generic" target="e">
76+
<pairpot type="coulomb" name="ElecElec" source="e" target="e"/>
77+
<pairpot type="coulomb" name="IonIon" source="ion0" target="ion0"/>
78+
<pairpot type="pseudo" name="PseudoPot" source="ion0" wavefunction="psi0" format="xml">
79+
<pseudo elementType="C" href="C.BFD.xml"/>
80+
</pairpot>
81+
<pairpot name="MPC" type="MPC" source="e" target="e" ecut="60.0" physical="false"/>
82+
<estimator type="flux" name="Flux"/>
83+
<estimator name="OrbitalImages" type="orbitalimages" ions="ion0">
84+
<parameter name="sposets" > spo_ud </parameter>
85+
<parameter name="grid" > 64 64 64 </parameter>
86+
<parameter name="center_grid"> yes </parameter>
87+
<parameter name="batch_size" > 3 </parameter>
88+
<parameter name="value" > real imag abs abs2 </parameter>
89+
</estimator>
90+
</hamiltonian>
91+
</qmcsystem>
92+
<qmc method="vmc" move="pbyp">
93+
<estimator name="LocalEnergy" hdf5="no"/>
94+
<parameter name="walkers" > 1 </parameter>
95+
<parameter name="blocks" > 3 </parameter>
96+
<parameter name="steps" > 3 </parameter>
97+
<parameter name="subSteps" > 2 </parameter>
98+
<parameter name="timestep" > 0.3 </parameter>
99+
<parameter name="warmupSteps" > 3 </parameter>
100+
</qmc>
101+
</simulation>

0 commit comments

Comments
 (0)