32 TEST_CASE(
"EstimatorManagerCrowd::EstimatorManagerCrowd",
"[estimators]")
37 using namespace testing;
58 TEST_CASE(
"EstimatorManagerCrowd PerParticleHamiltonianLogger integration",
"[estimators]")
63 using namespace testing;
92 std::vector<ParticleSet> psets;
95 int num_electrons =
particle_pool.getParticleSet(
"e")->getTotalNum();
96 int num_ions =
particle_pool.getParticleSet(
"ion")->getTotalNum();
100 psets.emplace_back(
pset);
101 psets.back().randomizeFromSource(*
particle_pool.getParticleSet(
"ion"));
102 twfs.emplace_back(
twf.makeClone(psets.back()));
103 hams.emplace_back(
hamiltonian_pool.getPrimary()->makeClone(psets.back(), *twfs.back()));
118 walker.DataSet.allocate();
121 auto walker_refs = makeRefVector<MCPWalker>(
walkers);
124 auto p_refs = makeRefVector<ParticleSet>(psets);
128 p_list.getLeader().createResource(pset_res);
135 twf_list.getLeader().createResource(wfc_res);
142 ham_list.
getLeader().createResource(ham_res);
160 savePropertiesIntoWalker(*(hams[iw]),
walkers[iw]);
162 emc.
accumulate(walker_refs, p_refs, twf_refs, ham_refs, rng);
void informOperatorsOfListener()
Some Hamiltonian components need to be informed that they are in a per particle reporting situation s...
class that handles xmlDoc
helper functions for EinsplineSetBuilder
Libxml2Document createEstimatorManagerNewInputXML()
Class to manage a set of ScalarEstimators As a manager, this class handles the aggregation of data fr...
std::size_t getNumScalarEstimators()
static ParticleSetPool make_diamondC_1x1x1(Communicate *c)
void saveProperty(IT first)
save the values of Hamiltonian elements to the Properties
TEST_CASE("complex_helper", "[type_traits]")
static WaveFunctionPool make_diamondC_1x1x1(const RuntimeOptions &runtime_options, Communicate *comm, ParticleSetPool &particle_pool)
Libxml2Document createEstimatorManagerNewVMCInputXML()
Collection of Local Energy Operators.
ProjectData test_project("test", ProjectData::DriverVersion::BATCH)
std::vector< std::unique_ptr< T > > UPtrVector
EstimatorManagerInput emi(estimators_doc.getRoot())
Communicate * Controller
Global Communicator for a process.
static RefVector< T > convertUPtrToRefVector(const UPtrVector< T > &ptr_list)
convert a vector of std::unique_ptrs<T> to a refvector<T>
const RuntimeOptions & getRuntimeOptions() const noexcept
static std::vector< QMCHamiltonian::FullPrecRealType > mw_evaluate(const RefVectorWithLeader< QMCHamiltonian > &ham_list, const RefVectorWithLeader< TrialWaveFunction > &wf_list, const RefVectorWithLeader< ParticleSet > &p_list)
batched version of evaluate for LocalEnergy
void append(const EstimatorInput &ei)
typed appending of already parsed inputs.
Wrapping information on parallelism.
std::size_t getNumEstimators()
Compilation units that construct QMCDriverInput need visibility to the actual input classes types in ...
Thread local estimator container/accumulator.
static HamiltonianPool make_hamWithEE(Communicate *comm, ParticleSetPool &particle_pool, WaveFunctionPool &wavefunction_pool)
Libxml2Document estimators_doc
Walker< QMCTraits, PtclOnLatticeTraits > MCPWalker
Input type for EstimatorManagerNew Parses Estimators level of input and and delegates child estimator...
static void mw_update(const RefVectorWithLeader< ParticleSet > &p_list, bool skipSK=false)
batched version of update
CHECK(log_values[0]==ComplexApprox(std::complex< double >{ 5.603777579195571, -6.1586603331188225 }))
handles acquire/release resource by the consumer (RefVectorWithLeader type).
void registerListeners(const RefVectorWithLeader< QMCHamiltonian > &ham_list)
This registers the crowd lever estimators that require listeners into the QMCHamiltonianMultiWalkerRe...
A container class to represent a walker.
EstimatorManagerNew emn(comm, std::move(emi), ham, pset, twf)
Declaration of QMCHamiltonian.
void accumulate(const RefVector< MCPWalker > &walkers, const RefVector< ParticleSet > &psets, const RefVector< TrialWaveFunction > &wfns, const RefVector< QMCHamiltonian > &hams, RandomBase< FullPrecRealType > &rng)
Accumulate over all scalar estimators and operator estimators over all walkers in crowd...