16 #ifndef QMCPLUSPLUS_LRBASIS_H 17 #define QMCPLUSPLUS_LRBASIS_H 90 for (
int n = 0;
n < coefs.size();
n++)
91 f += coefs[
n] *
h(
n, r);
108 for (
int n = 0;
n < coefs.size();
n++)
126 for (
int n = 0;
n < coefs.size();
n++)
127 fk += coefs[
n] *
c(
n, k);
143 for (
int n = 0;
n < coefs.size();
n++)
virtual ~LRBasis()=default
a class that defines a supercell in D-dimensional Euclean space.
virtual mRealType dc_dk(int m, mRealType k) const
LRBasis(const ParticleLayout &ref)
virtual mRealType hintr2(int n) const =0
helper functions for EinsplineSetBuilder
CrystalLattice< OHMMS_PRECISION, OHMMS_DIM > ParticleLayout
EwaldHandler3D::mRealType mRealType
mRealType df_dr(mRealType r, const std::vector< mRealType > &coefs) const
mRealType fk(mRealType k, const std::vector< mRealType > coefs) const
virtual mRealType dh_dr(int n, mRealType r) const
Scalar_t Volume
Physical properties of a supercell.
Base-class for long-range breakups.
#define DECLARE_COULOMB_TYPES
void set_Lattice(const ParticleLayout &ref)
virtual mRealType h(int n, mRealType r) const =0
mRealType m_rc
Real-space cutoff for short-range part.
virtual void set_rc(mRealType rc)=0
mRealType get_CellVolume() const
mRealType dfk_dk(mRealType k, const std::vector< mRealType > coefs) const
DECLARE_COULOMB_TYPES int BasisSize
size of the basis elements
mRealType df(int m, mRealType r) const
virtual mRealType c(int m, mRealType k) const =0
Define a serialized buffer to store anonymous data.
mRealType f(mRealType r, const std::vector< mRealType > &coefs) const
$f(r,{tn})$ returns the value of $ t_n*h_{ n}(r)$ r is radial position (scalar) std::vector<RealType>...
const ParticleLayout & get_Lattice() const