21 #ifndef QMCPLUSPLUS_BASISSETBASE_H 22 #define QMCPLUSPLUS_BASISSETBASE_H 104 app_error() <<
" BasisSetBase::BasisSetSize == 0" << std::endl;
void resize(size_type n, Type_t val=Type_t())
Resize the container.
virtual void evaluateForWalkerMove(const ParticleSet &P)=0
virtual void evaluateWithThirdDeriv(const ParticleSet &P, int iat)=0
GradVector dPhi
dphi[i] the gradient of the i-th basis set
ValueVector Phi
phi[i] the value of the i-th basis set
helper functions for EinsplineSetBuilder
virtual void mw_evaluateVGL(const RefVectorWithLeader< SoaBasisSetBase< T >> &basis_list, const RefVectorWithLeader< ParticleSet > &P_list, int iat, OffloadMWVGLArray &vgl)=0
virtual void acquireResource(ResourceCollection &collection, const RefVectorWithLeader< SoaBasisSetBase > &bset_list) const
acquire a shared resource from collection
typename OrbitalSetTraits< T >::RealType RealType
virtual void releaseResource(ResourceCollection &collection, const RefVectorWithLeader< SoaBasisSetBase > &bset_list) const
return a shared resource to collection
std::ostream & app_error()
virtual void evaluateWithHessian(const ParticleSet &P, int iat)=0
virtual void evaluateVGHGH(const ParticleSet &P, int iat, vghgh_type &vghgh)=0
SoA adaptor class for Vector<TinyVector<T,D> >
QMCTraits::ValueType ValueType
BasisSetBase()
default constructor
base class for a basis set
typename OrbitalSetTraits< T >::HessType HessType
A proxy class to the quantum ParticleSet.
typename OrbitalSetTraits< T >::GradMatrix GradMatrix
typename OrbitalSetTraits< T >::ValueVector ValueVector
virtual ~BasisSetBase()
virtual destructor
ValueMatrix Temp
container to store value, laplacian and gradient
virtual BasisSetBase * makeClone() const =0
clone the basis set
typename OrbitalSetTraits< T >::GradVector GradVector
Specialized paritlce class for atomistic simulations.
typename OrbitalSetTraits< T >::ValueMatrix ValueMatrix
typename OrbitalSetTraits< T >::HessMatrix HessMatrix
Tensor<T,D> class for D by D tensor.
QTBase::ValueType ValueType
typename OrbitalSetTraits< T >::ValueType ValueType
virtual void mw_evaluateValueVPs(const RefVectorWithLeader< SoaBasisSetBase< T >> &basis_list, const RefVectorWithLeader< const VirtualParticleSet > &vp_list, OffloadMWVArray &v)=0
Array< ValueType, 3, OffloadPinnedAllocator< ValueType > > OffloadMWVGLArray
typename OrbitalSetTraits< T >::HessVector HessVector
VectorSoaContainer< T, 10 > vgh_type
GGGVector grad_grad_grad_Phi
grad_grad_grad_Phi the full hessian of the i-th basis set
virtual bool is_S_orbital(int mo_idx, int ao_idx)
virtual void setBasisSetSize(int nbs)=0
typename OrbitalSetTraits< T >::IndexVector IndexVector
virtual void evaluateThirdDerivOnly(const ParticleSet &P, int iat)=0
virtual void evaluateVGH(const ParticleSet &P, int iat, vgh_type &vgh)=0
virtual void evaluateForPtclMoveWithHessian(const ParticleSet &P, int iat)=0
IndexType getBasisSetSize() const
return the basis set size
typename OrbitalSetTraits< T >::IndexType IndexType
unsigned long Counter
counter to keep track
virtual void evaluateGradSourceVGL(const ParticleSet &P, int iat, const ParticleSet &ions, int jion, vghgh_type &vghgh)=0
VectorSoaContainer< T, 20 > vghgh_type
virtual void evaluateV(const ParticleSet &P, int iat, value_type *restrict vals)=0
virtual void createResource(ResourceCollection &collection) const
initialize a shared resource and hand it to collection
virtual void evaluateGradSourceV(const ParticleSet &P, int iat, const ParticleSet &ions, int jion, vgl_type &vgl)=0
virtual SoaBasisSetBase< T > * makeClone() const =0
virtual ~SoaBasisSetBase()=default
ValueVector d2Phi
d2phi[i] the laplacian of the i-th basis set
void resize(int ntargets)
resize the container
HessVector grad_grad_Phi
grad_grad_Phi[i] the full hessian of the i-th basis set
IndexType ActivePtcl
index of the particle
trait class to handel a set of Orbitals
VectorSoaContainer< T, OHMMS_DIM+2 > vgl_type
virtual void evaluateVGL(const ParticleSet &P, int iat, vgl_type &vgl)=0
virtual void evaluateForPtclMove(const ParticleSet &P, int iat)=0
A D-dimensional Array class based on PETE.
Array< ValueType, 2, OffloadPinnedAllocator< ValueType > > OffloadMWVArray
virtual void queryOrbitalsForSType(const std::vector< bool > &corrCenter, std::vector< bool > &is_s_orbital) const
Determine which orbitals are S-type. Used for cusp correction.
QMCTraits::FullPrecRealType value_type
virtual void mw_evaluateValue(const RefVectorWithLeader< SoaBasisSetBase< T >> &basis_list, const RefVectorWithLeader< ParticleSet > &P_list, int iat, OffloadMWVArray &v)=0
IndexType BasisSetSize
size of the basis set
virtual void evaluateAllForPtclMove(const ParticleSet &P, int iat)=0
int BasisSetSize
size of the basis set
virtual void setBasisSetSize(int nbs)=0
resize the basis set