![]() |
QMCPACK
|
Wrappers for dispatching to ParticleSet single walker APIs or mw_ APIs. More...
Public Types | |
using | Walker_t = ParticleSet::Walker_t |
using | SingleParticlePos = ParticleSet::SingleParticlePos |
using | Scalar_t = ParticleSet::Scalar_t |
Public Member Functions | |
PSdispatcher (bool use_batch) | |
void | flex_loadWalker (const RefVectorWithLeader< ParticleSet > &p_list, const RefVector< Walker_t > &walkers, const std::vector< bool > &recompute, bool pbyp) const |
void | flex_update (const RefVectorWithLeader< ParticleSet > &p_list, bool skipSK=false) const |
template<CoordsType CT> | |
void | flex_makeMove (const RefVectorWithLeader< ParticleSet > &p_list, int iat, const MCCoords< CT > &displs) const |
template<CoordsType CT> | |
void | flex_accept_rejectMove (const RefVectorWithLeader< ParticleSet > &p_list, int iat, const std::vector< bool > &isAccepted, bool forward_mode=true) const |
void | flex_saveWalker (const RefVectorWithLeader< ParticleSet > &p_list, const RefVector< Walker_t > &walkers) const |
void | flex_donePbyP (const RefVectorWithLeader< ParticleSet > &p_list) const |
Private Attributes | |
bool | use_batch_ |
Wrappers for dispatching to ParticleSet single walker APIs or mw_ APIs.
This should be only used by QMC drivers. member function names must match mw_ APIs in TrialWaveFunction
Definition at line 24 of file PSdispatcher.h.
using Scalar_t = ParticleSet::Scalar_t |
Definition at line 29 of file PSdispatcher.h.
Definition at line 28 of file PSdispatcher.h.
using Walker_t = ParticleSet::Walker_t |
Definition at line 27 of file PSdispatcher.h.
PSdispatcher | ( | bool | use_batch | ) |
Definition at line 17 of file PSdispatcher.cpp.
void flex_accept_rejectMove | ( | const RefVectorWithLeader< ParticleSet > & | p_list, |
int | iat, | ||
const std::vector< bool > & | isAccepted, | ||
bool | forward_mode = true |
||
) | const |
void flex_donePbyP | ( | const RefVectorWithLeader< ParticleSet > & | p_list | ) | const |
Definition at line 73 of file PSdispatcher.cpp.
References ParticleSet::mw_donePbyP(), qmcplusplus::pset, and PSdispatcher::use_batch_.
void flex_loadWalker | ( | const RefVectorWithLeader< ParticleSet > & | p_list, |
const RefVector< Walker_t > & | walkers, | ||
const std::vector< bool > & | recompute, | ||
bool | pbyp | ||
) | const |
Definition at line 19 of file PSdispatcher.cpp.
References ParticleSet::mw_loadWalker(), PSdispatcher::use_batch_, and qmcplusplus::hdf::walkers.
void flex_makeMove | ( | const RefVectorWithLeader< ParticleSet > & | p_list, |
int | iat, | ||
const MCCoords< CT > & | displs | ||
) | const |
Definition at line 46 of file PSdispatcher.cpp.
References ParticleSet::mw_makeMove(), qmcplusplus::POS_SPIN, and PSdispatcher::use_batch_.
void flex_saveWalker | ( | const RefVectorWithLeader< ParticleSet > & | p_list, |
const RefVector< Walker_t > & | walkers | ||
) | const |
Definition at line 82 of file PSdispatcher.cpp.
References ParticleSet::mw_saveWalker(), PSdispatcher::use_batch_, and qmcplusplus::hdf::walkers.
void flex_update | ( | const RefVectorWithLeader< ParticleSet > & | p_list, |
bool | skipSK = false |
||
) | const |
Definition at line 36 of file PSdispatcher.cpp.
References ParticleSet::mw_update(), qmcplusplus::pset, and PSdispatcher::use_batch_.
|
private |
Definition at line 54 of file PSdispatcher.h.
Referenced by PSdispatcher::flex_accept_rejectMove(), PSdispatcher::flex_donePbyP(), PSdispatcher::flex_loadWalker(), PSdispatcher::flex_makeMove(), PSdispatcher::flex_saveWalker(), and PSdispatcher::flex_update().