![]() |
QMCPACK
|
Introduced to handle virtual moves and ratio computations, e.g. More...
Public Types | |
using | ParticlePos = PtclOnLatticeTraits::ParticlePos |
using | RealType = QMCTraits::RealType |
using | PosType = QMCTraits::PosType |
![]() | |
using | RealType = QMCTraits::RealType |
using | PosType = QMCTraits::PosType |
using | ParticlePos = PtclOnLatticeTraits::ParticlePos |
using | PosVectorSoa = VectorSoaContainer< RealType, QMCTraits::DIM > |
Public Member Functions | |
RealSpacePositions () | |
std::unique_ptr< DynamicCoordinates > | makeClone () override |
void | resize (size_t n) override |
resize internal storages based on the number of particles More... | |
size_t | size () const override |
return the number of particles More... | |
void | setAllParticlePos (const ParticlePos &R) override |
overwrite the positions of all the particles. More... | |
void | setOneParticlePos (const PosType &pos, size_t iat) override |
overwrite the position of one the particle. More... | |
void | mw_acceptParticlePos (const RefVectorWithLeader< DynamicCoordinates > &coords_list, size_t iat, const std::vector< PosType > &new_positions, const std::vector< bool > &isAccepted) const override |
overwrite the positions of particles with a uniform id in all the walkers upon acceptance. More... | |
const PosVectorSoa & | getAllParticlePos () const override |
all particle position accessor More... | |
PosType | getOneParticlePos (size_t iat) const override |
one particle position accessor More... | |
![]() | |
DynamicCoordinates (const DynamicCoordinateKind kind_in) | |
DynamicCoordinates (const DynamicCoordinates &)=default | |
DynamicCoordinates & | operator= (const DynamicCoordinates &)=delete |
DynamicCoordinateKind | getKind () const |
virtual | ~DynamicCoordinates ()=default |
virtual void | mw_copyActivePos (const RefVectorWithLeader< DynamicCoordinates > &coords_list, size_t iat, const std::vector< PosType > &new_positions) const |
copy the active positions of particles with a uniform id in all the walkers to a single internal buffer. More... | |
virtual void | donePbyP () |
secure internal data consistency after p-by-p moves More... | |
virtual void | createResource (ResourceCollection &collection) const |
initialize a shared resource and hand it to a collection More... | |
virtual void | acquireResource (ResourceCollection &collection, const RefVectorWithLeader< DynamicCoordinates > &coords_list) const |
acquire a shared resource from a collection More... | |
virtual void | releaseResource (ResourceCollection &collection, const RefVectorWithLeader< DynamicCoordinates > &coords_list) const |
return a shared resource to a collection More... | |
Private Attributes | |
PosVectorSoa | RSoA |
particle positions in SoA layout More... | |
Additional Inherited Members | |
![]() | |
const DynamicCoordinateKind | variable_kind_ |
type of dynamic coordinates More... | |
Introduced to handle virtual moves and ratio computations, e.g.
for non-local PP evaluations.
Definition at line 25 of file RealSpacePositions.h.
Definition at line 28 of file RealSpacePositions.h.
using PosType = QMCTraits::PosType |
Definition at line 30 of file RealSpacePositions.h.
using RealType = QMCTraits::RealType |
Definition at line 29 of file RealSpacePositions.h.
|
inline |
Definition at line 32 of file RealSpacePositions.h.
|
inlineoverridevirtual |
all particle position accessor
Implements DynamicCoordinates.
Definition at line 57 of file RealSpacePositions.h.
References RealSpacePositions::RSoA.
|
inlineoverridevirtual |
one particle position accessor
Implements DynamicCoordinates.
Definition at line 58 of file RealSpacePositions.h.
References RealSpacePositions::RSoA.
|
inlineoverridevirtual |
Implements DynamicCoordinates.
Definition at line 34 of file RealSpacePositions.h.
|
inlineoverridevirtual |
overwrite the positions of particles with a uniform id in all the walkers upon acceptance.
coords_list | a batch of DynamicCoordinates |
iat | paricle id, uniform across coords_list |
new_positions | proposed positions |
isAccepted | accept/reject info |
Implements DynamicCoordinates.
Definition at line 46 of file RealSpacePositions.h.
References RefVectorWithLeader< T >::getLeader().
|
inlineoverridevirtual |
resize internal storages based on the number of particles
n | the number of particles |
Implements DynamicCoordinates.
Definition at line 36 of file RealSpacePositions.h.
References qmcplusplus::n, VectorSoaContainer< T, D, Alloc >::resize(), and RealSpacePositions::RSoA.
Referenced by RealSpacePositions::setAllParticlePos().
|
inlineoverridevirtual |
overwrite the positions of all the particles.
Implements DynamicCoordinates.
Definition at line 39 of file RealSpacePositions.h.
References VectorSoaContainer< T, D, Alloc >::copyIn(), RealSpacePositions::resize(), RealSpacePositions::RSoA, and Vector< T, Alloc >::size().
|
inlineoverridevirtual |
overwrite the position of one the particle.
Implements DynamicCoordinates.
Definition at line 44 of file RealSpacePositions.h.
References RealSpacePositions::RSoA.
|
inlineoverridevirtual |
return the number of particles
Implements DynamicCoordinates.
Definition at line 37 of file RealSpacePositions.h.
References RealSpacePositions::RSoA, and VectorSoaContainer< T, D, Alloc >::size().
|
private |
particle positions in SoA layout
Definition at line 62 of file RealSpacePositions.h.
Referenced by RealSpacePositions::getAllParticlePos(), RealSpacePositions::getOneParticlePos(), RealSpacePositions::resize(), RealSpacePositions::setAllParticlePos(), RealSpacePositions::setOneParticlePos(), and RealSpacePositions::size().