15 #ifndef QMCPLUSPLUS_RMCLOCALENERGYESTIMATOR_H 16 #define QMCPLUSPLUS_RMCLOCALENERGYESTIMATOR_H 60 throw std::runtime_error(
"RMC not supported by Unified Driver interfaces");
83 scalars[0](0.5 * (ePtr[WP::LOCALENERGY] + lPtr[WP::LOCALENERGY]), wwght);
84 scalars[1](0.5 * (ePtr[WP::LOCALENERGY] * ePtr[WP::LOCALENERGY] + lPtr[WP::LOCALENERGY] * lPtr[WP::LOCALENERGY]),
86 scalars[2](cPtr[WP::LOCALENERGY], wwght);
87 scalars[3](cPtr[WP::LOCALENERGY] * cPtr[WP::LOCALENERGY], wwght);
88 scalars[4](ePtr[WP::LOCALENERGY] * lPtr[WP::LOCALENERGY], wwght);
89 scalars[5](0.5 * (ePtr[WP::LOCALPOTENTIAL] + lPtr[WP::LOCALPOTENTIAL]), wwght);
90 scalars[6](cPtr[WP::LOCALPOTENTIAL], wwght);
96 scalars[target](lPtr[source], wwght);
97 scalars[target](ePtr[source], wwght);
103 scalars[target](cPtr[source], wwght);
150 std::string
getName()
const override {
return "RMCLocalEnergyEstimator"; }
void accumulate(const Walker_t &awalker, RealType wgt)
accumulation per walker
This file contains the input classes for the supported "main estimator" classes derived from ScalarEs...
A set of walkers that are to be advanced by Metropolis Monte Carlo.
helper functions for EinsplineSetBuilder
Class to accumulate the local energy and components.
const RMCLocalEnergyInput input_
Collection of Local Energy Operators.
bool isMainEstimator() const override
RMCLocalEnergyEstimator is the main estimator type for RMC driver.
const std::string & get_type() const
QMCTraits::FullPrecRealType RealType
const QMCHamiltonian & refH
std::vector< accumulator_type > scalars
scalars to be measured
std::string getName() const override
const std::string & getSubTypeStr() const override
String representation of the derived type of the ScalarEstimator.
RecordNamedProperty< RealType > RecordListType
void resizeBasedOnHamiltonian(const QMCHamiltonian &ham)
RMCLocalEnergyEstimator(QMCHamiltonian &ham, int nobs=2)
constructor
void accumulate(const RefVector< MCPWalker > &walkers) override
a virtual function to accumulate observables or collectables
RMCLocalEnergyEstimator * clone() override
clone the object
std::vector< std::reference_wrapper< T > > RefVector
void registerObservables(std::vector< ObservableHelper > &h5dec, hdf_archive &file) override
add descriptors of observables to utilize hdf5
Indexes
an enum denoting index of physical properties
void add2Record(RecordListType &record) override
add the local energy, variance and all the Hamiltonian components to the scalar record container ...
MCWalkerConfiguration::const_iterator WalkerIterator
Abstract class for an estimator of a scalar operator.
FullPrecRealType * getPropertyBase()
A container class to represent a walker.
void accumulate(const MCWalkerConfiguration &W, WalkerIterator first, WalkerIterator last, RealType wgt) override
a virtual function to accumulate observables or collectables
Declaration of QMCHamiltonian.