19 #ifndef QMCPLUSPLUS_SOA_LOCALIZEDBASISSET_H 20 #define QMCPLUSPLUS_SOA_LOCALIZEDBASISSET_H 36 template<
class COT,
typename ORBT>
103 void queryOrbitalsForSType(
const std::vector<bool>& corrCenter, std::vector<bool>& is_s_orbital)
const override;
186 void add(
int icenter, std::unique_ptr<COT> aos);
void evaluateVGL(const ParticleSet &P, int iat, vgl_type &vgl) override
compute VGL
void setBasisSetSize(int nbs) override
set BasisSetSize and allocate mVGL container
helper functions for EinsplineSetBuilder
A localized basis set derived from SoaBasisSetBase<ORBT>
typename COT::RealType RealType
void setPBCParams(const TinyVector< int, 3 > &PBCImages, const TinyVector< double, 3 > Sup_Twist, const Vector< ValueType, OffloadPinnedAllocator< ValueType >> &phase_factor, const Array< RealType, 2, OffloadPinnedAllocator< RealType >> &pbc_displacements)
set Number of periodic Images to evaluate the orbitals.
ResourceHandle manages the temporary resource referenced from a collection.
void queryOrbitalsForSType(const std::vector< bool > &corrCenter, std::vector< bool > &is_s_orbital) const override
Determine which orbitals are S-type.
size_t NumCenters
number of centers, e.g., ions
QMCTraits::ValueType ValueType
void evaluateVGHGH(const ParticleSet &P, int iat, vghgh_type &vghgh) override
compute VGHGH
void evaluateV(const ParticleSet &P, int iat, ORBT *restrict vals) override
compute values for the iat-paricle move
void releaseResource(ResourceCollection &collection, const RefVectorWithLeader< SoaBasisSetBase< ORBT >> &basisset_list) const override
return a shared resource to collection
Specialized paritlce class for atomistic simulations.
QTBase::ValueType ValueType
typename BaseType::vgh_type vgh_type
VectorSoaContainer< ORBT, 10 > vgh_type
PosType SuperTwist
Global Coordinate of Supertwist read from HDF5.
void add(int icenter, std::unique_ptr< COT > aos)
add a new set of Centered Atomic Orbitals
void createResource(ResourceCollection &collection) const override
initialize a shared resource and hand it to collection
OMPallocator is an allocator with fused device and dualspace allocator functionality.
void evaluateGradSourceV(const ParticleSet &P, int iat, const ParticleSet &ions, int jion, vgl_type &vgl) override
void mw_evaluateVGL(const RefVectorWithLeader< SoaBasisSetBase< ORBT >> &basis_list, const RefVectorWithLeader< ParticleSet > &P_list, int iat, OffloadMWVGLArray &vgl) override
compute VGL using packed array with all walkers
QMCTraits::RealType RealType
std::vector< size_t > BasisOffset
container to store the offsets of the basis functions for each center Due to potential reordering of ...
VectorSoaContainer< ORBT, 20 > vghgh_type
Array< ValueType, 3, OffloadPinnedAllocator< ValueType > > OffloadMWVGLArray
typename BaseType::vghgh_type vghgh_type
std::vector< std::unique_ptr< COT > > LOBasisSet
container of the unique pointers to the Atomic Orbitals
LatticeGaussianProduct::ValueType ValueType
Array< ValueType, 2, OffloadPinnedAllocator< ValueType > > OffloadMWVArray
const int myTableIndex
number of quantum particles
SoaLocalizedBasisSet(ParticleSet &ions, ParticleSet &els)
constructor
VectorSoaContainer< ORBT, OHMMS_DIM+2 > vgl_type
void mw_evaluateValue(const RefVectorWithLeader< SoaBasisSetBase< ORBT >> &basis_list, const RefVectorWithLeader< ParticleSet > &P_list, int iat, OffloadMWVArray &v) override
compute V using packed array with all walkers
ResourceHandle< SoaLocalizedBSetMultiWalkerMem > mw_mem_handle_
multi walker resource handle
A D-dimensional Array class based on PETE.
size_t NumTargets
number of quantum particles
BaseType * makeClone() const override
makeClone
void acquireResource(ResourceCollection &collection, const RefVectorWithLeader< SoaBasisSetBase< ORBT >> &basisset_list) const override
acquire a shared resource from collection
const ParticleSet & ions_
ion particle set
typename BaseType::vgl_type vgl_type
static RefVectorWithLeader< COT > extractOneSpeciesBasisRefList(const RefVectorWithLeader< SoaBasisSetBase< ORBT >> &basisset_list, int id)
helper function for extracting a list of atomic basis sets for a single species (indexed by id) from ...
void evaluateGradSourceVGL(const ParticleSet &P, int iat, const ParticleSet &ions, int jion, vghgh_type &vghgh) override
void evaluateVGH(const ParticleSet &P, int iat, vgh_type &vgh) override
compute VGH
int BasisSetSize
size of the basis set
typename ParticleSet::PosType PosType
void mw_evaluateValueVPs(const RefVectorWithLeader< SoaBasisSetBase< ORBT >> &basis_list, const RefVectorWithLeader< const VirtualParticleSet > &vp_list, OffloadMWVArray &v) override
compute V using packed array with all walkers
Declaration of a base class of BasisSet.