![]() |
QMCPACK
|
Contains a set of radial grid potentials around a center. More...
Public Member Functions | |
NonLocalECPComponent () | |
NonLocalECPComponent (const NonLocalECPComponent &nl_ecpc, const ParticleSet &pset) | |
Make a copy but have it associated with pset instead of nl_ecpc's pset. More... | |
~NonLocalECPComponent () | |
void | add (int l, RadialPotentialType *pp) |
add a new Non Local component More... | |
void | addknot (const PosType &xyz, RealType weight) |
add knots to the spherical grid More... | |
void | set_randomize_grid (bool do_randomize_grid_) |
void | resize_warrays (int n, int m, int l) |
void | rotateQuadratureGrid (const TensorType &rmat) |
Randomly rotate sgrid_m. More... | |
template<typename T > | |
void | rotateQuadratureGrid (std::vector< T > &sphere, const TensorType &rmat) |
void | contributeTxy (int iel, std::vector< NonLocalData > &Txy) const |
contribute local non-local move data More... | |
RealType | evaluateOne (ParticleSet &W, int iat, TrialWaveFunction &Psi, int iel, RealType r, const PosType &dr, bool use_DLA) |
Evaluate the nonlocal pp contribution via randomized quadrature grid to total energy from ion "iat" and electron "iel". More... | |
RealType | evaluateOneWithForces (ParticleSet &W, int iat, TrialWaveFunction &Psi, int iel, RealType r, const PosType &dr, PosType &force_iat) |
Evaluate the nonlocal pp contribution via randomized quadrature grid to total energy from ion "iat" and electron "iel". More... | |
RealType | evaluateOneWithForces (ParticleSet &W, ParticleSet &ions, int iat, TrialWaveFunction &Psi, int iel, RealType r, const PosType &dr, PosType &force_iat, ParticleSet::ParticlePos &pulay_terms) |
Evaluate the nonlocal pp energy, Hellman-Feynman force, and "Pulay" force contribution via randomized quadrature grid from ion "iat" and electron "iel". More... | |
RealType | evaluateValueAndDerivatives (ParticleSet &P, int iat, TrialWaveFunction &psi, int iel, RealType r, const PosType &dr, const opt_variables_type &optvars, const Vector< ValueType > &dlogpsi, Vector< ValueType > &dhpsioverpsi) |
evaluate the non-local potential of the iat-th ionic center More... | |
void | evaluateOneBodyOpMatrixContribution (ParticleSet &P, const int iat, const TWFFastDerivWrapper &psi, const int iel, const RealType r, const PosType &dr, std::vector< ValueMatrix > &B) |
Evaluate contribution to B of election iel and ion iat. More... | |
void | evaluateOneBodyOpMatrixdRContribution (ParticleSet &P, ParticleSet &source, const int iat, const int iat_src, const TWFFastDerivWrapper &psi, const int iel, const RealType r, const PosType &dr, std::vector< std::vector< ValueMatrix >> &dB) |
Evaluate contribution to dB/dR of election iel and ion iat. More... | |
void | print (std::ostream &os) |
void | initVirtualParticle (const ParticleSet &qp) |
void | deleteVirtualParticle () |
void | setRmax (int rmax) |
RealType | getRmax () const |
int | getNknot () const |
void | setLmax (int Lmax) |
int | getLmax () const |
const VirtualParticleSet * | getVP () const |
Static Public Member Functions | |
static void | mw_evaluateOne (const RefVectorWithLeader< NonLocalECPComponent > &ecp_component_list, const RefVectorWithLeader< ParticleSet > &p_list, const RefVectorWithLeader< TrialWaveFunction > &psi_list, const RefVector< const NLPPJob< RealType >> &joblist, std::vector< RealType > &pairpots, ResourceCollection &collection, bool use_DLA) |
Evaluate the nonlocal pp contribution via randomized quadrature grid to total energy from ion "iat" and electron "iel" for a batch of walkers. More... | |
Private Types | |
using | SpherGridType = std::vector< PosType > |
using | GridType = OneDimGridBase< RealType > |
using | RadialPotentialType = OneDimCubicSpline< RealType > |
using | ValueMatrix = SPOSet::ValueMatrix |
For fast derivative evaluation. More... | |
using | GradMatrix = SPOSet::GradMatrix |
Private Member Functions | |
void | buildQuadraturePointDeltaPositions (RealType r, const PosType &dr, std::vector< PosType > &deltaV) const |
build QP position deltas from the reference electron using internally stored random grid points More... | |
RealType | calculateProjector (RealType r, const PosType &dr) |
finalize the calculation of ${V}{}$ More... | |
Private Attributes | |
int | lmax |
Non Local part: angular momentum, potential and grid. More... | |
int | nchannel |
the number of non-local channels More... | |
int | nknot |
the number of nknot More... | |
RealType | Rmax |
Maximum cutoff the non-local pseudopotential. More... | |
aligned_vector< int > | angpp_m |
Angular momentum map. More... | |
aligned_vector< RealType > | wgt_angpp_m |
Weight of the angular momentum. More... | |
RealType | Lfactor1 [8] |
Lfactor1[l]=(2*l+1)/(l+1) More... | |
RealType | Lfactor2 [8] |
Lfactor1[l]=(l)/(l+1) More... | |
std::vector< RadialPotentialType * > | nlpp_m |
Non-Local part of the pseudo-potential. More... | |
SpherGridType | sgridxyz_m |
fixed Spherical Grid for species More... | |
SpherGridType | rrotsgrid_m |
randomized spherical grid More... | |
std::vector< RealType > | sgridweight_m |
weight of the spherical grid More... | |
std::vector< ValueType > | wvec |
Working arrays. More... | |
std::vector< PosType > | deltaV |
std::vector< RealType > | lpol |
std::vector< RealType > | dlpol |
std::vector< RealType > | vrad |
std::vector< RealType > | dvrad |
std::vector< ValueType > | psiratio |
std::vector< PosType > | gradpsiratio |
std::vector< PosType > | vgrad |
std::vector< PosType > | cosgrad |
std::vector< PosType > | wfngrad |
std::vector< RealType > | knot_pots |
Matrix< ValueType > | dratio |
scratch spaces used by evaluateValueAndDerivatives More... | |
Vector< ValueType > | dlogpsi_vp |
std::vector< RealType > | WarpNorm |
ParticleSet::ParticleGradient | dG |
ParticleSet::ParticleLaplacian | dL |
Matrix< PosType > | Gnew |
First index is knot, second is electron. More... | |
ParticleSet::ParticleGradient | Gion |
The gradient of the wave function w.r.t. the ion position. More... | |
VirtualParticleSet * | VP |
virtual particle set: delayed initialization More... | |
bool | do_randomize_grid_ |
Can disable grid randomization for testing. More... | |
Friends | |
struct | ECPComponentBuilder |
class | NonLocalECPotential_CUDA |
class | testing::TestNonLocalECPotential |
void | copyGridUnrotatedForTest (NonLocalECPComponent &nlpp) |
Additional Inherited Members | |
![]() | |
enum | { DIM = OHMMS_DIM, DIM_VGL = OHMMS_DIM + 2 } |
using | QTBase = QMCTypes< OHMMS_PRECISION, DIM > |
using | QTFull = QMCTypes< OHMMS_PRECISION_FULL, DIM > |
using | RealType = QTBase::RealType |
using | ComplexType = QTBase::ComplexType |
using | ValueType = QTBase::ValueType |
using | PosType = QTBase::PosType |
using | GradType = QTBase::GradType |
using | TensorType = QTBase::TensorType |
using | IndexType = OHMMS_INDEXTYPE |
define other types More... | |
using | FullPrecRealType = QTFull::RealType |
using | FullPrecValueType = QTFull::ValueType |
using | PropertySetType = RecordNamedProperty< FullPrecRealType > |
define PropertyList_t More... | |
using | PtclGrpIndexes = std::vector< std::pair< int, int > > |
Contains a set of radial grid potentials around a center.
Definition at line 38 of file NonLocalECPComponent.h.
|
private |
Definition at line 48 of file NonLocalECPComponent.h.
|
private |
Definition at line 42 of file NonLocalECPComponent.h.
|
private |
Definition at line 43 of file NonLocalECPComponent.h.
|
private |
Definition at line 41 of file NonLocalECPComponent.h.
|
private |
For fast derivative evaluation.
Definition at line 47 of file NonLocalECPComponent.h.
Definition at line 25 of file NonLocalECPComponent.cpp.
NonLocalECPComponent | ( | const NonLocalECPComponent & | nl_ecpc, |
const ParticleSet & | pset | ||
) |
Make a copy but have it associated with pset instead of nl_ecpc's pset.
Definition at line 29 of file NonLocalECPComponent.cpp.
References ParticleSet::getNumDistTables(), NonLocalECPComponent::nknot, NonLocalECPComponent::nlpp_m, qmcplusplus::pset, and NonLocalECPComponent::VP.
~NonLocalECPComponent | ( | ) |
Definition at line 38 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::nlpp_m, and NonLocalECPComponent::VP.
void add | ( | int | l, |
RadialPotentialType * | pp | ||
) |
add a new Non Local component
Definition at line 66 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::angpp_m, NonLocalECPComponent::nlpp_m, and NonLocalECPComponent::wgt_angpp_m.
add knots to the spherical grid
Definition at line 139 of file NonLocalECPComponent.h.
References NonLocalECPComponent::sgridweight_m, and NonLocalECPComponent::sgridxyz_m.
|
private |
build QP position deltas from the reference electron using internally stored random grid points
Definition at line 905 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::deltaV, NonLocalECPComponent::nknot, and NonLocalECPComponent::rrotsgrid_m.
Referenced by NonLocalECPComponent::evaluateOne(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), and NonLocalECPComponent::mw_evaluateOne().
|
private |
finalize the calculation of ${V}{}$
Definition at line 167 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::angpp_m, BLAS::cone, BLAS::czero, qmcplusplus::dot(), NonLocalECPComponent::knot_pots, NonLocalECPComponent::Lfactor1, NonLocalECPComponent::Lfactor2, NonLocalECPComponent::lmax, NonLocalECPComponent::lpol, NonLocalECPComponent::nchannel, NonLocalECPComponent::nknot, NonLocalECPComponent::nlpp_m, NonLocalECPComponent::psiratio, NonLocalECPComponent::rrotsgrid_m, NonLocalECPComponent::sgridweight_m, NonLocalECPComponent::vrad, and NonLocalECPComponent::wgt_angpp_m.
Referenced by NonLocalECPComponent::evaluateOne(), and NonLocalECPComponent::mw_evaluateOne().
void contributeTxy | ( | int | iel, |
std::vector< NonLocalData > & | Txy | ||
) | const |
contribute local non-local move data
iel | reference electron id. |
Txy | nonlocal move data. |
Definition at line 913 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::deltaV, NonLocalECPComponent::knot_pots, and NonLocalECPComponent::nknot.
void deleteVirtualParticle | ( | ) |
Definition at line 59 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::VP.
Referenced by qmcplusplus::TEST_CASE().
NonLocalECPComponent::RealType evaluateOne | ( | ParticleSet & | W, |
int | iat, | ||
TrialWaveFunction & | Psi, | ||
int | iel, | ||
RealType | r, | ||
const PosType & | dr, | ||
bool | use_DLA | ||
) |
Evaluate the nonlocal pp contribution via randomized quadrature grid to total energy from ion "iat" and electron "iel".
W | electron particle set. |
iat | index of ion. |
Psi | trial wave function object |
iel | index of electron |
r | the distance between ion iat and electron iel. |
dr | displacement from ion iat to electron iel. |
use_DLA | if ture, use determinant localization approximation (DLA). |
Definition at line 130 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::buildQuadraturePointDeltaPositions(), TrialWaveFunction::calcRatio(), NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::deltaV, TrialWaveFunction::evaluateRatios(), TrialWaveFunction::FERMIONIC, ParticleSet::makeMove(), VirtualParticleSet::makeMoves(), NonLocalECPComponent::nknot, NonLocalECPComponent::psiratio, ParticleSet::rejectMove(), TrialWaveFunction::resetPhaseDiff(), and NonLocalECPComponent::VP.
Referenced by qmcplusplus::TEST_CASE().
void evaluateOneBodyOpMatrixContribution | ( | ParticleSet & | P, |
const int | iat, | ||
const TWFFastDerivWrapper & | psi, | ||
const int | iel, | ||
const RealType | r, | ||
const PosType & | dr, | ||
std::vector< ValueMatrix > & | B | ||
) |
Evaluate contribution to B of election iel and ion iat.
Filippi scheme for computing fast derivatives. Sum over ions and electrons occurs at the NonLocalECPotential level.
[in] | P,target | particle set (electrons) |
[in] | iat,ion | ID |
[in] | psi,Trial | Wavefunction wrapper for fast derivatives. |
[in] | iel,electron | ID |
[in] | r,distance | between iat and iel. |
[in] | dr,displacement | vector between iat and iel. |
[in,out] | B. | Adds the contribution of iel and iat to the B matrix. Dimensions: [group][particle][orb] |
Definition at line 604 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::angpp_m, B(), NonLocalECPComponent::buildQuadraturePointDeltaPositions(), BLAS::cone, BLAS::czero, NonLocalECPComponent::deltaV, qmcplusplus::dot(), TWFFastDerivWrapper::evaluateJastrowRatio(), ParticleSet::first(), ParticleSet::getGroupID(), TWFFastDerivWrapper::getRowM(), TWFFastDerivWrapper::getTWFGroupIndex(), NonLocalECPComponent::Lfactor1, NonLocalECPComponent::Lfactor2, NonLocalECPComponent::lmax, NonLocalECPComponent::lpol, ParticleSet::makeMove(), NonLocalECPComponent::nchannel, NonLocalECPComponent::nknot, NonLocalECPComponent::nlpp_m, TWFFastDerivWrapper::numOrbitals(), ParticleSet::rejectMove(), NonLocalECPComponent::rrotsgrid_m, NonLocalECPComponent::sgridweight_m, NonLocalECPComponent::vrad, and NonLocalECPComponent::wgt_angpp_m.
void evaluateOneBodyOpMatrixdRContribution | ( | ParticleSet & | P, |
ParticleSet & | source, | ||
const int | iat, | ||
const int | iat_src, | ||
const TWFFastDerivWrapper & | psi, | ||
const int | iel, | ||
const RealType | r, | ||
const PosType & | dr, | ||
std::vector< std::vector< ValueMatrix >> & | dB | ||
) |
Evaluate contribution to dB/dR of election iel and ion iat.
Filippi scheme for computing fast derivatives. Sum over ions and electrons occurs at the NonLocalECPotential level.
[in] | P,target | particle set (electrons) |
[in] | source,ion | particle set |
[in] | iat,ion | ID |
[in] | iat_src,this | is the ion ID w.r.t. which the ion derivatives are taken. NOT ALWAYS EQUAL TO IAT |
[in] | psi,Trial | Wavefunction wrapper for fast derivatives. |
[in] | iel,electron | ID |
[in] | r,distance | between iat and iel. |
[in] | dr,displacement | vector between iat and iel. |
[in,out] | dB. | Adds the contribution of iel and iat to the dB/dR_iat_src matrix. Dimension [xyz_component][group][particle][orb] |
Definition at line 665 of file NonLocalECPComponent.cpp.
References qmcplusplus::abs(), ParticleSet::acceptMove(), NonLocalECPComponent::angpp_m, NonLocalECPComponent::buildQuadraturePointDeltaPositions(), TWFFastDerivWrapper::calcJastrowRatioGrad(), BLAS::cone, NonLocalECPComponent::cosgrad, BLAS::czero, NonLocalECPComponent::deltaV, NonLocalECPComponent::dlpol, qmcplusplus::dot(), NonLocalECPComponent::dvrad, TWFFastDerivWrapper::evaluateJastrowGradSource(), ParticleSet::first(), ParticleSet::getGroupID(), TWFFastDerivWrapper::getSPOSet(), TWFFastDerivWrapper::getTWFGroupIndex(), ParticleSet::last(), NonLocalECPComponent::Lfactor1, NonLocalECPComponent::Lfactor2, NonLocalECPComponent::lmax, NonLocalECPComponent::lpol, ParticleSet::makeMove(), NonLocalECPComponent::nchannel, NonLocalECPComponent::nknot, NonLocalECPComponent::nlpp_m, TWFFastDerivWrapper::numOrbitals(), OHMMS_DIM, ParticleSet::rejectMove(), NonLocalECPComponent::rrotsgrid_m, NonLocalECPComponent::sgridweight_m, qmcplusplus::sqrt(), NonLocalECPComponent::vgrad, NonLocalECPComponent::vrad, and NonLocalECPComponent::wgt_angpp_m.
NonLocalECPComponent::RealType evaluateOneWithForces | ( | ParticleSet & | W, |
int | iat, | ||
TrialWaveFunction & | Psi, | ||
int | iel, | ||
RealType | r, | ||
const PosType & | dr, | ||
PosType & | force_iat | ||
) |
Evaluate the nonlocal pp contribution via randomized quadrature grid to total energy from ion "iat" and electron "iel".
W | electron particle set. |
iat | index of ion. |
Psi | trial wave function object |
iel | index of electron |
r | the distance between ion iat and electron iel. |
dr | displacement from ion iat to electron iel. |
force_iat | 3d vector for Hellman-Feynman contribution. This gets modified. |
Definition at line 282 of file NonLocalECPComponent.cpp.
References qmcplusplus::abs(), NonLocalECPComponent::angpp_m, APP_ABORT, TrialWaveFunction::calcRatioGrad(), BLAS::cone, qmcplusplus::convertToReal(), NonLocalECPComponent::cosgrad, BLAS::czero, NonLocalECPComponent::deltaV, NonLocalECPComponent::dlpol, qmcplusplus::dot(), NonLocalECPComponent::dvrad, TrialWaveFunction::evaluateRatios(), NonLocalECPComponent::gradpsiratio, NonLocalECPComponent::knot_pots, NonLocalECPComponent::Lfactor1, NonLocalECPComponent::Lfactor2, NonLocalECPComponent::lmax, NonLocalECPComponent::lpol, ParticleSet::makeMove(), VirtualParticleSet::makeMoves(), NonLocalECPComponent::nchannel, NonLocalECPComponent::nknot, NonLocalECPComponent::nlpp_m, NonLocalECPComponent::psiratio, ParticleSet::rejectMove(), TrialWaveFunction::resetPhaseDiff(), NonLocalECPComponent::rrotsgrid_m, NonLocalECPComponent::sgridweight_m, qmcplusplus::sqrt(), NonLocalECPComponent::vgrad, NonLocalECPComponent::VP, NonLocalECPComponent::vrad, NonLocalECPComponent::wfngrad, and NonLocalECPComponent::wgt_angpp_m.
Referenced by qmcplusplus::TEST_CASE().
NonLocalECPComponent::RealType evaluateOneWithForces | ( | ParticleSet & | W, |
ParticleSet & | ions, | ||
int | iat, | ||
TrialWaveFunction & | Psi, | ||
int | iel, | ||
RealType | r, | ||
const PosType & | dr, | ||
PosType & | force_iat, | ||
ParticleSet::ParticlePos & | pulay_terms | ||
) |
Evaluate the nonlocal pp energy, Hellman-Feynman force, and "Pulay" force contribution via randomized quadrature grid from ion "iat" and electron "iel".
W | electron particle set. |
ions | ion particle set. |
iat | index of ion. |
Psi | trial wave function object |
iel | index of electron |
r | the distance between ion iat and electron iel. |
dr | displacement from ion iat to electron iel. |
force_iat | 3d vector for Hellman-Feynman contribution. This gets modified. |
pulay_terms | Nion x 3 object, holding a contribution for each ionic gradient from . |
Definition at line 416 of file NonLocalECPComponent.cpp.
References qmcplusplus::abs(), ParticleSet::acceptMove(), TrialWaveFunction::acceptMove(), NonLocalECPComponent::angpp_m, APP_ABORT, TrialWaveFunction::calcRatio(), TrialWaveFunction::calcRatioGrad(), BLAS::cone, qmcplusplus::convertToReal(), NonLocalECPComponent::cosgrad, BLAS::czero, NonLocalECPComponent::deltaV, NonLocalECPComponent::dlpol, qmcplusplus::dot(), NonLocalECPComponent::dvrad, TrialWaveFunction::evalGradSource(), TrialWaveFunction::evaluateRatios(), ParticleSet::getTotalNum(), NonLocalECPComponent::gradpsiratio, NonLocalECPComponent::knot_pots, NonLocalECPComponent::Lfactor1, NonLocalECPComponent::Lfactor2, NonLocalECPComponent::lmax, NonLocalECPComponent::lpol, ParticleSet::makeMove(), VirtualParticleSet::makeMoves(), NonLocalECPComponent::nchannel, NonLocalECPComponent::nknot, NonLocalECPComponent::nlpp_m, NonLocalECPComponent::psiratio, ParticleSet::rejectMove(), TrialWaveFunction::resetPhaseDiff(), Vector< T, Alloc >::resize(), NonLocalECPComponent::rrotsgrid_m, NonLocalECPComponent::sgridweight_m, qmcplusplus::sqrt(), NonLocalECPComponent::vgrad, NonLocalECPComponent::VP, NonLocalECPComponent::vrad, NonLocalECPComponent::wfngrad, and NonLocalECPComponent::wgt_angpp_m.
NonLocalECPComponent::RealType evaluateValueAndDerivatives | ( | ParticleSet & | W, |
int | iat, | ||
TrialWaveFunction & | psi, | ||
int | iel, | ||
RealType | r, | ||
const PosType & | dr, | ||
const opt_variables_type & | optvars, | ||
const Vector< ValueType > & | dlogpsi, | ||
Vector< ValueType > & | dhpsioverpsi | ||
) |
evaluate the non-local potential of the iat-th ionic center
W | electron configuration |
iat | ionic index |
psi | trial wavefunction |
optvars | optimizables |
dlogpsi | derivatives of the wavefunction at W.R |
hdpsioverpsi | derivatives of Vpp |
return | the non-local component |
This is a temporary solution which uses TrialWaveFunction::evaluateDerivatives assuming that the distance tables are fully updated for each ratio computation.
Definition at line 61 of file NonLocalECPotential.deriv.cpp.
References ParticleSet::acceptMove(), TrialWaveFunction::acceptMove(), NonLocalECPComponent::angpp_m, Vector< T, Alloc >::begin(), TrialWaveFunction::calcRatio(), Matrix< T, Alloc >::data(), Vector< T, Alloc >::data(), NonLocalECPComponent::deltaV, NonLocalECPComponent::dlogpsi_vp, qmcplusplus::dot(), NonLocalECPComponent::dratio, Vector< T, Alloc >::end(), TrialWaveFunction::evaluateDerivativesWF(), TrialWaveFunction::evaluateDerivRatios(), BLAS::gemv(), NonLocalECPComponent::Lfactor1, NonLocalECPComponent::Lfactor2, NonLocalECPComponent::lmax, NonLocalECPComponent::lpol, ParticleSet::makeMove(), VirtualParticleSet::makeMoves(), NonLocalECPComponent::nchannel, NonLocalECPComponent::nknot, NonLocalECPComponent::nlpp_m, VariableSet::num_active_vars, NonLocalECPComponent::psiratio, ParticleSet::R, Matrix< T, Alloc >::resize(), Vector< T, Alloc >::resize(), NonLocalECPComponent::rrotsgrid_m, NonLocalECPComponent::sgridweight_m, Vector< T, Alloc >::size(), NonLocalECPComponent::VP, NonLocalECPComponent::vrad, NonLocalECPComponent::wgt_angpp_m, and NonLocalECPComponent::wvec.
Referenced by qmcplusplus::TEST_CASE().
|
inline |
Definition at line 313 of file NonLocalECPComponent.h.
References NonLocalECPComponent::lmax.
|
inline |
Definition at line 311 of file NonLocalECPComponent.h.
References NonLocalECPComponent::nknot.
Referenced by NonLocalECPComponent::mw_evaluateOne().
|
inline |
Definition at line 310 of file NonLocalECPComponent.h.
References NonLocalECPComponent::Rmax.
Referenced by qmcplusplus::TEST_CASE().
|
inline |
Definition at line 314 of file NonLocalECPComponent.h.
References NonLocalECPComponent::VP.
void initVirtualParticle | ( | const ParticleSet & | qp | ) |
Definition at line 51 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::nknot, outputManager, OutputManagerClass::pause(), OutputManagerClass::resume(), and NonLocalECPComponent::VP.
Referenced by qmcplusplus::TEST_CASE().
|
static |
Evaluate the nonlocal pp contribution via randomized quadrature grid to total energy from ion "iat" and electron "iel" for a batch of walkers.
ecp_component_list | a list of ECP components |
p_list | a list of electron particle set. |
psi_list | a list of trial wave function object |
joblist | a list of ion-electron pairs |
pairpots | a list of contribution to ${V}{}$ from ion iat and electron iel. |
use_DLA | if ture, use determinant localization approximation (DLA). |
Note: ecp_component_list allows including different NLPP component for different walkers. electrons in iel_list must be of the same group (spin)
Definition at line 204 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::buildQuadraturePointDeltaPositions(), TrialWaveFunction::calcRatio(), NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::deltaV, NLPPJob< T >::electron_id, TrialWaveFunction::FERMIONIC, RefVectorWithLeader< T >::getLeader(), NonLocalECPComponent::getNknot(), NLPPJob< T >::ion_elec_displ, NLPPJob< T >::ion_elec_dist, ParticleSet::makeMove(), TrialWaveFunction::mw_evaluateRatios(), VirtualParticleSet::mw_makeMoves(), NonLocalECPComponent::psiratio, ParticleSet::rejectMove(), TrialWaveFunction::resetPhaseDiff(), and NonLocalECPComponent::VP.
Referenced by NonLocalECPotential::mw_evaluateImpl().
void print | ( | std::ostream & | os | ) |
Definition at line 114 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::angpp_m, HIGH, OutputManagerClass::isActive(), NonLocalECPComponent::lmax, NonLocalECPComponent::nchannel, NonLocalECPComponent::nknot, outputManager, NonLocalECPComponent::Rmax, NonLocalECPComponent::sgridweight_m, and NonLocalECPComponent::sgridxyz_m.
void resize_warrays | ( | int | n, |
int | m, | ||
int | l | ||
) |
Definition at line 73 of file NonLocalECPComponent.cpp.
References APP_ABORT, NonLocalECPComponent::cosgrad, NonLocalECPComponent::deltaV, NonLocalECPComponent::dlpol, NonLocalECPComponent::dvrad, NonLocalECPComponent::gradpsiratio, NonLocalECPComponent::knot_pots, NonLocalECPComponent::Lfactor1, NonLocalECPComponent::Lfactor2, NonLocalECPComponent::lmax, NonLocalECPComponent::lpol, qmcplusplus::Units::distance::m, qmcplusplus::n, NonLocalECPComponent::nchannel, NonLocalECPComponent::nknot, NonLocalECPComponent::nlpp_m, NonLocalECPComponent::psiratio, NonLocalECPComponent::rrotsgrid_m, NonLocalECPComponent::sgridxyz_m, NonLocalECPComponent::vgrad, NonLocalECPComponent::vrad, NonLocalECPComponent::wfngrad, and NonLocalECPComponent::wvec.
void rotateQuadratureGrid | ( | const TensorType & | rmat | ) |
Randomly rotate sgrid_m.
Definition at line 875 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::do_randomize_grid_, qmcplusplus::dot(), NonLocalECPComponent::rrotsgrid_m, and NonLocalECPComponent::sgridxyz_m.
void rotateQuadratureGrid | ( | std::vector< T > & | sphere, |
const TensorType & | rmat | ||
) |
Definition at line 885 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::do_randomize_grid_, qmcplusplus::dot(), OHMMS_DIM, NonLocalECPComponent::rrotsgrid_m, and NonLocalECPComponent::sgridxyz_m.
void set_randomize_grid | ( | bool | do_randomize_grid_ | ) |
Definition at line 46 of file NonLocalECPComponent.cpp.
References NonLocalECPComponent::do_randomize_grid_.
|
inline |
Definition at line 312 of file NonLocalECPComponent.h.
References NonLocalECPComponent::lmax.
|
inline |
Definition at line 309 of file NonLocalECPComponent.h.
References NonLocalECPComponent::Rmax.
|
friend |
Definition at line 153 of file test_ecp.cpp.
|
friend |
Definition at line 319 of file NonLocalECPComponent.h.
|
friend |
Definition at line 321 of file NonLocalECPComponent.h.
|
friend |
Definition at line 324 of file NonLocalECPComponent.h.
|
private |
Angular momentum map.
Definition at line 59 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::add(), NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), and NonLocalECPComponent::print().
|
private |
Definition at line 95 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), and NonLocalECPComponent::resize_warrays().
|
private |
Definition at line 78 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::buildQuadraturePointDeltaPositions(), NonLocalECPComponent::contributeTxy(), NonLocalECPComponent::evaluateOne(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), NonLocalECPComponent::mw_evaluateOne(), and NonLocalECPComponent::resize_warrays().
|
private |
Definition at line 107 of file NonLocalECPComponent.h.
|
private |
Definition at line 108 of file NonLocalECPComponent.h.
Definition at line 103 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::evaluateValueAndDerivatives().
|
private |
Definition at line 82 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), and NonLocalECPComponent::resize_warrays().
|
private |
Can disable grid randomization for testing.
Definition at line 125 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::rotateQuadratureGrid(), and NonLocalECPComponent::set_randomize_grid().
scratch spaces used by evaluateValueAndDerivatives
Definition at line 102 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::evaluateValueAndDerivatives().
|
private |
Definition at line 86 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), and NonLocalECPComponent::resize_warrays().
|
private |
The gradient of the wave function w.r.t. the ion position.
Definition at line 112 of file NonLocalECPComponent.h.
First index is knot, second is electron.
Definition at line 110 of file NonLocalECPComponent.h.
|
private |
Definition at line 91 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::evaluateOneWithForces(), and NonLocalECPComponent::resize_warrays().
|
private |
Definition at line 99 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::contributeTxy(), NonLocalECPComponent::evaluateOneWithForces(), and NonLocalECPComponent::resize_warrays().
|
private |
Lfactor1[l]=(2*l+1)/(l+1)
Definition at line 63 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), and NonLocalECPComponent::resize_warrays().
|
private |
Lfactor1[l]=(l)/(l+1)
Definition at line 65 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), and NonLocalECPComponent::resize_warrays().
|
private |
Non Local part: angular momentum, potential and grid.
Definition at line 51 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), NonLocalECPComponent::getLmax(), NonLocalECPComponent::print(), NonLocalECPComponent::resize_warrays(), and NonLocalECPComponent::setLmax().
|
private |
Definition at line 80 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), and NonLocalECPComponent::resize_warrays().
|
private |
the number of non-local channels
Definition at line 53 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), NonLocalECPComponent::print(), and NonLocalECPComponent::resize_warrays().
|
private |
the number of nknot
Definition at line 55 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::buildQuadraturePointDeltaPositions(), NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::contributeTxy(), NonLocalECPComponent::evaluateOne(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), NonLocalECPComponent::getNknot(), NonLocalECPComponent::initVirtualParticle(), NonLocalECPComponent::NonLocalECPComponent(), NonLocalECPComponent::print(), and NonLocalECPComponent::resize_warrays().
|
private |
Non-Local part of the pseudo-potential.
Definition at line 67 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::add(), NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), NonLocalECPComponent::NonLocalECPComponent(), NonLocalECPComponent::resize_warrays(), and NonLocalECPComponent::~NonLocalECPComponent().
|
private |
Definition at line 88 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::evaluateOne(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), NonLocalECPComponent::mw_evaluateOne(), and NonLocalECPComponent::resize_warrays().
|
private |
Maximum cutoff the non-local pseudopotential.
Definition at line 57 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::getRmax(), NonLocalECPComponent::print(), and NonLocalECPComponent::setRmax().
|
private |
randomized spherical grid
Definition at line 71 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::buildQuadraturePointDeltaPositions(), NonLocalECPComponent::calculateProjector(), qmcplusplus::copyGridUnrotatedForTest(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), NonLocalECPComponent::resize_warrays(), and NonLocalECPComponent::rotateQuadratureGrid().
|
private |
weight of the spherical grid
Definition at line 73 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::addknot(), NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), and NonLocalECPComponent::print().
|
private |
fixed Spherical Grid for species
Definition at line 69 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::addknot(), qmcplusplus::copyGridUnrotatedForTest(), NonLocalECPComponent::print(), NonLocalECPComponent::resize_warrays(), and NonLocalECPComponent::rotateQuadratureGrid().
|
private |
Definition at line 93 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), and NonLocalECPComponent::resize_warrays().
|
private |
virtual particle set: delayed initialization
Definition at line 115 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::deleteVirtualParticle(), NonLocalECPComponent::evaluateOne(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), NonLocalECPComponent::getVP(), NonLocalECPComponent::initVirtualParticle(), NonLocalECPComponent::mw_evaluateOne(), NonLocalECPComponent::NonLocalECPComponent(), and NonLocalECPComponent::~NonLocalECPComponent().
|
private |
Definition at line 84 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), NonLocalECPComponent::evaluateValueAndDerivatives(), and NonLocalECPComponent::resize_warrays().
|
private |
Definition at line 106 of file NonLocalECPComponent.h.
|
private |
Definition at line 97 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::evaluateOneWithForces(), and NonLocalECPComponent::resize_warrays().
|
private |
Weight of the angular momentum.
Definition at line 61 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::add(), NonLocalECPComponent::calculateProjector(), NonLocalECPComponent::evaluateOneBodyOpMatrixContribution(), NonLocalECPComponent::evaluateOneBodyOpMatrixdRContribution(), NonLocalECPComponent::evaluateOneWithForces(), and NonLocalECPComponent::evaluateValueAndDerivatives().
|
private |
Working arrays.
Definition at line 75 of file NonLocalECPComponent.h.
Referenced by NonLocalECPComponent::evaluateValueAndDerivatives(), and NonLocalECPComponent::resize_warrays().