QMCPACK
BasisSetBase< T > Struct Template Referenceabstract

base class for a basis set More...

+ Inheritance diagram for BasisSetBase< T >:
+ Collaboration diagram for BasisSetBase< T >:

Public Types

enum  { MAXINDEX = 2 + OHMMS_DIM }
 
using RealType = typename OrbitalSetTraits< T >::RealType
 
using ValueType = typename OrbitalSetTraits< T >::ValueType
 
using IndexType = typename OrbitalSetTraits< T >::IndexType
 
using HessType = typename OrbitalSetTraits< T >::HessType
 
using IndexVector = typename OrbitalSetTraits< T >::IndexVector
 
using ValueVector = typename OrbitalSetTraits< T >::ValueVector
 
using ValueMatrix = typename OrbitalSetTraits< T >::ValueMatrix
 
using GradVector = typename OrbitalSetTraits< T >::GradVector
 
using GradMatrix = typename OrbitalSetTraits< T >::GradMatrix
 
using HessVector = typename OrbitalSetTraits< T >::HessVector
 
using HessMatrix = typename OrbitalSetTraits< T >::HessMatrix
 
using GGGType = TinyVector< HessType, OHMMS_DIM >
 
using GGGVector = Vector< GGGType >
 
using GGGMatrix = Matrix< GGGType >
 
- Public Types inherited from OrbitalSetTraits< T >
enum  { DIM = OHMMS_DIM }
 
using RealType = RealAlias< T >
 
using ValueType = T
 
using IndexType = int
 
using PosType = TinyVector< RealType, DIM >
 
using GradType = TinyVector< ValueType, DIM >
 
using HessType = Tensor< ValueType, DIM >
 
using TensorType = Tensor< ValueType, DIM >
 
using GradHessType = TinyVector< Tensor< ValueType, DIM >, DIM >
 
using IndexVector = Vector< IndexType >
 
using ValueVector = Vector< ValueType >
 
using ValueMatrix = Matrix< ValueType >
 
using GradVector = Vector< GradType >
 
using GradMatrix = Matrix< GradType >
 
using HessVector = Vector< HessType >
 
using HessMatrix = Matrix< HessType >
 
using GradHessVector = Vector< GradHessType >
 
using GradHessMatrix = Matrix< GradHessType >
 
using VGLVector = VectorSoaContainer< ValueType, DIM+2 >
 

Public Member Functions

 BasisSetBase ()
 default constructor More...
 
virtual ~BasisSetBase ()
 virtual destructor More...
 
void resize (int ntargets)
 resize the container More...
 
virtual BasisSetBasemakeClone () const =0
 clone the basis set More...
 
IndexType getBasisSetSize () const
 return the basis set size More...
 
virtual void setBasisSetSize (int nbs)=0
 resize the basis set More...
 
virtual void evaluateWithHessian (const ParticleSet &P, int iat)=0
 
virtual void evaluateWithThirdDeriv (const ParticleSet &P, int iat)=0
 
virtual void evaluateThirdDerivOnly (const ParticleSet &P, int iat)=0
 
virtual void evaluateForWalkerMove (const ParticleSet &P)=0
 
virtual void evaluateForWalkerMove (const ParticleSet &P, int iat)=0
 
virtual void evaluateForPtclMove (const ParticleSet &P, int iat)=0
 
virtual void evaluateAllForPtclMove (const ParticleSet &P, int iat)=0
 
virtual void evaluateForPtclMoveWithHessian (const ParticleSet &P, int iat)=0
 

Public Attributes

IndexType BasisSetSize
 size of the basis set More...
 
IndexType ActivePtcl
 index of the particle More...
 
unsigned long Counter
 counter to keep track More...
 
ValueVector Phi
 phi[i] the value of the i-th basis set More...
 
GradVector dPhi
 dphi[i] the gradient of the i-th basis set More...
 
ValueVector d2Phi
 d2phi[i] the laplacian of the i-th basis set More...
 
HessVector grad_grad_Phi
 grad_grad_Phi[i] the full hessian of the i-th basis set More...
 
GGGVector grad_grad_grad_Phi
 grad_grad_grad_Phi the full hessian of the i-th basis set More...
 
ValueMatrix Temp
 container to store value, laplacian and gradient More...
 
ValueMatrix Y
 
GradMatrix dY
 
ValueMatrix d2Y
 

Detailed Description

template<typename T>
struct qmcplusplus::BasisSetBase< T >

base class for a basis set

Define a common storage for the derived classes and provides a minimal set of interfaces to get/set BasisSetSize.

Definition at line 38 of file BasisSetBase.h.

Member Typedef Documentation

◆ GGGMatrix

Definition at line 57 of file BasisSetBase.h.

◆ GGGType

Definition at line 55 of file BasisSetBase.h.

◆ GGGVector

Definition at line 56 of file BasisSetBase.h.

◆ GradMatrix

using GradMatrix = typename OrbitalSetTraits<T>::GradMatrix

Definition at line 52 of file BasisSetBase.h.

◆ GradVector

using GradVector = typename OrbitalSetTraits<T>::GradVector

Definition at line 51 of file BasisSetBase.h.

◆ HessMatrix

using HessMatrix = typename OrbitalSetTraits<T>::HessMatrix

Definition at line 54 of file BasisSetBase.h.

◆ HessType

using HessType = typename OrbitalSetTraits<T>::HessType

Definition at line 47 of file BasisSetBase.h.

◆ HessVector

using HessVector = typename OrbitalSetTraits<T>::HessVector

Definition at line 53 of file BasisSetBase.h.

◆ IndexType

using IndexType = typename OrbitalSetTraits<T>::IndexType

Definition at line 46 of file BasisSetBase.h.

◆ IndexVector

Definition at line 48 of file BasisSetBase.h.

◆ RealType

using RealType = typename OrbitalSetTraits<T>::RealType

Definition at line 44 of file BasisSetBase.h.

◆ ValueMatrix

Definition at line 50 of file BasisSetBase.h.

◆ ValueType

using ValueType = typename OrbitalSetTraits<T>::ValueType

Definition at line 45 of file BasisSetBase.h.

◆ ValueVector

Definition at line 49 of file BasisSetBase.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAXINDEX 

Definition at line 40 of file BasisSetBase.h.

41  {
42  MAXINDEX = 2 + OHMMS_DIM
43  };
#define OHMMS_DIM
Definition: config.h:64

Constructor & Destructor Documentation

◆ BasisSetBase()

BasisSetBase ( )
inline

default constructor

Definition at line 84 of file BasisSetBase.h.

84 : BasisSetSize(0), ActivePtcl(-1), Counter(0) {}
unsigned long Counter
counter to keep track
Definition: BasisSetBase.h:65
IndexType ActivePtcl
index of the particle
Definition: BasisSetBase.h:63
IndexType BasisSetSize
size of the basis set
Definition: BasisSetBase.h:61

◆ ~BasisSetBase()

virtual ~BasisSetBase ( )
inlinevirtual

virtual destructor

Definition at line 86 of file BasisSetBase.h.

86 {}

Member Function Documentation

◆ evaluateAllForPtclMove()

virtual void evaluateAllForPtclMove ( const ParticleSet P,
int  iat 
)
pure virtual

◆ evaluateForPtclMove()

virtual void evaluateForPtclMove ( const ParticleSet P,
int  iat 
)
pure virtual

Referenced by AGPDeterminant::ratio().

◆ evaluateForPtclMoveWithHessian()

virtual void evaluateForPtclMoveWithHessian ( const ParticleSet P,
int  iat 
)
pure virtual

◆ evaluateForWalkerMove() [1/2]

virtual void evaluateForWalkerMove ( const ParticleSet P)
pure virtual

◆ evaluateForWalkerMove() [2/2]

virtual void evaluateForWalkerMove ( const ParticleSet P,
int  iat 
)
pure virtual

◆ evaluateThirdDerivOnly()

virtual void evaluateThirdDerivOnly ( const ParticleSet P,
int  iat 
)
pure virtual

◆ evaluateWithHessian()

virtual void evaluateWithHessian ( const ParticleSet P,
int  iat 
)
pure virtual

◆ evaluateWithThirdDeriv()

virtual void evaluateWithThirdDeriv ( const ParticleSet P,
int  iat 
)
pure virtual

◆ getBasisSetSize()

IndexType getBasisSetSize ( ) const
inline

return the basis set size

Definition at line 111 of file BasisSetBase.h.

References BasisSetBase< T >::BasisSetSize.

Referenced by AGPDeterminant::resize().

111 { return BasisSetSize; }
IndexType BasisSetSize
size of the basis set
Definition: BasisSetBase.h:61

◆ makeClone()

virtual BasisSetBase* makeClone ( ) const
pure virtual

clone the basis set

Referenced by AGPDeterminant::makeClone().

◆ resize()

void resize ( int  ntargets)
inline

resize the container

Definition at line 88 of file BasisSetBase.h.

References qmcplusplus::app_error(), BasisSetBase< T >::BasisSetSize, BasisSetBase< T >::d2Phi, BasisSetBase< T >::d2Y, BasisSetBase< T >::dPhi, BasisSetBase< T >::dY, BasisSetBase< T >::grad_grad_grad_Phi, BasisSetBase< T >::grad_grad_Phi, BasisSetBase< T >::MAXINDEX, BasisSetBase< T >::Phi, Vector< T, Alloc >::resize(), BasisSetBase< T >::Temp, and BasisSetBase< T >::Y.

Referenced by AGPDeterminantBuilder::buildComponent(), and AGPDeterminant::makeClone().

89  {
90  if (BasisSetSize)
91  {
92  Phi.resize(BasisSetSize);
93  dPhi.resize(BasisSetSize);
94  d2Phi.resize(BasisSetSize);
97  Temp.resize(BasisSetSize, MAXINDEX);
98  Y.resize(ntargets, BasisSetSize);
99  dY.resize(ntargets, BasisSetSize);
100  d2Y.resize(ntargets, BasisSetSize);
101  }
102  else
103  {
104  app_error() << " BasisSetBase::BasisSetSize == 0" << std::endl;
105  }
106  }
void resize(size_type n, Type_t val=Type_t())
Resize the container.
Definition: OhmmsVector.h:166
GradVector dPhi
dphi[i] the gradient of the i-th basis set
Definition: BasisSetBase.h:69
ValueVector Phi
phi[i] the value of the i-th basis set
Definition: BasisSetBase.h:67
std::ostream & app_error()
Definition: OutputManager.h:67
ValueMatrix Temp
container to store value, laplacian and gradient
Definition: BasisSetBase.h:77
GGGVector grad_grad_grad_Phi
grad_grad_grad_Phi the full hessian of the i-th basis set
Definition: BasisSetBase.h:75
ValueVector d2Phi
d2phi[i] the laplacian of the i-th basis set
Definition: BasisSetBase.h:71
HessVector grad_grad_Phi
grad_grad_Phi[i] the full hessian of the i-th basis set
Definition: BasisSetBase.h:73
IndexType BasisSetSize
size of the basis set
Definition: BasisSetBase.h:61

◆ setBasisSetSize()

virtual void setBasisSetSize ( int  nbs)
pure virtual

resize the basis set

Member Data Documentation

◆ ActivePtcl

IndexType ActivePtcl

index of the particle

Definition at line 63 of file BasisSetBase.h.

◆ BasisSetSize

IndexType BasisSetSize

size of the basis set

Definition at line 61 of file BasisSetBase.h.

Referenced by BasisSetBase< T >::getBasisSetSize(), and BasisSetBase< T >::resize().

◆ Counter

unsigned long Counter

counter to keep track

Definition at line 65 of file BasisSetBase.h.

◆ d2Phi

ValueVector d2Phi

d2phi[i] the laplacian of the i-th basis set

Definition at line 71 of file BasisSetBase.h.

Referenced by AGPDeterminant::acceptMove(), AGPDeterminant::ratioDown(), AGPDeterminant::ratioUp(), and BasisSetBase< T >::resize().

◆ d2Y

◆ dPhi

GradVector dPhi

dphi[i] the gradient of the i-th basis set

Definition at line 69 of file BasisSetBase.h.

Referenced by AGPDeterminant::acceptMove(), AGPDeterminant::ratioDown(), AGPDeterminant::ratioUp(), and BasisSetBase< T >::resize().

◆ dY

◆ grad_grad_grad_Phi

GGGVector grad_grad_grad_Phi

grad_grad_grad_Phi the full hessian of the i-th basis set

Definition at line 75 of file BasisSetBase.h.

Referenced by BasisSetBase< T >::resize().

◆ grad_grad_Phi

HessVector grad_grad_Phi

grad_grad_Phi[i] the full hessian of the i-th basis set

Definition at line 73 of file BasisSetBase.h.

Referenced by BasisSetBase< T >::resize().

◆ Phi

phi[i] the value of the i-th basis set

Definition at line 67 of file BasisSetBase.h.

Referenced by AGPDeterminant::ratio(), AGPDeterminant::ratioDown(), AGPDeterminant::ratioUp(), and BasisSetBase< T >::resize().

◆ Temp

container to store value, laplacian and gradient

Definition at line 77 of file BasisSetBase.h.

Referenced by BasisSetBase< T >::resize().

◆ Y


The documentation for this struct was generated from the following file: