15 #ifndef QMCPLUSPLUS_RECONFIGURATION_WALKER_CONTROLMPI_H 16 #define QMCPLUSPLUS_RECONFIGURATION_WALKER_CONTROLMPI_H 41 std::vector<IndexType>
dN;
43 std::vector<FullPrecRealType>
wConf;
47 std::vector<FullPrecRealType>
wSum;
HamiltonianRef::FullPrecRealType FullPrecRealType
A set of walkers that are to be advanced by Metropolis Monte Carlo.
helper functions for EinsplineSetBuilder
Class to handle walker controls with simple global sum.
int TotalWalkers
total number of walkers
FullPrecRealType UnitZeta
random number [0,1)
int LastWalker
ending index of the local walkers
FullPrecRealType DeltaStep
random number [0,1)/number of walkers
std::vector< FullPrecRealType > wConf
Wrapping information on parallelism.
int FirstWalker
starting index of the local walkers
void recvWalkers(MCWalkerConfiguration &W, const std::vector< IndexType > &minus)
send the missing walkers from other node
std::vector< IndexType > dN
the number of extra/missing walkers
std::vector< FullPrecRealType > wOffset
WalkerReconfigurationMPI(Communicate *c=0)
default constructor
void sendWalkers(MCWalkerConfiguration &W, const std::vector< IndexType > &plus)
send the extra walkers to other node
Base class to control the walkers for DMC simulations.
std::vector< FullPrecRealType > wSum
int branch(int iter, MCWalkerConfiguration &W, FullPrecRealType trigger) override
perform branch and swap walkers as required
int swapWalkers(MCWalkerConfiguration &W)
return the surviving Walkers
FullPrecRealType nwInv
1/(total number of walkers)