18 #ifndef QMCPLUSPLUS_WALKER_CONTROL_BASE_H 19 #define QMCPLUSPLUS_WALKER_CONTROL_BASE_H 34 class UnifiedDriverWalkerControlMPITest;
144 virtual void reset();
152 bool put(xmlNodePtr cur);
IndexType get_method() const
WalkerControlBase(Communicate *c)
default constructor
HamiltonianRef::FullPrecRealType FullPrecRealType
virtual void reset()
reset to accumulate data
std::vector< std::unique_ptr< Walker_t > > bad_w
FullPrecRealType get_target_sigma() const
FullPrecRealType target_sigma_
target sigma to limit fluctuations of the trial energy
IndexType NumWalkers
current number of walkers per processor
int copyWalkers(MCWalkerConfiguration &W)
legacy: copy good walkers to W
A set of walkers that are to be advanced by Metropolis Monte Carlo.
std::vector< int > NumPerRank
number of particle per rank
Base class for any object which needs to know about a MPI communicator.
helper functions for EinsplineSetBuilder
std::filesystem::path dmcFname
filename for dmc.dat
FullPrecRealType getValue(int i)
return a value accumulated during a block
void set_ensemble_property(MCDataType< FullPrecRealType > &ensemble_property)
std::vector< int > ncopy_w
temporary storage for copy counters
FullPrecRealType trialEnergy
trial energy energy
std::vector< FullPrecRealType > accumData
any accumulated data over a block
declaration of MPIObjectBase
IndexType MyContext
context id
QMCTraits::IndexType IndexType
bool use_nonblocking
Use non-blocking isend/irecv.
Wrapping information on parallelism.
std::vector< int > FairOffSet
offset of the particle index for a fair distribution
static std::vector< IndexType > syncFutureWalkersPerRank(Communicate *comm, IndexType n_walkers)
void start()
start a block
int doNotBranch(int iter, MCWalkerConfiguration &W)
legacy: return global population update properties without branching
IndexType method_
id for the method
std::vector< int > OffSet
offset of the particle index
IndexType get_num_contexts() const
IndexType n_min_
minimum number of walkers
void measureProperties(int iter)
take averages and writes to a file
std::vector< FullPrecRealType > curData
any temporary data includes many ridiculous conversions of integral types to and from fp ...
MCDataType< FullPrecRealType > & get_ensemble_property()
FullPrecRealType getCurrentValue(int i)
return a current value
void setWalkerID(MCWalkerConfiguration &walkers)
start controller and initialize the IDs of walkers
IndexType NumWalkersCreated
Number of walkers created by this rank.
std::unique_ptr< std::ofstream > dmcStream
file to save energy histogram
IndexType num_contexts_
number of contexts
OHMMS_INDEXTYPE IndexType
define other types
void setTrialEnergy(FullPrecRealType et)
set the trial energy
WalkerConfigurations::Walker_t Walker_t
std::vector< std::unique_ptr< Walker_t > > good_w
temporary storage for good and bad walkers
virtual int branch(int iter, MCWalkerConfiguration &W, FullPrecRealType trigger)
legacy: perform branch and swap walkers as required
void setMinMax(int nw_in, int nmax_in)
IndexType n_max_
maximum number of walkers
IndexType MaxCopy
maximum copy per walker
Base class to control the walkers for DMC simulations.
QTFull::RealType FullPrecRealType
QMCTraits::FullPrecRealType FullPrecRealType
typedef of FullPrecRealType
virtual ~WalkerControlBase()
empty destructor to clean up the derived classes
int sortWalkers(MCWalkerConfiguration &W)
legacy: sort Walkers between good and bad and prepare branching
MCDataType< FullPrecRealType > ensemble_property_
ensemble properties
QMCTraits::IndexType IndexType
typedef of IndexType
IndexType SwapMode
0 is default
Declaration of a MCWalkerConfiguration.
A container class to represent a walker.
void set_method(IndexType method)
int applyNmaxNmin(int current_population)
legacy: apply per rank limit Nmax and Nmin