![]() |
QMCPACK
|
Public Member Functions | |
EwaldHandlerQuasi2D (ParticleSet &ref, mRealType kc_in=-1.0) | |
LRHandlerBase * | makeClone (ParticleSet &ref) const override |
make clone More... | |
mRealType | evaluate (mRealType r, mRealType rinv) const override |
mRealType | evaluateLR_r0 () const override |
evaluate ![]() | |
mRealType | evaluateLR (mRealType r) const override |
mRealType | evaluateSR_k0 () const override |
evaluate ![]() | |
void | fillFk (const KContainer &KList) |
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 override |
Evaluate the long-range potential with the open BC for the D-1 direction. More... | |
mRealType | srDf (mRealType r, mRealType rinv) const override |
mRealType | lrDf (mRealType r) const override |
virtual mRealType | evaluate_vlr_k (mRealType k) const override |
void | initBreakup (ParticleSet &ref) override |
void | Breakup (ParticleSet &ref, mRealType rs_in) override |
void | resetTargetParticleSet (ParticleSet &ref) 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 ![]() | |
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 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 |
Private Member Functions | |
mRealType | slabFunc (mRealType z, mRealType k) const |
mRealType | slabLogf (mRealType z, mRealType k) const |
mRealType | slab_vsr_k0 (mRealType z) const |
Private Attributes | |
mRealType | alpha |
mRealType | area |
std::vector< mRealType > | kmags |
store |k| More... | |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
std::string | ClassName |
Definition at line 24 of file EwaldHandlerQuasi2D.h.
EwaldHandlerQuasi2D | ( | ParticleSet & | ref, |
mRealType | kc_in = -1.0 |
||
) |
Definition at line 20 of file EwaldHandlerQuasi2D.cpp.
References EwaldHandlerQuasi2D::alpha, qmcplusplus::app_log(), EwaldHandlerQuasi2D::area, EwaldHandlerQuasi2D::fillFk(), ParticleSet::getLattice(), ParticleSet::getSimulationCell(), LRHandlerBase::LR_kc, LRHandlerBase::LR_rc, qmcplusplus::sqrt(), and qmcplusplus::SUPERCELL_SLAB.
Referenced by EwaldHandlerQuasi2D::makeClone().
|
inlineoverridevirtual |
Implements LRHandlerBase.
Definition at line 63 of file EwaldHandlerQuasi2D.h.
References EwaldHandlerQuasi2D::initBreakup().
Implements LRHandlerBase.
Definition at line 33 of file EwaldHandlerQuasi2D.h.
References EwaldHandlerQuasi2D::alpha.
|
overridevirtual |
Evaluate the long-range potential with the open BC for the D-1 direction.
Reimplemented from LRHandlerBase.
Definition at line 55 of file EwaldHandlerQuasi2D.cpp.
References qmcplusplus::abs(), EwaldHandlerQuasi2D::area, LRHandlerBase::Fk_symm, EwaldHandlerQuasi2D::kmags, LRHandlerBase::MaxKshell, EwaldHandlerQuasi2D::slab_vsr_k0(), and EwaldHandlerQuasi2D::slabFunc().
Implements LRHandlerBase.
Definition at line 58 of file EwaldHandlerQuasi2D.h.
Implements LRHandlerBase.
Definition at line 37 of file EwaldHandlerQuasi2D.h.
References EwaldHandlerQuasi2D::alpha.
|
inlineoverridevirtual |
evaluate for the self-interaction term
Reimplemented from LRHandlerBase.
Definition at line 34 of file EwaldHandlerQuasi2D.h.
References EwaldHandlerQuasi2D::alpha, and qmcplusplus::sqrt().
|
inlineoverridevirtual |
evaluate
Reimplemented from LRHandlerBase.
Definition at line 38 of file EwaldHandlerQuasi2D.h.
References EwaldHandlerQuasi2D::area, and EwaldHandlerQuasi2D::slab_vsr_k0().
void fillFk | ( | const KContainer & | KList | ) |
Definition at line 34 of file EwaldHandlerQuasi2D.cpp.
References EwaldHandlerQuasi2D::area, LRHandlerBase::Fk, LRHandlerBase::Fk_symm, EwaldHandlerQuasi2D::kmags, KContainer::kpts_cart, KContainer::kshell, KContainer::ksq, LRHandlerBase::MaxKshell, Vector< T, Alloc >::resize(), Vector< T, Alloc >::size(), and qmcplusplus::sqrt().
Referenced by EwaldHandlerQuasi2D::EwaldHandlerQuasi2D().
|
inlineoverridevirtual |
Implements LRHandlerBase.
Definition at line 62 of file EwaldHandlerQuasi2D.h.
Referenced by EwaldHandlerQuasi2D::Breakup().
Reimplemented from LRHandlerBase.
Definition at line 54 of file EwaldHandlerQuasi2D.h.
|
inlineoverridevirtual |
make clone
Implements LRHandlerBase.
Definition at line 30 of file EwaldHandlerQuasi2D.h.
References EwaldHandlerQuasi2D::EwaldHandlerQuasi2D().
|
inlineoverridevirtual |
|
private |
Definition at line 90 of file EwaldHandlerQuasi2D.cpp.
References EwaldHandlerQuasi2D::alpha, qmcplusplus::exp(), and qmcplusplus::sqrt().
Referenced by EwaldHandlerQuasi2D::evaluate_slab(), and EwaldHandlerQuasi2D::evaluateSR_k0().
Definition at line 74 of file EwaldHandlerQuasi2D.cpp.
References qmcplusplus::exp(), and EwaldHandlerQuasi2D::slabLogf().
Referenced by EwaldHandlerQuasi2D::evaluate_slab().
Definition at line 82 of file EwaldHandlerQuasi2D.cpp.
References EwaldHandlerQuasi2D::alpha, and qmcplusplus::log().
Referenced by EwaldHandlerQuasi2D::slabFunc().
Implements LRHandlerBase.
Definition at line 50 of file EwaldHandlerQuasi2D.h.
|
private |
Definition at line 67 of file EwaldHandlerQuasi2D.h.
Referenced by EwaldHandlerQuasi2D::evaluate(), EwaldHandlerQuasi2D::evaluateLR(), EwaldHandlerQuasi2D::evaluateLR_r0(), EwaldHandlerQuasi2D::EwaldHandlerQuasi2D(), EwaldHandlerQuasi2D::slab_vsr_k0(), and EwaldHandlerQuasi2D::slabLogf().
|
private |
Definition at line 68 of file EwaldHandlerQuasi2D.h.
Referenced by EwaldHandlerQuasi2D::evaluate_slab(), EwaldHandlerQuasi2D::evaluateSR_k0(), EwaldHandlerQuasi2D::EwaldHandlerQuasi2D(), and EwaldHandlerQuasi2D::fillFk().
|
private |
store |k|
Definition at line 70 of file EwaldHandlerQuasi2D.h.
Referenced by EwaldHandlerQuasi2D::evaluate_slab(), and EwaldHandlerQuasi2D::fillFk().