15 #ifndef QMCPLUSPLUS_LPQHIBASIS_H 16 #define QMCPLUSPLUS_LPQHIBASIS_H 37 std::vector<mRealType>
tvec;
71 int alpha =
n - 3 * i;
82 return Mfactor[alpha] * (Sa[0] + x * (Sa[1] + x * (Sa[2] + x * (Sa[3] + x * (Sa[4] + x * Sa[5])))));
87 return Sa[0] + x * (Sa[1] + x * (Sa[2] + x * (Sa[3] + x * (Sa[4] + x * Sa[5]))));
94 int alpha =
n - 3 * i;
100 if (r < ra || r > rc)
105 return -
deltainv *
Mfactor[alpha] * (Sa[1] + x * (2 * Sa[2] + x * (3 * Sa[3] + x * (4 * Sa[4] + x * 5 * Sa[5]))));
110 return deltainv * (Sa[1] + x * (2 * Sa[2] + x * (3 * Sa[3] + x * (4 * Sa[4] + x * 5 * Sa[5]))));
166 for (
int i = 0; i < 5; i++)
168 for (
int j = 0; j < 3; j++)
170 S1(j, i) =
static_cast<double>(i + 1.0) *
S(j, i + 1);
a class that defines a supercell in D-dimensional Euclean space.
mRealType Dminus(int i, mRealType k, int n) const
mRealType hintr2(int n) const override
helper functions for EinsplineSetBuilder
mRealType dh_dr(int n, mRealType r) const override
EwaldHandler3D::mRealType mRealType
void resize(size_type n, size_type m)
Resize the container.
mRealType get_delta() const
mRealType h(int n, mRealType r) const override
A derivative of LRBasis class to provide the functionality of the LPQHI basis.
void set_rc(mRealType rc) override
Base-class for long-range breakups.
LPQHIBasis(const LPQHIBasis &b, const ParticleLayout &ref)
std::complex< mRealType > Eplus(int i, mRealType k, int n) const
mRealType m_rc
Real-space cutoff for short-range part.
std::vector< mRealType > tvec
mRealType c(int n, mRealType k) const override
DECLARE_COULOMB_TYPES int BasisSize
size of the basis elements
LPQHIBasis(const ParticleLayout &ref)
std::complex< mRealType > Eminus(int i, mRealType k, int n) const
mRealType Dplus(int i, mRealType k, int n) const