Skip to content

Commit 2058d00

Browse files
authored
Merge pull request #5559 from PDoakORNL/move_minimal_pools
Move minimal pools
2 parents af1c651 + a226a86 commit 2058d00

34 files changed

Lines changed: 523 additions & 459 deletions

src/CMakeLists.txt

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -126,28 +126,6 @@ if(QMC_BUILD_SANDBOX_ONLY)
126126

127127
else() #{{{
128128

129-
# a target for the minimal testing pools.
130-
# This should be used by test programs using any of the minimal
131-
# pools
132-
#
133-
# What it does:
134-
# It removes the need to include a relative
135-
# path into another modules testing directory to use a minimal pools
136-
#
137-
# What it doesn't do:
138-
# Provide linkage to the parent modules i.e. Particle, QMCHamiltonians,
139-
# QMCWaveFunction.
140-
#
141-
# It may be used faciliate transition to single compilation of the
142-
# minimal pools without a great deal of mess in the various test
143-
# program builds however it is useful as is. Consult with PD before
144-
# reverting this.
145-
#
146-
147-
add_library(minimal_testing_pools INTERFACE)
148-
target_sources(minimal_testing_pools INTERFACE Particle/tests/MinimalParticlePool.h QMCHamiltonians/tests/MinimalHamiltonianPool.h QMCWaveFunctions/tests/MinimalWaveFunctionPool.h)
149-
target_include_directories(minimal_testing_pools INTERFACE Particle/tests QMCHamiltonians/tests QMCWaveFunctions/tests)
150-
151129
add_subdirectory(QMCWaveFunctions)
152130
add_subdirectory(QMCHamiltonians)
153131

src/Estimators/tests/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ else()
2525
add_library(test_estimators_help ${TEST_ESTIMATORS_HELP})
2626
endif()
2727

28-
target_link_libraries(test_estimators_help catch_main qmcestimators minimal_testing_pools mock_walker_elements)
28+
target_link_libraries(test_estimators_help catch_main qmcestimators mock_walker_elements)
2929

3030
set(UTEST_EXE test_${SRC_DIR})
3131
set(UTEST_NAME deterministic-unit_test_${SRC_DIR})
@@ -73,7 +73,7 @@ set(SRCS
7373
)
7474

7575
add_executable(${UTEST_EXE} ${SRCS})
76-
target_link_libraries(${UTEST_EXE} catch_main qmcutil qmcestimators test_estimators_help utilities_for_test sposets_for_testing minimal_testing_pools)
76+
target_link_libraries(${UTEST_EXE} catch_main qmcutil qmcestimators test_estimators_help utilities_for_test sposets_for_testing minimal_test_pools)
7777
if(USE_OBJECT_TARGET)
7878
target_link_libraries(
7979
${UTEST_EXE}
@@ -118,7 +118,7 @@ if(HAVE_MPI)
118118
utilities_for_test)
119119
endif()
120120
target_link_libraries(${UTEST_EXE} catch_main qmcestimators
121-
test_estimators_help minimal_testing_pools mock_walker_elements)
121+
test_estimators_help minimal_test_pools mock_walker_elements)
122122
# Right now the unified driver mpi tests are hard coded for 3 MPI ranks
123123
add_unit_test(${UTEST_NAME} 3 1 $<TARGET_FILE:${UTEST_EXE}>)
124124
endif()

src/Estimators/tests/test_EnergyDensityEstimator.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
#include "PerParticleHamiltonianLogger.h"
2020
#include "ValidEnergyDensityInput.h"
2121
#include "Particle/Walker.h"
22-
#include "Particle/tests/MinimalParticlePool.h"
23-
#include "QMCWaveFunctions/tests/MinimalWaveFunctionPool.h"
24-
#include "QMCHamiltonians/tests/MinimalHamiltonianPool.h"
22+
#include <MinimalParticlePool.h>
23+
#include <MinimalWaveFunctionPool.h>
24+
#include <MinimalHamiltonianPool.h>
2525
#include "Utilities/for_testing/NativeInitializerPrint.hpp"
2626

2727
constexpr bool generate_test_data = false;
@@ -46,7 +46,7 @@ TEST_CASE("NEEnergyDensityEstimator::Constructor", "[estimators]")
4646
{1.657151589, 0.883870516, 1.201243939}, {0.97317591, 1.245644974, 0.284564732}};
4747

4848
Libxml2Document doc;
49-
using Input = testing::EnergyDensityInputs;
49+
using Input = testing::EnergyDensityInputs;
5050
bool okay = doc.parseFromString(Input::getXml(Input::valid::CELL));
5151
xmlNodePtr node = doc.getRoot();
5252
EnergyDensityInput edein{node};
@@ -72,7 +72,7 @@ TEST_CASE("NEEnergyDensityEstimator::spawnCrowdClone", "[estimators]")
7272
{1.657151589, 0.883870516, 1.201243939}, {0.97317591, 1.245644974, 0.284564732}};
7373

7474
Libxml2Document doc;
75-
using Input = testing::EnergyDensityInputs;
75+
using Input = testing::EnergyDensityInputs;
7676
bool okay = doc.parseFromString(Input::getXml(Input::valid::CELL));
7777
xmlNodePtr node = doc.getRoot();
7878
EnergyDensityInput edein{node};
@@ -92,9 +92,9 @@ TEST_CASE("NEEnergyDensityEstimator::AccumulateIntegration", "[estimators]")
9292

9393
testing::EnergyDensityTest eden_test(comm, 4 /*num_walkers*/, generate_test_data);
9494

95-
auto ham_list = eden_test.getHamList();
95+
auto ham_list = eden_test.getHamList();
9696
auto& ham_leader = ham_list.getLeader();
97-
auto ham_lock = ResourceCollectionTeamLock(eden_test.getHamRes(), ham_list);
97+
auto ham_lock = ResourceCollectionTeamLock(eden_test.getHamRes(), ham_list);
9898
eden_test.getEnergyDensityEstimator().registerListeners(ham_leader);
9999

100100
PerParticleHamiltonianLogger pph_logger({}, 0);

src/Estimators/tests/test_EstimatorManagerCrowd.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
#include "Estimators/tests/EstimatorManagerNewTest.h"
2222
#include "Estimators/EstimatorInputDelegates.h"
2323
#include "EstimatorManagerInputTest.h"
24-
#include "Particle/tests/MinimalParticlePool.h"
25-
#include "QMCHamiltonians/tests/MinimalHamiltonianPool.h"
26-
#include "QMCWaveFunctions/tests/MinimalWaveFunctionPool.h"
24+
#include <MinimalParticlePool.h>
25+
#include <MinimalHamiltonianPool.h>
26+
#include <MinimalWaveFunctionPool.h>
2727
#include "Utilities/ResourceCollection.h"
2828
#include "Utilities/ProjectData.h"
2929

src/Estimators/tests/test_MomentumDistribution.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
#include "TrialWaveFunction.h"
2121
#include "OhmmsData/Libxml2Doc.h"
2222
#include "Message/UniformCommunicateError.h"
23-
#include "Particle/tests/MinimalParticlePool.h"
24-
#include "QMCWaveFunctions/tests/MinimalWaveFunctionPool.h"
23+
#include <MinimalParticlePool.h>
24+
#include <MinimalWaveFunctionPool.h>
2525
#include "Utilities/StdRandom.h"
2626
#include "Utilities/StlPrettyPrint.hpp"
2727
#include "Utilities/ProjectData.h"

src/Estimators/tests/test_ReferencePoints.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#include "ValidReferencePointsInput.h"
1515
#include "OhmmsData/Libxml2Doc.h"
1616
#include "EstimatorTesting.h"
17-
#include "Particle/tests/MinimalParticlePool.h"
17+
#include <MinimalParticlePool.h>
1818

1919
/** \file
2020
* This is a postfacto unit testing written for reference points during porting of EnergyDensity

src/Particle/LongRange/tests/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ set(UTEST_EXE test_${SRC_DIR})
1414
set(UTEST_NAME deterministic-unit_test_${SRC_DIR})
1515

1616
add_executable(${UTEST_EXE} test_lrhandler.cpp test_ewald3d.cpp test_temp.cpp test_srcoul.cpp test_StructFact.cpp test_kcontainer.cpp)
17-
target_link_libraries(${UTEST_EXE} catch_main qmcparticle)
17+
target_link_libraries(${UTEST_EXE} catch_main qmcparticle minimal_particle_pool)
1818
if(USE_OBJECT_TARGET)
1919
target_link_libraries(${UTEST_EXE} qmcutil qmcparticle_omptarget)
2020
endif()

src/Particle/LongRange/tests/test_kcontainer.cpp

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
#include "Particle/LongRange/KContainer.h"
1515
#include "Particle/Lattice/CrystalLattice.h"
16-
#include "Particle/tests/MinimalParticlePool.h"
16+
#include <MinimalParticlePool.h>
1717
#include "Utilities/for_testing/checkVector.hpp"
1818
#include "Utilities/for_testing/NativeInitializerPrint.hpp"
1919

@@ -39,8 +39,7 @@ TEST_CASE("kcontainer at gamma in 3D", "[longrange]")
3939
for (int ik = 0; ik < kcs.size(); ik++)
4040
{
4141
const double kc = kcs[ik] + 1e-6;
42-
klists.updateKLists(lattice, kc,
43-
ndim);
42+
klists.updateKLists(lattice, kc, ndim);
4443
CHECK(klists.getKpts().size() == nks[ik]);
4544
}
4645
const int mxk = klists.getKpts().size();
@@ -76,14 +75,12 @@ TEST_CASE("kcontainer at twist in 3D", "[longrange]")
7675

7776
PosType twist;
7877
twist[0] = 0.1;
79-
klists.updateKLists(lattice, kc,
80-
ndim, twist);
78+
klists.updateKLists(lattice, kc, ndim, twist);
8179
CHECK(klists.getKpts().size() == 1);
8280
CHECK(klists.getKptsCartWorking()[0][0] == Approx(blat * (twist[0] - 1)));
8381

8482
twist = {-0.5, 0, 0.5};
85-
klists.updateKLists(lattice, kc,
86-
ndim, twist);
83+
klists.updateKLists(lattice, kc, ndim, twist);
8784
int gvecs[3][3] = {{0, 0, -1}, {1, 0, -1}, {1, 0, 0}};
8885
CHECK(klists.getKpts().size() == 3);
8986
for (int ik = 0; ik < klists.getKpts().size(); ik++)
@@ -109,8 +106,7 @@ TEST_CASE("kcontainer at gamma in 2D", "[longrange]")
109106
for (int ik = 0; ik < kcs.size(); ik++)
110107
{
111108
const double kc = kcs[ik] + 1e-6;
112-
klists.updateKLists(lattice, kc,
113-
ndim);
109+
klists.updateKLists(lattice, kc, ndim);
114110
CHECK(klists.getKpts().size() == nks[ik]);
115111
}
116112
const int mxk = klists.getKpts().size();
@@ -146,23 +142,20 @@ TEST_CASE("kcontainer at twist in 2D", "[longrange]")
146142

147143
PosType twist;
148144
twist[0] = 0.1;
149-
klists.updateKLists(lattice, kc,
150-
ndim, twist);
145+
klists.updateKLists(lattice, kc, ndim, twist);
151146
CHECK(klists.getKpts().size() == 1);
152147
CHECK(klists.getKptsCartWorking()[0][0] == Approx(blat * (twist[0] - 1)));
153148

154149
twist[1] = 0.1;
155-
klists.updateKLists(lattice, kc,
156-
ndim, twist);
150+
klists.updateKLists(lattice, kc, ndim, twist);
157151
CHECK(klists.getKpts().size() == 2);
158152
CHECK(klists.getKptsCartWorking()[0][0] == Approx(blat * (twist[0] - 1)));
159153
CHECK(klists.getKptsCartWorking()[0][1] == Approx(blat * twist[1]));
160154
CHECK(klists.getKptsCartWorking()[1][0] == Approx(blat * (twist[0])));
161155
CHECK(klists.getKptsCartWorking()[1][1] == Approx(blat * (twist[1] - 1)));
162156

163157
twist = {-0.5, 0.5, 0};
164-
klists.updateKLists(lattice, kc,
165-
ndim, twist);
158+
klists.updateKLists(lattice, kc, ndim, twist);
166159
CHECK(klists.getKpts().size() == 3);
167160
//for (int ik=0;ik<3;ik++)
168161
// app_log() << klists.getKptsCartWorking()[ik] << std::endl;
@@ -189,7 +182,7 @@ TEST_CASE("kcontainer for diamond", "[longrange]")
189182
lattice.LR_dim_cutoff = 15;
190183
SimulationCell cell(lattice);
191184

192-
const KContainer& klists = cell.getKLists();
185+
const KContainer& klists = cell.getKLists();
193186
std::remove_cv_t<std::remove_reference_t<decltype(KContainer().getKpts())>> kpoint_lists = {
194187
{-1, -1, -1}, {-1, 0, 0}, {0, -1, 0}, {0, 0, -1}, {0, 0, 1}, {0, 1, 0}, {1, 0, 0}, {1, 1, 1},
195188
{-1, -1, 0}, {-1, 0, -1}, {0, -1, -1}, {0, 1, 1}, {1, 0, 1}, {1, 1, 0}, {-2, -1, -1}, {-1, -2, -1},

src/Particle/tests/CMakeLists.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,18 @@
22
#// This file is distributed under the University of Illinois/NCSA Open Source License.
33
#// See LICENSE file in top directory for details.
44
#//
5-
#// Copyright (c) 2021 QMCPACK developers.
5+
#// Copyright (c) 2025 QMCPACK developers.
66
#//
77
#// File developed by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
8+
#// Peter W. Doak, doakpw@ornl.gov, Oak Ridge National Lab
89
#//
910
#// File created by: Mark Dewing, markdewing@gmail.com, University of Illinois at Urbana-Champaign
1011
#//////////////////////////////////////////////////////////////////////////////////////
1112

13+
add_library(minimal_particle_pool MinimalParticlePool.cpp)
14+
target_include_directories(minimal_particle_pool PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
15+
target_link_libraries(minimal_particle_pool PUBLIC qmcparticle)
16+
1217
set(SRC_DIR particle)
1318
set(UTEST_EXE test_${SRC_DIR})
1419
set(UTEST_NAME deterministic-unit_${UTEST_EXE})
@@ -22,7 +27,7 @@ add_executable(
2227
test_sample_stack.cpp
2328
test_DTModes.cpp
2429
test_MCCoords.cpp)
25-
target_link_libraries(${UTEST_EXE} catch_main qmcparticle)
30+
target_link_libraries(${UTEST_EXE} catch_main qmcparticle minimal_particle_pool)
2631
if(USE_OBJECT_TARGET)
2732
target_link_libraries(${UTEST_EXE} qmcutil qmcparticle_omptarget)
2833
endif()
@@ -36,7 +41,7 @@ add_executable(
3641
${UTEST_EXE}
3742
test_distance_table.cpp
3843
test_SoaDistanceTableAA.cpp)
39-
target_link_libraries(${UTEST_EXE} catch_main qmcparticle)
44+
target_link_libraries(${UTEST_EXE} catch_main qmcparticle minimal_particle_pool)
4045
if(USE_OBJECT_TARGET)
4146
target_link_libraries(${UTEST_EXE} qmcutil qmcparticle_omptarget)
4247
endif()

0 commit comments

Comments
 (0)