![]() |
QMCPACK
|
Public Types | |
using | ParticleLayout = ParticleSet::ParticleLayout |
using | BreakupBasisType = BreakupBasis |
Public Member Functions | |
LRRPABFeeHandlerTemp (ParticleSet &ref, mRealType kc_in=-1.0) | |
LRRPABFeeHandlerTemp (const LRRPABFeeHandlerTemp &aLR, ParticleSet &ref) | |
"copy" constructor More... | |
LRHandlerBase * | makeClone (ParticleSet &ref) const override |
make clone More... | |
void | initBreakup (ParticleSet &ref) override |
void | Breakup (ParticleSet &ref, mRealType rs_ext) override |
void | resetTargetParticleSet (ParticleSet &ref) override |
void | resetTargetParticleSet (ParticleSet &ref, mRealType rs) |
mRealType | evaluate (mRealType r, mRealType rinv) const override |
mRealType | srDf (mRealType r, mRealType rinv) const override |
evaluate the first derivative of the short range part at r More... | |
mRealType | evaluateLR (mRealType r) const override |
evaluate the contribution from the long-range part for for spline More... | |
mRealType | evaluate_vlr_k (mRealType k) const override |
![]() | |
LRHandlerBase (mRealType kc) | |
virtual | ~LRHandlerBase ()=default |
mRealType | get_rc () const |
mRealType | get_kc () const |
mRealType | evaluate_w_sk (const std::vector< int > &kshell, const pRealType *restrict sk) const |
mRealType | evaluate (const std::vector< int > &kshell, const pRealType *restrict rk1_r, const pRealType *restrict rk1_i, const pRealType *restrict rk2_r, const pRealType *restrict rk2_i) const |
evaluate ![]() | |
virtual mRealType | evaluate_slab (pRealType z, const std::vector< int > &kshell, const pRealType *restrict rk1_r, const pRealType *restrict rk1_i, const pRealType *restrict rk2_r, const pRealType *restrict rk2_i) const |
Evaluate the long-range potential with the open BC for the D-1 direction. More... | |
void | evaluateGrad (const ParticleSet &A, const ParticleSet &B, int specB, std::vector< pRealType > &Zat, std::vector< TinyVector< pRealType, OHMMS_DIM >> &grad1) const |
evaluate ![]() ![]() | |
SymTensor< pRealType, OHMMS_DIM > | evaluateStress (const std::vector< int > &kshell, const pRealType *rhokA_r, const pRealType *rhokA_i, const pRealType *rhokB_r, const pRealType *rhokB_i) const |
FIX_PRECISION. More... | |
virtual mRealType | evaluateSR_k0 () const |
evaluate ![]() | |
virtual mRealType | evaluateLR_r0 () const |
evaluate ![]() | |
virtual SymTensor< mRealType, OHMMS_DIM > | evaluateLR_r0_dstrain () const |
These functions return the strain derivatives of all corresponding quantities in total energy. More... | |
virtual SymTensor< mRealType, OHMMS_DIM > | evaluateSR_k0_dstrain () const |
virtual SymTensor< mRealType, OHMMS_DIM > | evaluateLR_dstrain (TinyVector< pRealType, OHMMS_DIM > k, pRealType kmag) const |
virtual SymTensor< mRealType, OHMMS_DIM > | evaluateSR_dstrain (TinyVector< pRealType, OHMMS_DIM > r, pRealType rmag) const |
virtual mRealType | lrDf (mRealType r) const |
Public Attributes | |
bool | FirstTime |
mRealType | rs |
mRealType | kc |
BreakupBasisType | Basis |
Func | myFunc |
![]() | |
DECLARE_COULOMB_TYPES int | MaxKshell |
Maxkimum Kshell for the given Kc. More... | |
mRealType | LR_kc |
Maximum k cutoff. More... | |
mRealType | LR_rc |
Maximum r cutoff. More... | |
Vector< mRealType > | Fk |
Fourier component for all the k-point. More... | |
Vector< mRealType > | Fkg |
Fourier component of the LR part, fit to optimize the gradients. More... | |
std::vector< SymTensor< mRealType, OHMMS_DIM > > | dFk_dstrain |
Fourier component of the LR part of strain tensor, by optimized breakup. More... | |
Vector< mRealType > | Fkgstrain |
Vector of df_k/dk, fit as to optimize strains. More... | |
Vector< mRealType > | Fk_symm |
Fourier component for each k-shell. More... | |
std::vector< mRealType > | coefs |
Fourier component for each k-shell Coefficient. More... | |
std::vector< mRealType > | gcoefs |
Coefficient for gradient fit. More... | |
std::vector< mRealType > | gstraincoefs |
Coefficient for strain fit. More... | |
Private Member Functions | |
mRealType | evalFk (mRealType k) const |
mRealType | evalXk (mRealType k) const |
void | InitBreakup (const ParticleLayout &ref, int NumFunctions) |
Initialise the basis and coefficients for the long-range beakup. More... | |
void | fillXk (std::vector< TinyVector< mRealType, 2 >> &KList) |
void | fillFk (const KContainer &KList) |
Additional Inherited Members | |
![]() | |
std::string | ClassName |
Definition at line 36 of file LRRPABFeeHandlerTemp.h.
using BreakupBasisType = BreakupBasis |
Definition at line 42 of file LRRPABFeeHandlerTemp.h.
Definition at line 41 of file LRRPABFeeHandlerTemp.h.
|
inline |
Definition at line 51 of file LRRPABFeeHandlerTemp.h.
References LRHandlerBase::ClassName, and LRRPABFeeHandlerTemp< Func, BreakupBasis >::myFunc.
|
inline |
"copy" constructor
aLR | LRHandlerTemp |
ref | Particleset |
Copy the content of aLR References to ParticleSet or ParticleLayoutout_t are not copied.
Definition at line 70 of file LRRPABFeeHandlerTemp.h.
References LRRPABFeeHandlerTemp< Func, BreakupBasis >::fillFk(), ParticleSet::getSimulationCell(), and LRRPABFeeHandlerTemp< Func, BreakupBasis >::myFunc.
|
inlineoverridevirtual |
Implements LRHandlerBase.
Definition at line 89 of file LRRPABFeeHandlerTemp.h.
References LRRPABFeeHandlerTemp< Func, BreakupBasis >::Basis, LRRPABFeeHandlerTemp< Func, BreakupBasis >::fillFk(), ParticleSet::getLattice(), ParticleSet::getSimulationCell(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::InitBreakup(), LRHandlerBase::LR_rc, LRRPABFeeHandlerTemp< Func, BreakupBasis >::myFunc, and LRRPABFeeHandlerTemp< Func, BreakupBasis >::rs.
Definition at line 138 of file LRRPABFeeHandlerTemp.h.
References LRRPABFeeHandlerTemp< Func, BreakupBasis >::Basis, LRHandlerBase::coefs, LRRPABFeeHandlerTemp< Func, BreakupBasis >::myFunc, and qmcplusplus::n.
Referenced by LRRPABFeeHandlerTemp< Func, BreakupBasis >::evaluate_vlr_k(), and LRRPABFeeHandlerTemp< Func, BreakupBasis >::fillFk().
Implements LRHandlerBase.
Definition at line 103 of file LRRPABFeeHandlerTemp.h.
References LRRPABFeeHandlerTemp< Func, BreakupBasis >::Basis, LRHandlerBase::coefs, and qmcplusplus::n.
Implements LRHandlerBase.
Definition at line 135 of file LRRPABFeeHandlerTemp.h.
References LRRPABFeeHandlerTemp< Func, BreakupBasis >::evalFk().
evaluate the contribution from the long-range part for for spline
Implements LRHandlerBase.
Definition at line 128 of file LRRPABFeeHandlerTemp.h.
Definition at line 147 of file LRRPABFeeHandlerTemp.h.
References LRRPABFeeHandlerTemp< Func, BreakupBasis >::Basis, and LRRPABFeeHandlerTemp< Func, BreakupBasis >::myFunc.
Referenced by LRRPABFeeHandlerTemp< Func, BreakupBasis >::fillXk().
|
inlineprivate |
Definition at line 215 of file LRRPABFeeHandlerTemp.h.
References LRRPABFeeHandlerTemp< Func, BreakupBasis >::evalFk(), LRHandlerBase::Fk, LRHandlerBase::Fk_symm, KContainer::kpts_cart, KContainer::kshell, KContainer::ksq, LRHandlerBase::MaxKshell, qmcplusplus::pow(), Vector< T, Alloc >::resize(), and Vector< T, Alloc >::size().
Referenced by LRRPABFeeHandlerTemp< Func, BreakupBasis >::Breakup(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::initBreakup(), and LRRPABFeeHandlerTemp< Func, BreakupBasis >::LRRPABFeeHandlerTemp().
|
inlineprivate |
Definition at line 205 of file LRRPABFeeHandlerTemp.h.
References LRRPABFeeHandlerTemp< Func, BreakupBasis >::evalXk(), LRHandlerBase::Fk, and Vector< T, Alloc >::resize().
Referenced by LRRPABFeeHandlerTemp< Func, BreakupBasis >::InitBreakup().
|
inlineoverridevirtual |
Implements LRHandlerBase.
Definition at line 82 of file LRRPABFeeHandlerTemp.h.
References LRRPABFeeHandlerTemp< Func, BreakupBasis >::Basis, LRRPABFeeHandlerTemp< Func, BreakupBasis >::fillFk(), ParticleSet::getLattice(), ParticleSet::getSimulationCell(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::InitBreakup(), and LRHandlerBase::LR_rc.
|
inlineprivate |
Initialise the basis and coefficients for the long-range beakup.
We loocally create a breakup handler and pass in the basis that has been initialised here. We then discard the handler, leaving basis and coefs in a usable state. This method can be re-called later if lattice changes shape.
Definition at line 162 of file LRRPABFeeHandlerTemp.h.
References qmcplusplus::app_log(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::Basis, LRHandlerBase::coefs, Vector< T, Alloc >::data(), LRBreakup< BreakupBasis >::DoBreakup(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::fillXk(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::FirstTime, LRHandlerBase::Fk, LRRPABFeeHandlerTemp< Func, BreakupBasis >::kc, LRBreakup< BreakupBasis >::KList, LRHandlerBase::LR_kc, LRHandlerBase::MaxKshell, qmcplusplus::pow(), and LRBreakup< BreakupBasis >::SetupKVecs().
Referenced by LRRPABFeeHandlerTemp< Func, BreakupBasis >::Breakup(), and LRRPABFeeHandlerTemp< Func, BreakupBasis >::initBreakup().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements LRHandlerBase.
Definition at line 99 of file LRRPABFeeHandlerTemp.h.
References LRRPABFeeHandlerTemp< Func, BreakupBasis >::myFunc.
|
inline |
Definition at line 101 of file LRRPABFeeHandlerTemp.h.
References LRRPABFeeHandlerTemp< Func, BreakupBasis >::myFunc, and LRRPABFeeHandlerTemp< Func, BreakupBasis >::rs.
evaluate the first derivative of the short range part at r
r | radius |
rinv | 1/r |
Implements LRHandlerBase.
Definition at line 116 of file LRRPABFeeHandlerTemp.h.
References LRRPABFeeHandlerTemp< Func, BreakupBasis >::Basis, LRHandlerBase::coefs, and qmcplusplus::n.
BreakupBasisType Basis |
Definition at line 47 of file LRRPABFeeHandlerTemp.h.
Referenced by LRRPABFeeHandlerTemp< Func, BreakupBasis >::Breakup(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::evalFk(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::evaluate(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::evalXk(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::initBreakup(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::InitBreakup(), and LRRPABFeeHandlerTemp< Func, BreakupBasis >::srDf().
bool FirstTime |
Definition at line 44 of file LRRPABFeeHandlerTemp.h.
Referenced by LRRPABFeeHandlerTemp< Func, BreakupBasis >::InitBreakup().
mRealType kc |
Definition at line 46 of file LRRPABFeeHandlerTemp.h.
Referenced by LRRPABFeeHandlerTemp< Func, BreakupBasis >::InitBreakup().
Func myFunc |
Definition at line 48 of file LRRPABFeeHandlerTemp.h.
Referenced by LRRPABFeeHandlerTemp< Func, BreakupBasis >::Breakup(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::evalFk(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::evalXk(), LRRPABFeeHandlerTemp< Func, BreakupBasis >::LRRPABFeeHandlerTemp(), and LRRPABFeeHandlerTemp< Func, BreakupBasis >::resetTargetParticleSet().
mRealType rs |
Definition at line 45 of file LRRPABFeeHandlerTemp.h.
Referenced by LRRPABFeeHandlerTemp< Func, BreakupBasis >::Breakup(), and LRRPABFeeHandlerTemp< Func, BreakupBasis >::resetTargetParticleSet().