60 std::string target(
"e");
68 TEST_CASE(
"QMCDriverFactory create VMC Driver",
"[qmcapp]")
70 using namespace testing;
87 REQUIRE_THROWS(dynamic_cast<VMCBatched&>(*qmc_driver));
88 REQUIRE_NOTHROW(dynamic_cast<VMC&>(*qmc_driver));
89 CHECK(qmc_driver->getEngineName() ==
"VMC");
92 TEST_CASE(
"QMCDriverFactory create VMCBatched driver",
"[qmcapp]")
96 using namespace testing;
98 SECTION(
"driver version behavior")
111 REQUIRE(qmc_driver !=
nullptr);
112 REQUIRE_NOTHROW(dynamic_cast<VMCBatched&>(*qmc_driver));
113 REQUIRE_THROWS(dynamic_cast<VMC&>(*qmc_driver));
114 CHECK(qmc_driver->getEngineName() ==
"VMCBatched");
116 SECTION(
"Deprecated _batch behavior")
118 using namespace testing;
131 REQUIRE(qmc_driver !=
nullptr);
132 REQUIRE_NOTHROW(dynamic_cast<VMCBatched&>(*qmc_driver));
133 REQUIRE_THROWS(dynamic_cast<VMC&>(*qmc_driver));
134 CHECK(qmc_driver->getEngineName() ==
"VMCBatched");
138 TEST_CASE(
"QMCDriverFactory create DMC driver",
"[qmcapp]")
140 using namespace testing;
156 REQUIRE(qmc_driver !=
nullptr);
157 REQUIRE_THROWS(dynamic_cast<DMCBatched&>(*qmc_driver));
158 REQUIRE_NOTHROW(dynamic_cast<DMC&>(*qmc_driver));
159 CHECK(qmc_driver->getEngineName() ==
"DMC");
162 TEST_CASE(
"QMCDriverFactory create DMCBatched driver",
"[qmcapp]")
164 using namespace testing;
168 SECTION(
"driver version behavior")
181 REQUIRE(qmc_driver !=
nullptr);
182 REQUIRE_NOTHROW(dynamic_cast<DMCBatched&>(*qmc_driver));
183 REQUIRE_THROWS(dynamic_cast<DMC&>(*qmc_driver));
184 CHECK(qmc_driver->getEngineName() ==
"DMCBatched");
186 SECTION(
"Deprecated _batch behavior")
200 REQUIRE(qmc_driver !=
nullptr);
201 REQUIRE_NOTHROW(dynamic_cast<DMCBatched&>(*qmc_driver));
202 REQUIRE_THROWS(dynamic_cast<DMC&>(*qmc_driver));
203 CHECK(qmc_driver->getEngineName() ==
"DMCBatched");
MCWalkerConfiguration * getWalkerSet(const std::string &pname)
get a named MCWalkerConfiguration
class that handles xmlDoc
constexpr int valid_vmc_input_vmc_index
TEST_CASE("ListenerVector", "[hamiltonian]")
A set of walkers that are to be advanced by Metropolis Monte Carlo.
helper functions for EinsplineSetBuilder
if(!okay) throw std xmlNodePtr node
DriverAssemblyState readSection(xmlNodePtr cur) const
default constructor
TEST_CASE("complex_helper", "[type_traits]")
This should be the minimal ParticleSetPool for integration tests.
constexpr int valid_vmc_input_vmc_batch_index
ProjectData test_project("test", ProjectData::DriverVersion::BATCH)
Communicate * Controller
Global Communicator for a process.
const RuntimeOptions & getRuntimeOptions() const noexcept
constexpr int valid_dmc_input_dmc_index
Wrapping information on parallelism.
REQUIRE(std::filesystem::exists(filename))
Compilation units that construct QMCDriverInput need visibility to the actual input classes types in ...
std::unique_ptr< QMCDriverInterface > createQMCDriver(xmlNodePtr cur, DriverAssemblyState &das, const std::optional< EstimatorManagerInput > &emi, MCWalkerConfiguration &qmc_system, ParticleSetPool &particle_pool, WaveFunctionPool &wave_function_pool, HamiltonianPool &hamiltonian_pool, Communicate *comm) const
create a new QMCDriver
Manage a collection of ParticleSet objects.
constexpr std::array< const char *, 4 > valid_vmc_input_sections
constexpr int valid_vmc_batch_input_vmc_batch_index
constexpr int valid_dmc_input_dmc_batch_index
bool parseFromString(const std::string_view data)
CHECK(log_values[0]==ComplexApprox(std::complex< double >{ 5.603777579195571, -6.1586603331188225 }))
constexpr std::array< const char *, 3 > valid_dmc_input_sections
constexpr int valid_dmc_batch_input_dmc_batch_index
VMC type: vmc, vmc-ptcl, vmc-multiple, vmc-ptcl-multiple.
QMCDriverPools(const RuntimeOptions &runtime_options, Communicate *comm)
Declare a global Random Number Generator.
auto createDriver(const RuntimeOptions &runtime_options, Communicate *comm, QMCDriverFactory &driver_factory, xmlNodePtr node, QMCDriverFactory::DriverAssemblyState &das)
Define OpenMP-able DMC Driver.
avoids many repeated xml heredoc sections
Manage a collection of TrialWaveFunction objects.
HamiltonianPool hamiltonian
Manage a collection of QMCHamiltonian objects.
WaveFunctionPool wavefunction