![]() |
QMCPACK
|
A ParticleSet that handles virtual moves of a selected particle of a given physical ParticleSet Virtual moves are defined as moves being proposed but will never be accepted. More...
Public Member Functions | |
const ParticleSet & | getRefPS () const |
ParticleSet this object refers to. More... | |
bool | isOnSphere () const |
const Vector< int, OffloadPinnedAllocator< int > > & | getMultiWalkerRefPctls () const |
VirtualParticleSet (const ParticleSet &p, int nptcl, size_t dt_count_limit=0) | |
constructor More... | |
~VirtualParticleSet () | |
void | createResource (ResourceCollection &collection) const |
initialize a shared resource and hand it to a collection More... | |
void | makeMoves (const ParticleSet &refp, int jel, const std::vector< PosType > &deltaV, bool sphere=false, int iat=-1) |
move virtual particles to new postions and update distance tables More... | |
size_t | getTotalNum () const |
void | makeMovesWithSpin (const ParticleSet &refp, int jel, const std::vector< PosType > &deltaV, const std::vector< RealType > &deltaS, bool sphere=false, int iat=-1) |
move virtual particles to new postions and update distance tables More... | |
![]() | |
ParticleSet (const SimulationCell &simulation_cell, const DynamicCoordinateKind kind=DynamicCoordinateKind::DC_POS) | |
default constructor More... | |
ParticleSet (const ParticleSet &p) | |
copy constructor More... | |
~ParticleSet () override | |
default destructor More... | |
void | create (const std::vector< int > &agroup) |
create grouped particles More... | |
void | print (std::ostream &os, const size_t maxParticlesToPrint=0) const |
print particle coordinates to a std::ostream More... | |
bool | get (std::ostream &os) const override |
dummy. For satisfying OhmmsElementBase. More... | |
bool | put (std::istream &) override |
dummy. For satisfying OhmmsElementBase. More... | |
void | reset () override |
dummy. For satisfying OhmmsElementBase. More... | |
bool | put (xmlNodePtr cur) override |
initialize ParticleSet from xmlNode More... | |
void | setQuantumDomain (quantum_domains qdomain) |
specify quantum_domain of particles More... | |
void | set_quantum () |
bool | is_classical () const |
bool | is_quantum () const |
bool | quantumDomainValid (quantum_domains qdomain) const |
check whether quantum domain is valid for particles More... | |
bool | quantumDomainValid () const |
check whether quantum domain is valid for particles More... | |
int | addTable (const ParticleSet &psrc, DTModes modes=DTModes::ALL_OFF) |
add a distance table More... | |
auto & | getDistTable (int table_ID) const |
get a distance table by table_ID More... | |
const DistanceTableAA & | getDistTableAA (int table_ID) const |
get a distance table by table_ID and dyanmic_cast to DistanceTableAA More... | |
const DistanceTableAB & | getDistTableAB (int table_ID) const |
get a distance table by table_ID and dyanmic_cast to DistanceTableAB More... | |
void | resetCollectables () |
reset all the collectable quantities during a MC iteration More... | |
void | update (bool skipSK=false) |
update the internal data More... | |
void | createSK () |
create Structure Factor with PBCs More... | |
bool | hasSK () const |
const StructFact & | getSK () const |
return Structure Factor More... | |
void | turnOnPerParticleSK () |
Turn on per particle storage in Structure Factor. More... | |
bool | getPerParticleSKState () const |
Get state (on/off) of per particle storage in Structure Factor. More... | |
SpeciesSet & | getSpeciesSet () |
retrun the SpeciesSet of this particle set More... | |
const SpeciesSet & | getSpeciesSet () const |
retrun the const SpeciesSet of this particle set More... | |
const std::string & | parentName () const |
return parent's name More... | |
void | setName (const std::string &aname) |
const DynamicCoordinates & | getCoordinates () const |
void | resetGroups () |
const auto & | getSimulationCell () const |
const auto & | getLattice () const |
auto & | getPrimitiveLattice () const |
const auto & | getLRBox () const |
bool | isSameMass () const |
bool | isSpinor () const |
void | setSpinor (bool is_spinor) |
Index_t | getActivePtcl () const |
return active particle id More... | |
const PosType & | getActivePos () const |
Scalar_t | getActiveSpinVal () const |
const PosType & | activeR (int iat) const |
return the active position if the particle is active or the return current position if not More... | |
const Scalar_t & | activeSpin (int iat) const |
return the active spin value if the particle is active or return the current spin value if not More... | |
void | makeMove (Index_t iat, const SingleParticlePos &displ, bool maybe_accept=true) |
move the iat-th particle to active_pos_ More... | |
void | makeMoveWithSpin (Index_t iat, const SingleParticlePos &displ, const Scalar_t &sdispl) |
makeMove, but now includes an update to the spin variable More... | |
bool | makeMoveAndCheck (Index_t iat, const SingleParticlePos &displ) |
move the iat-th particle to active_pos_ More... | |
bool | makeMoveAndCheckWithSpin (Index_t iat, const SingleParticlePos &displ, const Scalar_t &sdispl) |
makeMoveAndCheck, but now includes an update to the spin variable More... | |
void | makeVirtualMoves (const SingleParticlePos &newpos) |
Handles virtual moves for all the particles to a single newpos. More... | |
bool | makeMoveAllParticles (const Walker_t &awalker, const ParticlePos &deltaR, RealType dt) |
move all the particles of a walker More... | |
bool | makeMoveAllParticles (const Walker_t &awalker, const ParticlePos &deltaR, const std::vector< RealType > &dt) |
bool | makeMoveAllParticlesWithDrift (const Walker_t &awalker, const ParticlePos &drift, const ParticlePos &deltaR, RealType dt) |
move all the particles including the drift More... | |
bool | makeMoveAllParticlesWithDrift (const Walker_t &awalker, const ParticlePos &drift, const ParticlePos &deltaR, const std::vector< RealType > &dt) |
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 ParticleSet operate in two modes, regular and forward modes. More... | |
void | acceptMove (Index_t iat) |
accept the move and update the particle attribute by the proposed move in regular mode More... | |
void | rejectMove (Index_t iat) |
reject a proposed move in regular mode More... | |
void | initPropertyList () |
int | addProperty (const std::string &pname) |
int | addPropertyHistory (int leng) |
void | convert (const ParticlePos &pin, ParticlePos &pout) |
void | convert2Unit (const ParticlePos &pin, ParticlePos &pout) |
void | convert2Cart (const ParticlePos &pin, ParticlePos &pout) |
void | convert2Unit (ParticlePos &pout) |
void | convert2Cart (ParticlePos &pout) |
void | convert2UnitInBox (const ParticlePos &pint, ParticlePos &pout) |
void | convert2CartInBox (const ParticlePos &pint, ParticlePos &pout) |
void | applyBC (const ParticlePos &pin, ParticlePos &pout) |
void | applyBC (ParticlePos &pos) |
void | applyBC (const ParticlePos &pin, ParticlePos &pout, int first, int last) |
void | applyMinimumImage (ParticlePos &pinout) const |
void | loadWalker (Walker_t &awalker, bool pbyp) |
load a Walker_t to the current ParticleSet More... | |
void | saveWalker (Walker_t &awalker) |
save this to awalker More... | |
void | donePbyP (bool skipSK=false) |
update structure factor and unmark active_ptcl_ More... | |
FullPrecRealType *restrict | getPropertyBase () |
return the address of the values of Hamiltonian terms More... | |
const FullPrecRealType *restrict | getPropertyBase () const |
return the address of the values of Hamiltonian terms More... | |
FullPrecRealType *restrict | getPropertyBase (int i) |
return the address of the i-th properties More... | |
const FullPrecRealType *restrict | getPropertyBase (int i) const |
return the address of the i-th properties More... | |
void | setTwist (const SingleParticlePos &t) |
const SingleParticlePos & | getTwist () const |
void | randomizeFromSource (ParticleSet &src) |
Initialize particles around another ParticleSet Used to initialize an electron ParticleSet by an ion ParticleSet. More... | |
const std::string & | species_from_index (int i) |
get species name of particle i More... | |
size_t | getTotalNum () const |
void | clear () |
int | groups () const |
return the number of groups More... | |
int | first (int igroup) const |
return the first index of a group i More... | |
int | last (int igroup) const |
return the last index of a group i More... | |
int | getGroupID (int iat) const |
return the group id of a given particle in the particle set. More... | |
int | groupsize (int igroup) const |
return the size of a group More... | |
template<typename ATList > | |
void | createAttributeList (ATList &AttribList) |
add attributes to list for IO More... | |
void | setMapStorageToInput (const std::vector< int > &mapping) |
const std::vector< int > & | get_map_storage_to_input () const |
int | getNumDistTables () const |
auto & | get_group_offsets () const |
void | createResource (ResourceCollection &collection) const |
initialize a shared resource and hand it to a collection More... | |
![]() | |
OhmmsElementBase (const char *aname="none") | |
constructor with a name More... | |
virtual | ~OhmmsElementBase () |
destructor More... | |
const std::string & | getName () const |
return the name More... | |
void | setName (const std::string &aname) |
set name More... | |
void | setIOMode (int imode) |
set iomode More... | |
virtual bool | add (xmlNodePtr parent) |
add a xmlNode to the children list of parent More... | |
void | put (const std::string &s) |
read from string More... | |
virtual void | begin_node (std::ostream &os) const |
write the start of a node More... | |
virtual void | end_node (std::ostream &os) const |
write the end of a node More... | |
Static Public Member Functions | |
static void | acquireResource (ResourceCollection &collection, const RefVectorWithLeader< VirtualParticleSet > &vp_list) |
acquire external resource and assocaite it with the list of ParticleSet Note: use RAII ResourceCollectionTeamLock whenever possible More... | |
static void | releaseResource (ResourceCollection &collection, const RefVectorWithLeader< VirtualParticleSet > &vp_list) |
release external resource Note: use RAII ResourceCollectionTeamLock whenever possible More... | |
static const RefVectorWithLeader< const DistanceTableAB > | extractDTRefList (const RefVectorWithLeader< const VirtualParticleSet > &vp_list, int id) |
Extract list of Distance Tables. More... | |
static const std::vector< QMCTraits::PosType > | extractVPCoords (const RefVectorWithLeader< const VirtualParticleSet > &vp_list) |
Extract list of VP coordinates, flattened over all walkers. More... | |
static void | mw_makeMoves (const RefVectorWithLeader< VirtualParticleSet > &vp_list, const RefVectorWithLeader< ParticleSet > &p_list, const RefVector< const std::vector< PosType >> &deltaV_list, const RefVector< const NLPPJob< RealType >> &joblist, bool sphere) |
static void | mw_makeMovesWithSpin (const RefVectorWithLeader< VirtualParticleSet > &vp_list, const RefVectorWithLeader< ParticleSet > &p_list, const RefVector< const std::vector< PosType >> &deltaV_list, const RefVector< const std::vector< RealType >> &deltaS_list, const RefVector< const NLPPJob< RealType >> &joblist, bool sphere) |
static RefVectorWithLeader< ParticleSet > | RefVectorWithLeaderParticleSet (const RefVectorWithLeader< VirtualParticleSet > &vp_list) |
static size_t | countVPs (const RefVectorWithLeader< const VirtualParticleSet > &vp_list) |
static size_t | countVPs (const RefVectorWithLeader< VirtualParticleSet > &vp_list) |
![]() | |
static void | mw_update (const RefVectorWithLeader< ParticleSet > &p_list, bool skipSK=false) |
batched version of update More... | |
template<CoordsType CT> | |
static void | mw_makeMove (const RefVectorWithLeader< ParticleSet > &p_list, int iat, const MCCoords< CT > &displs) |
batched version of makeMove More... | |
static void | mw_makeMove (const RefVectorWithLeader< ParticleSet > &p_list, int iat, const std::vector< SingleParticlePos > &displs) |
static void | mw_makeSpinMove (const RefVectorWithLeader< ParticleSet > &p_list, int iat, const std::vector< Scalar_t > &sdispls) |
batched version makeMove for spin variable only More... | |
template<CoordsType CT> | |
static void | mw_accept_rejectMove (const RefVectorWithLeader< ParticleSet > &p_list, Index_t iat, const std::vector< bool > &isAccepted, bool forward_mode=true) |
batched version of acceptMove and rejectMove fused, templated on CoordsType More... | |
static void | mw_accept_rejectMove (const RefVectorWithLeader< ParticleSet > &p_list, Index_t iat, const std::vector< bool > &isAccepted, bool forward_mode=true) |
batched version of acceptMove and rejectMove fused More... | |
static void | mw_accept_rejectSpinMove (const RefVectorWithLeader< ParticleSet > &p_list, Index_t iat, const std::vector< bool > &isAccepted) |
batched version of acceptMove and reject Move fused, but only for spins More... | |
static void | mw_loadWalker (const RefVectorWithLeader< ParticleSet > &p_list, const RefVector< Walker_t > &walkers, const std::vector< bool > &recompute, bool pbyp) |
batched version of loadWalker More... | |
static void | mw_saveWalker (const RefVectorWithLeader< ParticleSet > &psets, const RefVector< Walker_t > &walkers) |
batched version of saveWalker More... | |
static void | mw_donePbyP (const RefVectorWithLeader< ParticleSet > &p_list, bool skipSK=false) |
batched version of donePbyP More... | |
static void | acquireResource (ResourceCollection &collection, const RefVectorWithLeader< ParticleSet > &p_list) |
acquire external resource and assocaite it with the list of ParticleSet Note: use RAII ResourceCollectionTeamLock whenever possible More... | |
static void | releaseResource (ResourceCollection &collection, const RefVectorWithLeader< ParticleSet > &p_list) |
release external resource Note: use RAII ResourceCollectionTeamLock whenever possible More... | |
static RefVectorWithLeader< DistanceTable > | extractDTRefList (const RefVectorWithLeader< ParticleSet > &p_list, int id) |
static RefVectorWithLeader< DynamicCoordinates > | extractCoordsRefList (const RefVectorWithLeader< ParticleSet > &p_list) |
static RefVectorWithLeader< StructFact > | extractSKRefList (const RefVectorWithLeader< ParticleSet > &p_list) |
Public Attributes | |
int | refPtcl |
Reference particle. More... | |
int | refSourcePtcl |
Reference source particle, used when onSphere=true. More... | |
![]() | |
quantum_domains | quantum_domain |
quantum_domain of the particles, default = classical More... | |
int | current_step |
current MC step More... | |
ParticleIndex | GroupID |
Species ID. More... | |
ParticlePos | R |
Position. More... | |
ParticleScalar | spins |
internal spin variables for dynamical spin calculations More... | |
ParticleGradient | G |
gradients of the particles More... | |
ParticleLaplacian | L |
laplacians of the particles More... | |
ParticleScalar | Mass |
mass of each particle More... | |
ParticleScalar | Z |
charge of each particle More... | |
Index_t | activeBead |
the index of the active bead for particle-by-particle moves More... | |
Index_t | direction |
the direction reptile traveling More... | |
std::vector< TinyVector< int, OHMMS_DIM > > | DensityReducedGvecs |
Particle density in G-space for MPC interaction. More... | |
std::vector< ComplexType > | Density_G |
Array< RealType, OHMMS_DIM > | Density_r |
std::vector< TinyVector< int, OHMMS_DIM > > | VHXCReducedGvecs |
DFT potential. More... | |
std::vector< ComplexType > | VHXC_G [2] |
Array< RealType, OHMMS_DIM > | VHXC_r [2] |
PropertySetType | PropertyList |
name-value map of Walker Properties More... | |
PropertyContainer_t | Properties |
properties of the current walker More... | |
Buffer_t | Collectables |
observables in addition to those registered in Properties/PropertyList More... | |
std::vector< std::vector< FullPrecRealType > > | PropertyHistory |
Property history vector. More... | |
std::vector< int > | PHindex |
Private Member Functions | |
Vector< int, OffloadPinnedAllocator< int > > & | getMultiWalkerRefPctls () |
Private Attributes | |
bool | onSphere |
true, if virtual particles are on a sphere for NLPP More... | |
ResourceHandle< VPMultiWalkerMem > | mw_mem_handle_ |
multi walker resource More... | |
std::optional< std::reference_wrapper< const ParticleSet > > | refPS |
ParticleSet this object refers to after makeMoves. More... | |
Additional Inherited Members | |
![]() | |
enum | quantum_domains { no_quantum_domain = 0, classical, quantum } |
using | Walker_t = Walker< QMCTraits, PtclOnLatticeTraits > |
walker type More... | |
using | PropertyContainer_t = Walker_t::PropertyContainer_t |
container type to store the property More... | |
using | Buffer_t = PooledData< RealType > |
buffer type for a serialized buffer More... | |
![]() | |
enum | { DIM = OHMMS_DIM, DIM_VGL = OHMMS_DIM + 2 } |
using | QTBase = QMCTypes< OHMMS_PRECISION, DIM > |
using | QTFull = QMCTypes< OHMMS_PRECISION_FULL, DIM > |
using | RealType = QTBase::RealType |
using | ComplexType = QTBase::ComplexType |
using | ValueType = QTBase::ValueType |
using | PosType = QTBase::PosType |
using | GradType = QTBase::GradType |
using | TensorType = QTBase::TensorType |
using | IndexType = OHMMS_INDEXTYPE |
define other types More... | |
using | FullPrecRealType = QTFull::RealType |
using | FullPrecValueType = QTFull::ValueType |
using | PropertySetType = RecordNamedProperty< FullPrecRealType > |
define PropertyList_t More... | |
using | PtclGrpIndexes = std::vector< std::pair< int, int > > |
![]() | |
enum | { useLIBXML = 0, useLIBXMLPP, usePLAIN } |
enumeration to choose the xml parser More... | |
![]() | |
using | ParticleLayout = CrystalLattice< OHMMS_PRECISION, OHMMS_DIM > |
using | QTFull = QMCTraits::QTFull |
using | Index_t = int |
using | Scalar_t = QTFull::RealType |
using | Complex_t = QTFull::ComplexType |
using | SingleParticleIndex = ParticleLayout::SingleParticleIndex |
using | SingleParticlePos = ParticleLayout::SingleParticlePos |
using | Tensor_t = ParticleLayout::Tensor_t |
using | ParticleIndex = ParticleAttrib< Index_t > |
using | ParticleScalar = ParticleAttrib< Scalar_t > |
using | ParticlePos = ParticleAttrib< SingleParticlePos > |
using | ParticleTensor = ParticleAttrib< Tensor_t > |
using | ParticleGradient = ParticleAttrib< QTFull::GradType > |
using | ParticleLaplacian = ParticleAttrib< QTFull::ValueType > |
using | SingleParticleValue = QTFull::ValueType |
![]() | |
void | computeNewPosDistTables (Index_t iat, const SingleParticlePos &newpos, bool maybe_accept=true) |
compute temporal DistTables and SK for a new particle position More... | |
void | acceptMoveForwardMode (Index_t iat) |
actual implemenation for accepting a proposed move in forward mode More... | |
void | rejectMoveForwardMode (Index_t iat) |
reject a proposed move in forward mode More... | |
void | resize (size_t numPtcl) |
resize internal storage More... | |
![]() | |
static void | mw_computeNewPosDistTables (const RefVectorWithLeader< ParticleSet > &p_list, Index_t iat, const std::vector< SingleParticlePos > &new_positions, bool maybe_accept=true) |
compute temporal DistTables and SK for a new particle position for each walker in a batch More... | |
![]() | |
const SimulationCell & | simulation_cell_ |
reference to global simulation cell More... | |
bool | same_mass_ |
true if the particles have the same mass More... | |
bool | is_spinor_ |
true is a dynamic spin calculation More... | |
Index_t | active_ptcl_ |
the index of the active particle during particle-by-particle moves More... | |
SingleParticlePos | active_pos_ |
the proposed position of active_ptcl_ during particle-by-particle moves More... | |
Scalar_t | active_spin_val_ |
the proposed spin of active_ptcl_ during particle-by-particle moves More... | |
std::vector< int > | map_storage_to_input_ |
Map storage index to the input index. More... | |
SpeciesSet | my_species_ |
SpeciesSet of particles. More... | |
std::unique_ptr< StructFact > | structure_factor_ |
Structure factor. More... | |
ResourceHandle< SKMultiWalkerMem > | mw_structure_factor_data_handle_ |
multi walker structure factor data More... | |
std::map< std::string, int > | myDistTableMap |
map to handle distance tables More... | |
std::vector< std::unique_ptr< DistanceTable > > | DistTables |
distance tables that need to be updated by moving this ParticleSet More... | |
std::vector< std::string > | distTableDescriptions |
Descriptions from distance table creation. Same order as DistTables. More... | |
TimerList_t | myTimers |
SingleParticlePos | myTwist |
std::string | ParentName |
size_t | TotalNum |
total number of particles More... | |
std::shared_ptr< Vector< int, OMPallocator< int > > > | group_offsets_ |
array to handle a group of distinct particles per species More... | |
std::unique_ptr< DynamicCoordinates > | coordinates_ |
internal representation of R. It can be an SoA copy of R More... | |
![]() | |
int | myIOMode |
the type of IO mode: default is useLIBXML More... | |
std::string | myName |
the name of the node, corresponds to the xml tag More... | |
A ParticleSet that handles virtual moves of a selected particle of a given physical ParticleSet Virtual moves are defined as moves being proposed but will never be accepted.
VirtualParticleSet is introduced to avoid changing any internal states of the physical ParticleSet. For this reason, the physical ParticleSet is always marked const. It is heavily used by non-local PP evaluations.
Definition at line 39 of file VirtualParticleSet.h.
VirtualParticleSet | ( | const ParticleSet & | p, |
int | nptcl, | ||
size_t | dt_count_limit = 0 |
||
) |
constructor
p | ParticleSet whose virtual moves are handled by this object |
nptcl | number of virtual particles |
dt_count_limit | distance tables corresepond to [0, dt_count_limit) of the reference particle set are created |
Definition at line 40 of file VirtualParticleSet.cpp.
References ParticleSet::addTable(), ParticleSet::coordinates_, ParticleSet::getDistTable(), ParticleSet::getNumDistTables(), ParticleSet::isSpinor(), qmcplusplus::MW_EVALUATE_RESULT_NO_TRANSFER_TO_HOST, qmcplusplus::NEED_VP_FULL_TABLE_ON_HOST, ParticleSet::R, Vector< T, Alloc >::resize(), ParticleSet::setName(), ParticleSet::setSpinor(), ParticleSet::spins, and ParticleSet::TotalNum.
|
default |
|
static |
acquire external resource and assocaite it with the list of ParticleSet Note: use RAII ResourceCollectionTeamLock whenever possible
Definition at line 82 of file VirtualParticleSet.cpp.
References ParticleSet::acquireResource(), RefVectorWithLeader< T >::getLeader(), ResourceCollection::lendResource(), and VirtualParticleSet::RefVectorWithLeaderParticleSet().
|
inlinestatic |
Definition at line 146 of file VirtualParticleSet.h.
Referenced by LCAOrbitalSet::mw_evaluateDetRatios(), VirtualParticleSet::mw_makeMoves(), and VirtualParticleSet::mw_makeMovesWithSpin().
|
inlinestatic |
Definition at line 154 of file VirtualParticleSet.h.
void createResource | ( | ResourceCollection & | collection | ) | const |
initialize a shared resource and hand it to a collection
Definition at line 76 of file VirtualParticleSet.cpp.
References ResourceCollection::addResource(), and ParticleSet::createResource().
Referenced by qmcplusplus::TEST_CASE(), qmcplusplus::test_LCAO_DiamondC_2x1x1_cplx(), and qmcplusplus::test_LCAO_DiamondC_2x1x1_real().
|
static |
Extract list of Distance Tables.
Definition at line 101 of file VirtualParticleSet.cpp.
References RefVectorWithLeader< T >::getLeader().
|
static |
Extract list of VP coordinates, flattened over all walkers.
Definition at line 116 of file VirtualParticleSet.cpp.
|
private |
Definition at line 66 of file VirtualParticleSet.cpp.
References VirtualParticleSet::mw_mem_handle_.
const Vector< int, OffloadPinnedAllocator< int > > & getMultiWalkerRefPctls | ( | ) | const |
Definition at line 71 of file VirtualParticleSet.cpp.
References VirtualParticleSet::mw_mem_handle_.
|
inline |
ParticleSet this object refers to.
Definition at line 59 of file VirtualParticleSet.h.
References VirtualParticleSet::refPS.
Referenced by TwoBodyJastrow< FT >::evaluateDerivRatios(), RotatedSPOs::evaluateDerivRatios(), J1OrbitalSoA< FT >::evaluateDerivRatios(), JeeIOrbitalSoA< FT >::evaluateDerivRatios(), TwoBodyJastrow< FT >::evaluateRatios(), J1Spin< FT >::evaluateRatios(), JeeIOrbitalSoA< FT >::evaluateRatios(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::evaluateValuesC2X(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::evaluateValuesR2R(), and HybridRepCenterOrbitals< SPLINEBASE::DataType >::is_VP_batching_safe().
|
inline |
Definition at line 98 of file VirtualParticleSet.h.
References ParticleSet::TotalNum.
Referenced by MultiSlaterDetTableMethod::evaluateDerivRatios(), TwoBodyJastrow< FT >::evaluateDerivRatios(), RotatedSPOs::evaluateDerivRatios(), J1OrbitalSoA< FT >::evaluateDerivRatios(), JeeIOrbitalSoA< FT >::evaluateDerivRatios(), LCAOrbitalSet::evaluateDetRatios(), HybridRepCplx< SPLINEBASE >::evaluateDetRatios(), HybridRepReal< SPLINEBASE >::evaluateDetRatios(), SplineC2R< ST >::evaluateDetRatios(), SplineC2C< ST >::evaluateDetRatios(), SplineR2R< ST >::evaluateDetRatios(), SPOSet::evaluateDetRatios(), SplineC2COMPTarget< ST >::evaluateDetRatios(), SplineC2ROMPTarget< ST >::evaluateDetRatios(), SpinorSet::evaluateDetSpinorRatios(), MultiSlaterDetTableMethod::evaluateRatios(), TrialWaveFunction::evaluateRatios(), JeeIOrbitalSoA< FT >::evaluateRatios(), TrialWaveFunction::evaluateSpinorRatios(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::evaluateValuesR2R(), SplineC2COMPTarget< ST >::mw_evaluateDetRatios(), SplineC2ROMPTarget< ST >::mw_evaluateDetRatios(), TwoBodyJastrow< FT >::mw_evaluateRatios(), and J1OrbitalSoA< FT >::mw_evaluateRatios().
|
inline |
Definition at line 61 of file VirtualParticleSet.h.
References VirtualParticleSet::onSphere.
Referenced by HybridRepCplx< SPLINEBASE >::evaluateDetRatios(), and HybridRepReal< SPLINEBASE >::evaluateDetRatios().
void makeMoves | ( | const ParticleSet & | refp, |
int | jel, | ||
const std::vector< PosType > & | deltaV, | ||
bool | sphere = false , |
||
int | iat = -1 |
||
) |
move virtual particles to new postions and update distance tables
refp | reference particle set |
jel | reference particle that all the VP moves from |
deltaV | Position delta for virtual moves. |
sphere | set true if VP are on a sphere around the reference source particle |
iat | reference source particle |
Definition at line 129 of file VirtualParticleSet.cpp.
References qmcplusplus::if(), ParticleSet::isSpinor(), VirtualParticleSet::onSphere, ParticleSet::R, VirtualParticleSet::refPS, VirtualParticleSet::refPtcl, VirtualParticleSet::refSourcePtcl, Vector< T, Alloc >::size(), ParticleSet::spins, and ParticleSet::update().
Referenced by NonLocalECPComponent::evaluateOne(), SOECPComponent::evaluateOneExactSpinIntegration(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), WaveFunctionTester::runRatioV(), qmcplusplus::TEST_CASE(), qmcplusplus::test_DiracDeterminant_first(), qmcplusplus::test_DiracDeterminantBatched_first(), qmcplusplus::test_J3_polynomial3D(), qmcplusplus::test_LiH_msd(), and qmcplusplus::test_Ne().
void makeMovesWithSpin | ( | const ParticleSet & | refp, |
int | jel, | ||
const std::vector< PosType > & | deltaV, | ||
const std::vector< RealType > & | deltaS, | ||
bool | sphere = false , |
||
int | iat = -1 |
||
) |
move virtual particles to new postions and update distance tables
refp | reference particle set |
jel | reference particle that all the VP moves from |
deltaV | Position delta for virtual moves. |
deltaS | Spin delta for virtual moves. |
sphere | set true if VP are on a sphere around the reference source particle |
iat | reference source particle |
Definition at line 152 of file VirtualParticleSet.cpp.
References ParticleSet::isSpinor(), VirtualParticleSet::onSphere, ParticleSet::R, VirtualParticleSet::refPS, VirtualParticleSet::refPtcl, VirtualParticleSet::refSourcePtcl, Vector< T, Alloc >::size(), ParticleSet::spins, and ParticleSet::update().
Referenced by SOECPComponent::evaluateOne(), and SOECPComponent::evaluateValueAndDerivatives().
|
static |
Definition at line 177 of file VirtualParticleSet.cpp.
References VirtualParticleSet::countVPs(), NLPPJob< T >::electron_id, RefVectorWithLeader< T >::getLeader(), NLPPJob< T >::ion_id, ParticleSet::mw_update(), VirtualParticleSet::onSphere, ParticleSet::R, VirtualParticleSet::refPS, VirtualParticleSet::refPtcl, VirtualParticleSet::refSourcePtcl, Vector< T, Alloc >::size(), and ParticleSet::spins.
Referenced by NonLocalECPComponent::mw_evaluateOne(), qmcplusplus::test_J1_spline(), qmcplusplus::test_J3_polynomial3D(), qmcplusplus::test_LCAO_DiamondC_2x1x1_cplx(), qmcplusplus::test_LCAO_DiamondC_2x1x1_real(), and qmcplusplus::testTrialWaveFunction_diamondC_2x1x1().
|
static |
Definition at line 221 of file VirtualParticleSet.cpp.
References VirtualParticleSet::countVPs(), NLPPJob< T >::electron_id, RefVectorWithLeader< T >::getLeader(), NLPPJob< T >::ion_id, ParticleSet::mw_update(), VirtualParticleSet::onSphere, ParticleSet::R, VirtualParticleSet::refPS, VirtualParticleSet::refPtcl, VirtualParticleSet::refSourcePtcl, Vector< T, Alloc >::size(), and ParticleSet::spins.
Referenced by SOECPComponent::mw_evaluateOne().
|
inlinestatic |
Definition at line 136 of file VirtualParticleSet.h.
References RefVectorWithLeader< T >::getLeader().
Referenced by VirtualParticleSet::acquireResource(), and VirtualParticleSet::releaseResource().
|
static |
release external resource Note: use RAII ResourceCollectionTeamLock whenever possible
Definition at line 92 of file VirtualParticleSet.cpp.
References RefVectorWithLeader< T >::getLeader(), VirtualParticleSet::RefVectorWithLeaderParticleSet(), ParticleSet::releaseResource(), and ResourceCollection::takebackResource().
|
private |
multi walker resource
Definition at line 45 of file VirtualParticleSet.h.
Referenced by VirtualParticleSet::getMultiWalkerRefPctls(), and SoaLocalizedBasisSet< COT, ORBT >::mw_evaluateValueVPs().
|
private |
true, if virtual particles are on a sphere for NLPP
Definition at line 43 of file VirtualParticleSet.h.
Referenced by VirtualParticleSet::isOnSphere(), VirtualParticleSet::makeMoves(), VirtualParticleSet::makeMovesWithSpin(), VirtualParticleSet::mw_makeMoves(), and VirtualParticleSet::mw_makeMovesWithSpin().
|
private |
ParticleSet this object refers to after makeMoves.
Definition at line 50 of file VirtualParticleSet.h.
Referenced by VirtualParticleSet::getRefPS(), VirtualParticleSet::makeMoves(), VirtualParticleSet::makeMovesWithSpin(), VirtualParticleSet::mw_makeMoves(), and VirtualParticleSet::mw_makeMovesWithSpin().
int refPtcl |
Reference particle.
Definition at line 54 of file VirtualParticleSet.h.
Referenced by SlaterDet::evaluateDerivRatios(), DiracDeterminant< DU_TYPE >::evaluateDerivRatios(), DiracDeterminantBatched< PL, VT, FPVT >::evaluateDerivRatios(), MultiSlaterDetTableMethod::evaluateDerivRatios(), TwoBodyJastrow< FT >::evaluateDerivRatios(), RotatedSPOs::evaluateDerivRatios(), J1OrbitalSoA< FT >::evaluateDerivRatios(), JeeIOrbitalSoA< FT >::evaluateDerivRatios(), SlaterDet::evaluateRatios(), DiracDeterminant< DU_TYPE >::evaluateRatios(), DiracDeterminantBatched< PL, VT, FPVT >::evaluateRatios(), MultiSlaterDetTableMethod::evaluateRatios(), TwoBodyJastrow< FT >::evaluateRatios(), J1Spin< FT >::evaluateRatios(), J1OrbitalSoA< FT >::evaluateRatios(), JeeIOrbitalSoA< FT >::evaluateRatios(), SlaterDet::evaluateSpinorRatios(), DiracDeterminant< DU_TYPE >::evaluateSpinorRatios(), DiracDeterminantBatched< PL, VT, FPVT >::evaluateSpinorRatios(), ConstantSPOSet::evaluateValue(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::evaluateValuesC2X(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::evaluateValuesR2R(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::is_VP_batching_safe(), VirtualParticleSet::makeMoves(), VirtualParticleSet::makeMovesWithSpin(), VirtualParticleSet::mw_makeMoves(), and VirtualParticleSet::mw_makeMovesWithSpin().
int refSourcePtcl |
Reference source particle, used when onSphere=true.
Definition at line 56 of file VirtualParticleSet.h.
Referenced by HybridRepCenterOrbitals< SPLINEBASE::DataType >::evaluateValuesC2X(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::evaluateValuesR2R(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::is_VP_batching_safe(), VirtualParticleSet::makeMoves(), VirtualParticleSet::makeMovesWithSpin(), VirtualParticleSet::mw_makeMoves(), and VirtualParticleSet::mw_makeMovesWithSpin().