26 inline double operator()(
double r,
double rinv)
const {
return rinv; }
28 inline double Xk(
double k,
double rc)
const {
return -
norm / (k * k) *
std::cos(k * rc); }
29 inline double Fk(
double k,
double rc)
const {
return -
Xk(k, rc); }
31 inline double df(
double r)
const {
return 0; }
57 std::cout <<
"handler.MaxKshell is " << handler.
MaxKshell << std::endl;
58 CHECK( (std::is_same<OHMMS_PRECISION, OHMMS_PRECISION_FULL>::value ?
67 for (
int ir = 1; ir < nr; ir++)
75 CHECK(Approx(vsr) == 0.0);
77 CHECK(vsr + vlr == Approx(rinv));
a class that defines a supercell in D-dimensional Euclean space.
const auto & getLRBox() const
void reset()
Evaluate the reciprocal vectors, volume and metric tensor.
helper functions for EinsplineSetBuilder
mRealType LR_kc
Maximum k cutoff.
void initBreakup(ParticleSet &ref) override
DECLARE_COULOMB_TYPES int MaxKshell
Maxkimum Kshell for the given Kc.
TEST_CASE("complex_helper", "[type_traits]")
EwaldHandler3D::mRealType mRealType
double Fk(double k, double rc) const
double integrate_r2(double r) const
Declaration of CrystalLattice<T,D>
void reset(ParticleSet &ref)
TinyVector< SingleParticlePos, D > Rv
Real-space unit vectors.
double operator()(double r, double rinv) const
Specialized paritlce class for atomistic simulations.
double Xk(double k, double rc) const
double df(double r) const
MakeReturn< UnaryNode< FnCos, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t cos(const Vector< T1, C1 > &l)
Scalar_t Volume
Physical properties of a supercell.
TinyVector< int, D > BoxBConds
The boundary condition in each direction.
mRealType LR_rc
Maximum r cutoff.
Define a LRHandler with two template parameters.
void diagonal(const T &rhs)
mRealType evaluateLR(mRealType r) const override
evaluate the contribution from the long-range part for for spline
CHECK(log_values[0]==ComplexApprox(std::complex< double >{ 5.603777579195571, -6.1586603331188225 }))
void createSK()
create Structure Factor with PBCs
mRealType evaluate(mRealType r, mRealType rinv) const override
void reset(ParticleSet &ref, double rs)
Tensor_t R
Real-space unit vectors. R(i,j) i=vector and j=x,y,z.