46 ref.
R[0] = {0.0, 1.0, 2.0};
47 ref.
R[1] = {1.0, 0.2, 3.0};
48 ref.
R[2] = {0.3, 4.0, 1.4};
49 ref.
R[3] = {3.2, 4.7, 0.7};
60 std::vector<std::complex<double>> rhok_sum_ref{-125.80618630936, 68.199075127271};
62 for (
int i = 0; i < ref.
groups(); i++)
64 std::complex<QMCTraits::RealType> rhok_sum, rhok_even_sum;
66 rhok_sum += std::complex<QMCTraits::RealType>(sk.rhok_r[i][ik], sk.rhok_i[i][ik]);
69 CHECK(ComplexApprox(rhok_sum).epsilon(5
e-5) == rhok_sum_ref[i]);
a class that defines a supercell in D-dimensional Euclean space.
const auto & getLRBox() const
int addSpecies(const std::string &aname)
When a name species does not exist, add a new species.
void reset()
Evaluate the reciprocal vectors, volume and metric tensor.
helper functions for EinsplineSetBuilder
const KContainer & getKLists() const
access k_lists_ read only
TEST_CASE("complex_helper", "[type_traits]")
Calculates the structure-factor for a particle set.
TinyVector< SingleParticlePos, D > Rv
Real-space unit vectors.
int groups() const
return the number of groups
Specialized paritlce class for atomistic simulations.
Scalar_t Volume
Physical properties of a supercell.
TinyVector< int, D > BoxBConds
The boundary condition in each direction.
REQUIRE(std::filesystem::exists(filename))
SpeciesSet & getSpeciesSet()
retrun the SpeciesSet of this particle set
void diagonal(const T &rhs)
void create(const std::vector< int > &agroup)
create grouped particles
CHECK(log_values[0]==ComplexApprox(std::complex< double >{ 5.603777579195571, -6.1586603331188225 }))
Custom container for set of attributes for a set of species.
void updateAllPart(const ParticleSet &P)
Update Rhok if all particles moved.
Tensor_t R
Real-space unit vectors. R(i,j) i=vector and j=x,y,z.
int numk
number of k-points