![]() |
QMCPACK
|
A localized basis set derived from BasisSetBase<typename COT::ValueType> More...
Collaboration diagram for SoaCuspCorrection: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().