![]() |
QMCPACK
|
A localized basis set derived from BasisSetBase<typename COT::ValueType> More...
Public Member Functions | |
SoaCuspCorrection (ParticleSet &ions, ParticleSet &els, size_t norbs) | |
constructor More... | |
SoaCuspCorrection (const SoaCuspCorrection &a) | |
copy constructor More... | |
void | evaluateVGL (const ParticleSet &P, int iat, VGLVector &vgl) |
compute VGL More... | |
void | evaluate_vgl (const ParticleSet &P, int iat, ValueVector &psi, GradVector &dpsi, ValueVector &d2psi) |
void | evaluate_vgl (const ParticleSet &P, int iat, int idx, ValueMatrix &psi, GradMatrix &dpsi, ValueMatrix &d2psi) |
void | evaluateV (const ParticleSet &P, int iat, ValueVector &psi) |
compute values for the iat-paricle move More... | |
void | add (int icenter, std::unique_ptr< COT > aos) |
add a new set of Centered Atomic Orbitals More... | |
void | addVGL (const ParticleSet &P, int iat, VGLVector &vgl) |
void | addV (const ParticleSet &P, int iat, ValueVector &psi) |
void | add_vgl (const ParticleSet &P, int iat, int idx, ValueMatrix &vals, GradMatrix &dpsi, ValueMatrix &d2psi) |
void | add_vector_vgl (const ParticleSet &P, int iat, ValueVector &vals, GradVector &dpsi, ValueVector &d2psi) |
Private Types | |
using | ValueType = QMCTraits::ValueType |
using | RealType = QMCTraits::RealType |
using | VGLVector = VectorSoaContainer< ValueType, 5 > |
using | ValueMatrix = SPOSet::ValueMatrix |
using | GradMatrix = SPOSet::GradMatrix |
using | GradVector = SPOSet::GradVector |
using | ValueVector = SPOSet::ValueVector |
using | PosType = ParticleSet::PosType |
using | COT = CuspCorrectionAtomicBasis< RealType > |
COMPLEX WON'T WORK. More... | |
Private Attributes | |
size_t | NumCenters |
number of centers, e.g., ions More... | |
size_t | NumTargets |
number of quantum particles More... | |
const int | myTableIndex |
number of quantum particles More... | |
const size_t | MaxOrbSize |
Maximal number of supported MOs this is not the AO basis because cusp correction is applied on the MO directly. More... | |
std::vector< std::shared_ptr< const COT > > | LOBasisSet |
container of the unique pointers to the Atomic Orbitals More... | |
Matrix< RealType > | myVGL |
A localized basis set derived from BasisSetBase<typename COT::ValueType>
This class performs the evaluation of the basis functions and their derivatives for each of the N-particles in a configuration. The template parameter COT denotes Centered-Orbital-Type which provides a set of localized orbitals associated with a center.
Definition at line 33 of file SoaCuspCorrection.h.
|
private |
COMPLEX WON'T WORK.
Definition at line 56 of file SoaCuspCorrection.h.
|
private |
Definition at line 39 of file SoaCuspCorrection.h.
|
private |
Definition at line 40 of file SoaCuspCorrection.h.
|
private |
Definition at line 42 of file SoaCuspCorrection.h.
|
private |
Definition at line 36 of file SoaCuspCorrection.h.
|
private |
Definition at line 38 of file SoaCuspCorrection.h.
|
private |
Definition at line 35 of file SoaCuspCorrection.h.
|
private |
Definition at line 41 of file SoaCuspCorrection.h.
|
private |
Definition at line 37 of file SoaCuspCorrection.h.
SoaCuspCorrection | ( | ParticleSet & | ions, |
ParticleSet & | els, | ||
size_t | norbs | ||
) |
constructor
ions | ionic system |
els | electronic system |
norbs | the number of orbitals this cusp correction may serve |
Definition at line 20 of file SoaCuspCorrection.cpp.
References ParticleSet::getTotalNum(), SoaCuspCorrection::LOBasisSet, SoaCuspCorrection::MaxOrbSize, SoaCuspCorrection::myVGL, SoaCuspCorrection::NumCenters, SoaCuspCorrection::NumTargets, and Matrix< T, Alloc >::resize().
|
default |
copy constructor
void add | ( | int | icenter, |
std::unique_ptr< COT > | aos | ||
) |
add a new set of Centered Atomic Orbitals
icenter | the index of the center |
aos | a set of Centered Atomic Orbitals |
Definition at line 150 of file SoaCuspCorrection.cpp.
References SoaCuspCorrection::LOBasisSet, and SoaCuspCorrection::MaxOrbSize.
Referenced by qmcplusplus::applyCuspCorrection().
|
inline |
Definition at line 108 of file SoaCuspCorrection.h.
References SoaCuspCorrection::evaluate_vgl().
Referenced by LCAOrbitalSetWithCorrection::evaluateVGL().
|
inline |
Definition at line 104 of file SoaCuspCorrection.h.
References SoaCuspCorrection::evaluate_vgl().
Referenced by LCAOrbitalSetWithCorrection::evaluate_notranspose().
|
inline |
Definition at line 103 of file SoaCuspCorrection.h.
References SoaCuspCorrection::evaluateV().
Referenced by LCAOrbitalSetWithCorrection::evaluateValue().
|
inline |
Definition at line 102 of file SoaCuspCorrection.h.
References SoaCuspCorrection::evaluateVGL().
void evaluate_vgl | ( | const ParticleSet & | P, |
int | iat, | ||
ValueVector & | psi, | ||
GradVector & | dpsi, | ||
ValueVector & | d2psi | ||
) |
Definition at line 65 of file SoaCuspCorrection.cpp.
References ParticleSet::getActivePtcl(), ParticleSet::getDistTableAB(), DistanceTableAB::getTempDists(), SoaCuspCorrection::LOBasisSet, SoaCuspCorrection::MaxOrbSize, SoaCuspCorrection::myTableIndex, SoaCuspCorrection::myVGL, and SoaCuspCorrection::NumCenters.
Referenced by SoaCuspCorrection::add_vector_vgl(), and SoaCuspCorrection::add_vgl().
void evaluate_vgl | ( | const ParticleSet & | P, |
int | iat, | ||
int | idx, | ||
ValueMatrix & | psi, | ||
GradMatrix & | dpsi, | ||
ValueMatrix & | d2psi | ||
) |
Definition at line 96 of file SoaCuspCorrection.cpp.
References ParticleSet::getActivePtcl(), ParticleSet::getDistTableAB(), DistanceTableAB::getTempDists(), SoaCuspCorrection::LOBasisSet, SoaCuspCorrection::MaxOrbSize, SoaCuspCorrection::myTableIndex, SoaCuspCorrection::myVGL, and SoaCuspCorrection::NumCenters.
void evaluateV | ( | const ParticleSet & | P, |
int | iat, | ||
ValueVector & | psi | ||
) |
compute values for the iat-paricle move
Always uses getTempDists() and getTempDispls()
Definition at line 128 of file SoaCuspCorrection.cpp.
References OMPstd::fill_n(), ParticleSet::getActivePtcl(), ParticleSet::getDistTableAB(), DistanceTableAB::getTempDists(), SoaCuspCorrection::LOBasisSet, SoaCuspCorrection::MaxOrbSize, SoaCuspCorrection::myTableIndex, SoaCuspCorrection::myVGL, SoaCuspCorrection::NumCenters, and Matrix< T, Alloc >::size().
Referenced by SoaCuspCorrection::addV().
|
inline |
compute VGL
P | quantum particleset |
iat | active particle |
vgl | Matrix(5,BasisSetSize) |
trialMove | if true, use getTempDists()/getTempDispls() |
Definition at line 31 of file SoaCuspCorrection.cpp.
References VectorSoaContainer< T, D, Alloc >::data(), ParticleSet::getActivePtcl(), ParticleSet::getDistTableAB(), DistanceTableAB::getTempDists(), SoaCuspCorrection::LOBasisSet, SoaCuspCorrection::MaxOrbSize, SoaCuspCorrection::myTableIndex, SoaCuspCorrection::myVGL, SoaCuspCorrection::NumCenters, and VectorSoaContainer< T, D, Alloc >::size().
Referenced by SoaCuspCorrection::addVGL().
|
private |
container of the unique pointers to the Atomic Orbitals
size of LOBasisSet = number of centers (atoms) should use unique_ptr once COT is fixed for better performance
Definition at line 63 of file SoaCuspCorrection.h.
Referenced by SoaCuspCorrection::add(), SoaCuspCorrection::evaluate_vgl(), SoaCuspCorrection::evaluateV(), SoaCuspCorrection::evaluateVGL(), and SoaCuspCorrection::SoaCuspCorrection().
|
private |
Maximal number of supported MOs this is not the AO basis because cusp correction is applied on the MO directly.
Definition at line 53 of file SoaCuspCorrection.h.
Referenced by SoaCuspCorrection::add(), SoaCuspCorrection::evaluate_vgl(), SoaCuspCorrection::evaluateV(), SoaCuspCorrection::evaluateVGL(), and SoaCuspCorrection::SoaCuspCorrection().
|
private |
number of quantum particles
Definition at line 49 of file SoaCuspCorrection.h.
Referenced by SoaCuspCorrection::evaluate_vgl(), SoaCuspCorrection::evaluateV(), and SoaCuspCorrection::evaluateVGL().
Definition at line 65 of file SoaCuspCorrection.h.
Referenced by SoaCuspCorrection::evaluate_vgl(), SoaCuspCorrection::evaluateV(), SoaCuspCorrection::evaluateVGL(), and SoaCuspCorrection::SoaCuspCorrection().
|
private |
number of centers, e.g., ions
Definition at line 45 of file SoaCuspCorrection.h.
Referenced by SoaCuspCorrection::evaluate_vgl(), SoaCuspCorrection::evaluateV(), SoaCuspCorrection::evaluateVGL(), and SoaCuspCorrection::SoaCuspCorrection().
|
private |
number of quantum particles
Definition at line 47 of file SoaCuspCorrection.h.
Referenced by SoaCuspCorrection::SoaCuspCorrection().