16 #if !defined(REMOVE_TRACEMANAGER)    19 using TraceManager = int;
    51   for (
int iter = 0; iter < 
nSubSteps; ++iter)
    57     for (
int ig = 0; ig < 
W.
groups(); ++ig) 
    60       RealType oneover2tau = 0.5 / (tauovermass);
    63       for (
int iat = 
W.
first(ig); iat < 
W.
last(ig); ++iat)
    73           dr += sqrttau * 
deltaR[iat];
    78           dr = sqrttau * 
deltaR[iat];
   100           logGb += -
spinMass * oneover2tau * ds * ds;
   110         bool is_accepted = 
false;
   111         if (prob >= std::numeric_limits<RealType>::epsilon() && 
RandomGen() < prob)
   145 #if !defined(REMOVE_TRACEMANAGER) TraceManager * Traces
traces 
Base class for update methods for each step. 
void rejectMove(int iat)
restore to the original state 
ValueType calcRatio(ParticleSet &P, int iat, ComputeType ct=ComputeType::ALL)
compute psi(R_new) / psi(R_current) ratio It returns a complex value if the wavefunction is complex...
WFBuffer_t DataSet
buffer for the data for particle-by-particle update 
A set of walkers that are to be advanced by Metropolis Monte Carlo. 
void copyFromBuffer(ParticleSet &P, WFBufferType &buf)
copy all the wavefunction components from buffer. 
helper functions for EinsplineSetBuilder 
Scalar_t getActiveSpinVal() const
ParticleScalar spins
internal spin variables for dynamical spin calculations 
QTBase::RealType RealType
TrialWaveFunction & Psi
trial function 
RealType spinMass
spin mass 
void acceptMove(ParticleSet &P, int iat, bool safe_to_delay=false)
update the state with the new data 
~SOVMCUpdatePbyP() override
ParticleSet::ParticleScalar deltaS
temporart storage for spin displacement 
void saveProperty(IT first)
save the values of Hamiltonian elements to the Properties 
SOVMCUpdatePbyP(MCWalkerConfiguration &w, TrialWaveFunction &psi, QMCHamiltonian &h, RandomBase< FullPrecRealType > &rg)
Constructor. 
Collection of Local Energy Operators. 
void buffer_sample(int current_step)
QTBase::ComplexType ComplexType
int first(int igroup) const
return the first index of a group i 
int current_step
current MC step 
ParticleSet::ParticlePos deltaR
temporary storage for random displacement 
RealType updateBuffer(ParticleSet &P, WFBufferType &buf, bool fromscratch=false)
update all the wavefunction components in buffer. 
NewTimer & movepbyp_timer_
DriverDebugChecks debug_checks_
determine additional checks for debugging purpose 
int groups() const
return the number of groups 
const PosType & getActivePos() const
GradType evalGradWithSpin(ParticleSet &P, int iat, ComplexType &spingrad)
compute d/ds ln(psi) spin gradient at current particle position for iat electron 
double norm(const zVec &c)
bool makeMoveAndCheckWithSpin(Index_t iat, const SingleParticlePos &displ, const Scalar_t &sdispl)
makeMoveAndCheck, but now includes an update to the spin variable 
void saveWalker(Walker_t &awalker)
save this to awalker 
NewTimer & createGlobalTimer(const std::string &myname, timer_levels mylevel)
NewTimer & hamiltonian_timer_
void accept_rejectMove(Index_t iat, bool accepted, bool forward_mode=true)
accept or reject a proposed move Two operation modes: The using and updating distance tables via Part...
QTFull::RealType Scalar_t
int last(int igroup) const
return the last index of a group i 
MakeReturn< UnaryNode< FnExp, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t exp(const Vector< T1, C1 > &l)
MCWalkerConfiguration & W
walker ensemble 
static void checkLogAndGL(ParticleSet &pset, TrialWaveFunction &twf, const std::string_view location)
check logpsi and grad and lap against values computed from scratch 
void advanceWalker(Walker_t &thisWalker, bool recompute) override
move a walker 
void loadWalker(Walker_t &awalker, bool pbyp)
load a Walker_t to the current ParticleSet 
void auxHevaluate(ParticleSet &P)
int nSubSteps
number of steps per measurement 
RealType getPhase() const
MakeReturn< UnaryNode< FnSqrt, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t sqrt(const Vector< T1, C1 > &l)
NewTimer & collectables_timer_
Class to represent a many-body trial wave function. 
RandomBase< FullPrecRealType > & RandomGen
random number generator 
FullPrecRealType evaluate(ParticleSet &P)
evaluate Local Energy 
Tensor< typename BinaryReturn< T1, T2, OpMultiply >::Type_t, D > dot(const AntiSymTensor< T1, D > &lhs, const AntiSymTensor< T2, D > &rhs)
ValueType calcRatioGradWithSpin(ParticleSet &P, int iat, GradType &grad_iat, ComplexType &spingrad_iat)
compute psi(R_new) / psi(R_current) ratio and d/ds ln(psi(R_new)) spin gradient It returns a complex ...
QTFull::RealType FullPrecRealType
IndexType nAccept
counter for number of moves accepted 
IndexType nReject
counter for number of moves rejected 
FullPrecRealType * getPropertyBase()
virtual void getDrift(RealType tau, const GradType &qf, PosType &drift) const =0
evaluate a drift with a real force 
void prepareGroup(ParticleSet &P, int ig)
Prepare internal data for updating WFC correspond to a particle group Particle groups usually corresp...
std::vector< RealType > MassInvS
1/Mass per species 
A container class to represent a walker. 
QMCHamiltonian & H
Hamiltonian. 
void donePbyP(bool skipSK=false)
update structure factor and unmark active_ptcl_ 
void resetProperty(FullPrecRealType logpsi, FullPrecRealType sigN, FullPrecRealType ene)
reset the property of a walker 
void completeUpdates()
complete all the delayed or asynchronous operations before leaving the p-by-p move region...
IndexType nAllRejected
Total number of the steps when all the particle moves are rejected. 
const DriftModifierBase * DriftModifier
drift modifer, stateless reference to the one in QMCDriver 
void makeGaussRandomWithEngine(ParticleAttrib< TinyVector< T, D >> &a, RG &rng)