![]() |
QMCPACK
|
AB type of DistanceTable containing storage. More...
Inheritance diagram for DistanceTableAB:
Collaboration diagram for DistanceTableAB:Public Member Functions | |
| DistanceTableAB (const ParticleSet &source, const ParticleSet &target, DTModes modes) | |
| constructor using source and target ParticleSet More... | |
| const std::vector< DistRow > & | getDistances () const |
| return full table distances More... | |
| const std::vector< DisplRow > & | getDisplacements () const |
| return full table displacements More... | |
| const DistRow & | getDistRow (int iel) const |
| return a row of distances for a given target particle More... | |
| const DisplRow & | getDisplRow (int iel) const |
| return a row of displacements for a given target particle More... | |
| const DistRow & | getTempDists () const |
| return the temporary distances when a move is proposed More... | |
| const DisplRow & | getTempDispls () const |
| return the temporary displacements when a move is proposed More... | |
| virtual const RealType * | getMultiWalkerDataPtr () const |
| return multi-walker full (all pairs) distance table data pointer More... | |
| virtual size_t | getPerTargetPctlStrideSize () const |
| return stride of per target pctl data. full table data = stride * num of target particles More... | |
Public Member Functions inherited from DistanceTable | |
| DistanceTable (const ParticleSet &source, const ParticleSet &target, DTModes modes) | |
| constructor using source and target ParticleSet More... | |
| DistanceTable (const DistanceTable &)=delete | |
| copy constructor. deleted More... | |
| virtual | ~DistanceTable ()=default |
| virutal destructor More... | |
| DTModes | getModes () const |
| get modes More... | |
| void | setModes (DTModes modes) |
| set modes More... | |
| const std::string & | getName () const |
| return the name of table More... | |
| const ParticleSet & | get_origin () const |
| returns the reference the origin particleset More... | |
| size_t | centers () const |
| returns the number of centers More... | |
| size_t | targets () const |
| returns the number of centers More... | |
| size_t | sources () const |
| returns the number of source particles More... | |
| virtual void | evaluate (ParticleSet &P)=0 |
| evaluate the full Distance Table More... | |
| virtual void | mw_evaluate (const RefVectorWithLeader< DistanceTable > &dt_list, const RefVectorWithLeader< ParticleSet > &p_list) const |
| virtual void | mw_recompute (const RefVectorWithLeader< DistanceTable > &dt_list, const RefVectorWithLeader< ParticleSet > &p_list, const std::vector< bool > &recompute) const |
| recompute multi walker internal data, recompute More... | |
| virtual void | move (const ParticleSet &P, const PosType &rnew, const IndexType iat, bool prepare_old=true)=0 |
| evaluate the temporary pair relations when a move is proposed More... | |
| virtual void | mw_move (const RefVectorWithLeader< DistanceTable > &dt_list, const RefVectorWithLeader< ParticleSet > &p_list, const std::vector< PosType > &rnew_list, const IndexType iat, bool prepare_old=true) const |
| walker batched version of move. More... | |
| virtual void | update (IndexType jat)=0 |
| update the distance table by the pair relations from the temporal position. More... | |
| virtual void | updatePartial (IndexType jat, bool from_temp) |
| fill partially the distance table by the pair relations from the temporary or old particle position. More... | |
| virtual void | mw_updatePartial (const RefVectorWithLeader< DistanceTable > &dt_list, IndexType jat, const std::vector< bool > &from_temp) |
| walker batched version of updatePartial. More... | |
| virtual void | finalizePbyP (const ParticleSet &P) |
| finalize distance table calculation after particle-by-particle moves if update() doesn't make the table up-to-date during p-by-p moves finalizePbyP takes action to bring the table up-to-date More... | |
| virtual void | mw_finalizePbyP (const RefVectorWithLeader< DistanceTable > &dt_list, const RefVectorWithLeader< ParticleSet > &p_list) const |
| walker batched version of finalizePbyP If not DTModes::NEED_TEMP_DATA_ON_HOST, host distance table data is not updated at all during p-by-p Thus, a recompute is necessary to update the whole host distance table for consumers like the Coulomb potential. More... | |
| virtual int | get_first_neighbor (IndexType iat, RealType &r, PosType &dr, bool newpos) const =0 |
| find the first nearest neighbor More... | |
| void | print (std::ostream &os) |
| virtual void | createResource (ResourceCollection &collection) const |
| initialize a shared resource and hand it to a collection More... | |
| virtual void | acquireResource (ResourceCollection &collection, const RefVectorWithLeader< DistanceTable > &dt_list) const |
| acquire a shared resource from a collection More... | |
| virtual void | releaseResource (ResourceCollection &collection, const RefVectorWithLeader< DistanceTable > &dt_list) const |
| return a shared resource to a collection More... | |
Protected Attributes | |
| std::vector< DistRow > | distances_ |
| distances_[num_targets_][num_sources_], [i][3][j] = |r_A2[j] - r_A1[i]| Note: Derived classes decide if it is a memory view or the actual storage More... | |
| std::vector< DisplRow > | displacements_ |
| displacements_[num_targets_][3][num_sources_], [i][3][j] = r_A2[j] - r_A1[i] Note: Derived classes decide if it is a memory view or the actual storage More... | |
| DistRow | temp_r_ |
| temp_r More... | |
| DisplRow | temp_dr_ |
| temp_dr More... | |
Protected Attributes inherited from DistanceTable | |
| const ParticleSet & | origin_ |
| const size_t | num_sources_ |
| const size_t | num_targets_ |
| const std::string | name_ |
| name of the table More... | |
| DTModes | modes_ |
| operation modes defined by DTModes More... | |
Additional Inherited Members | |
Public Types inherited from DistanceTable | |
| using | IndexType = QMCTraits::IndexType |
| using | RealType = QMCTraits::RealType |
| using | PosType = QMCTraits::PosType |
| using | DistRow = Vector< RealType, aligned_allocator< RealType > > |
| using | DisplRow = VectorSoaContainer< RealType, DIM > |
Static Public Attributes inherited from DistanceTable | |
| static constexpr unsigned | DIM = OHMMS_DIM |
AB type of DistanceTable containing storage.
Definition at line 308 of file DistanceTable.h.
|
inline |
constructor using source and target ParticleSet
Definition at line 329 of file DistanceTable.h.
|
inline |
return full table displacements
Definition at line 339 of file DistanceTable.h.
References DistanceTableAB::displacements_.
Referenced by JeeIOrbitalSoA< FT >::build_compact_list(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::evaluateValuesC2X(), and HybridRepCenterOrbitals< SPLINEBASE::DataType >::evaluateValuesR2R().
|
inline |
return a row of displacements for a given target particle
Definition at line 347 of file DistanceTable.h.
References DistanceTableAB::displacements_.
Referenced by J1Spin< FT >::evaluateDerivativesWF(), and J1OrbitalSoA< FT >::evaluateDerivativesWF().
|
inline |
return full table distances
Definition at line 335 of file DistanceTable.h.
References DistanceTableAB::distances_.
Referenced by JeeIOrbitalSoA< FT >::build_compact_list(), ExampleHeComponent::evalGrad(), ExampleHeComponent::evaluateDerivatives(), JeeIOrbitalSoA< FT >::evaluateDerivRatios(), ExampleHeComponent::evaluateLog(), JeeIOrbitalSoA< FT >::evaluateRatiosAlltoOne(), ExampleHeComponent::ratio(), ExampleHeComponent::ratioGrad(), and qmcplusplus::TEST_CASE().
|
inline |
return a row of distances for a given target particle
Definition at line 343 of file DistanceTable.h.
References DistanceTableAB::distances_.
Referenced by SpaceGrid::evaluate(), Backflow_eI< FT >::evaluate(), CoulombPotential< T >::evaluate_spAB(), CoulombPotential< T >::evaluateAB(), J1Spin< FT >::evaluateDerivativesWF(), J1OrbitalSoA< FT >::evaluateDerivativesWF(), J1OrbitalSoA< FT >::evaluateDerivRatios(), TwoBodyJastrow< FT >::evaluateRatios(), J1Spin< FT >::evaluateRatios(), J1OrbitalSoA< FT >::evaluateRatios(), JeeIOrbitalSoA< FT >::evaluateRatios(), SOECPotential::evaluateValueAndDerivatives(), NonLocalECPotential::evaluateValueAndDerivatives(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::evaluateValuesC2X(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::evaluateValuesR2R(), Backflow_eI< FT >::evaluateWithDerivatives(), HybridRepCenterOrbitals< SPLINEBASE::DataType >::is_VP_batching_safe(), and NonLocalECPotential::markAffectedElecs().
|
inlinevirtual |
return multi-walker full (all pairs) distance table data pointer
Reimplemented in SoaDistanceTableABOMPTarget< T, D, SC >.
Definition at line 358 of file DistanceTable.h.
References DistanceTable::name_.
|
inlinevirtual |
return stride of per target pctl data. full table data = stride * num of target particles
Reimplemented in SoaDistanceTableABOMPTarget< T, D, SC >.
Definition at line 364 of file DistanceTable.h.
References DistanceTable::name_.
|
inline |
return the temporary displacements when a move is proposed
Definition at line 355 of file DistanceTable.h.
References DistanceTableAB::temp_dr_.
Referenced by J1OrbitalSoA< FT >::acceptMove(), J1Spin< FT >::acceptMove(), J1Spin< FT >::ratioGrad(), and J1OrbitalSoA< FT >::ratioGrad().
|
inline |
return the temporary distances when a move is proposed
Definition at line 351 of file DistanceTable.h.
References DistanceTableAB::temp_r_.
Referenced by J1OrbitalSoA< FT >::acceptMove(), J1Spin< FT >::acceptMove(), SoaCuspCorrection::evaluate_vgl(), SoaLocalizedBasisSet< COT, ORBT >::evaluateGradSourceV(), SoaLocalizedBasisSet< COT, ORBT >::evaluateGradSourceVGL(), J1Spin< FT >::evaluateRatiosAlltoOne(), J1OrbitalSoA< FT >::evaluateRatiosAlltoOne(), SoaCuspCorrection::evaluateV(), SoaLocalizedBasisSet< COT, ORBT >::evaluateV(), SoaLocalizedBasisSet< COT, ORBT >::evaluateVGH(), SoaLocalizedBasisSet< COT, ORBT >::evaluateVGHGH(), SoaCuspCorrection::evaluateVGL(), SoaLocalizedBasisSet< COT, ORBT >::evaluateVGL(), NonLocalECPotential::markAffectedElecs(), J1Spin< FT >::ratio(), J1OrbitalSoA< FT >::ratio(), J1OrbitalSoA< FT >::ratioGrad(), and J1Spin< FT >::ratioGrad().
|
protected |
displacements_[num_targets_][3][num_sources_], [i][3][j] = r_A2[j] - r_A1[i] Note: Derived classes decide if it is a memory view or the actual storage
Definition at line 319 of file DistanceTable.h.
Referenced by SoaDistanceTableAB< T, D, SC >::evaluate(), SoaDistanceTableABOMPTarget< T, D, SC >::evaluate(), SoaDistanceTableAB< T, D, SC >::get_first_neighbor(), SoaDistanceTableABOMPTarget< T, D, SC >::get_first_neighbor(), DistanceTableAB::getDisplacements(), DistanceTableAB::getDisplRow(), SoaDistanceTableAB< T, D, SC >::move(), SoaDistanceTableABOMPTarget< T, D, SC >::move(), SoaDistanceTableAB< T, D, SC >::resize(), SoaDistanceTableABOMPTarget< T, D, SC >::resize(), SoaDistanceTableAB< T, D, SC >::update(), and SoaDistanceTableABOMPTarget< T, D, SC >::update().
|
protected |
distances_[num_targets_][num_sources_], [i][3][j] = |r_A2[j] - r_A1[i]| Note: Derived classes decide if it is a memory view or the actual storage
Definition at line 314 of file DistanceTable.h.
Referenced by SoaDistanceTableAB< T, D, SC >::evaluate(), SoaDistanceTableABOMPTarget< T, D, SC >::evaluate(), SoaDistanceTableAB< T, D, SC >::get_first_neighbor(), SoaDistanceTableABOMPTarget< T, D, SC >::get_first_neighbor(), DistanceTableAB::getDistances(), DistanceTableAB::getDistRow(), SoaDistanceTableAB< T, D, SC >::move(), SoaDistanceTableABOMPTarget< T, D, SC >::move(), SoaDistanceTableABOMPTarget< T, D, SC >::releaseResource(), SoaDistanceTableAB< T, D, SC >::resize(), SoaDistanceTableABOMPTarget< T, D, SC >::resize(), SoaDistanceTableAB< T, D, SC >::update(), and SoaDistanceTableABOMPTarget< T, D, SC >::update().
|
protected |
temp_dr
Definition at line 325 of file DistanceTable.h.
Referenced by SoaDistanceTableAB< T, D, SC >::get_first_neighbor(), SoaDistanceTableABOMPTarget< T, D, SC >::get_first_neighbor(), DistanceTableAB::getTempDispls(), SoaDistanceTableAB< T, D, SC >::move(), SoaDistanceTableABOMPTarget< T, D, SC >::move(), SoaDistanceTableAB< T, D, SC >::resize(), SoaDistanceTableABOMPTarget< T, D, SC >::SoaDistanceTableABOMPTarget(), SoaDistanceTableAB< T, D, SC >::update(), and SoaDistanceTableABOMPTarget< T, D, SC >::update().
|
protected |
temp_r
Definition at line 322 of file DistanceTable.h.
Referenced by SoaDistanceTableAB< T, D, SC >::get_first_neighbor(), SoaDistanceTableABOMPTarget< T, D, SC >::get_first_neighbor(), DistanceTableAB::getTempDists(), SoaDistanceTableAB< T, D, SC >::move(), SoaDistanceTableABOMPTarget< T, D, SC >::move(), SoaDistanceTableAB< T, D, SC >::resize(), SoaDistanceTableABOMPTarget< T, D, SC >::SoaDistanceTableABOMPTarget(), SoaDistanceTableAB< T, D, SC >::update(), and SoaDistanceTableABOMPTarget< T, D, SC >::update().