33 TEST_CASE(
"Chiesa Force BCC H Ewald3D",
"[hamiltonian]")
49 ions.
R[0] = {0.0, 0.0, 0.0};
50 ions.
R[1] = {1.6, 1.6, 1.88972614};
54 ion_species(pChargeIdx, pIdx) = 1;
60 elec.
R[0] = {0.5, 0.0, 0.0};
61 elec.
R[1] = {0.0, 0.5, 0.0};
66 tspecies(chargeIdx, upIdx) = -1;
67 tspecies(massIdx, upIdx) = 1.0;
116 lattice.R.diagonal(3.77945227);
126 ions.
R[0] = {0.0, 0.0, 0.0};
127 ions.
R[1] = {1.6, 1.6, 1.88972614};
131 ion_species(pChargeIdx, pIdx) = 1;
137 elec.
R[0] = {0.5, 0.0, 0.0};
138 elec.
R[1] = {0.0, 0.5, 0.0};
143 tspecies(chargeIdx, upIdx) = -1;
144 tspecies(massIdx, upIdx) = 1.0;
187 std::unique_ptr<ForceChiesaPBCAA>
clone(dynamic_cast<ForceChiesaPBCAA*>(force.
makeClone(elec, psi).release()));
188 clone->evaluate(elec);
190 CHECK(
clone->getForcesIonIon()[0][0] == Approx(-0.0228366));
191 CHECK(
clone->getForcesIonIon()[0][1] == Approx(-0.0228366));
192 CHECK(
clone->getForcesIonIon()[0][2] == Approx(0.0000000));
193 CHECK(
clone->getForcesIonIon()[1][0] == Approx(0.0228366));
194 CHECK(
clone->getForcesIonIon()[1][1] == Approx(0.0228366));
195 CHECK(
clone->getForcesIonIon()[1][2] == Approx(0.0000000));
206 lattice.R.diagonal(3.77945227);
216 ions.
R[0] = {0.0, 0.0, 0.0};
217 ions.
R[1] = {1.6, 1.6, 1.88972614};
218 ions.
R[2] = {1.4, 0.0, 0.0};
222 ion_species(pChargeIdx, pIdx) = 1;
227 elec.
R[0] = {0.5, 0.0, 0.0};
228 elec.
R[1] = {0.0, 0.5, 0.0};
233 tspecies(chargeIdx, upIdx) = -1;
234 tspecies(massIdx, upIdx) = 1.0;
a class that defines a supercell in D-dimensional Euclean space.
void setName(const std::string &aname)
static std::unique_ptr< LRHandlerType > CoulombDerivHandler
Stores the force/stress optimized LR handler.
int addSpecies(const std::string &aname)
When a name species does not exist, add a new species.
helper functions for EinsplineSetBuilder
void setForces(const ParticleSet::ParticlePos &forces)
void evaluateSR(ParticleSet &)
TEST_CASE("complex_helper", "[type_traits]")
void update(bool skipSK=false)
update the internal data
Communicate * Controller
Global Communicator for a process.
static std::unique_ptr< LRHandlerType > CoulombHandler
Stores the energ optimized LR handler.
int addAttribute(const std::string &aname)
for a new attribute, allocate the data, !More often used to get the index of a species ...
Wrapping information on parallelism.
CrystalLattice< OHMMS_PRECISION, OHMMS_DIM > lattice
Return_t evaluate(ParticleSet &P) override
Evaluate the local energy contribution of this component.
Specialized paritlce class for atomistic simulations.
REQUIRE(std::filesystem::exists(filename))
Manage a collection of ParticleSet objects.
SpeciesSet & getSpeciesSet()
retrun the SpeciesSet of this particle set
void create(const std::vector< int > &agroup)
create grouped particles
Declaration of a TrialWaveFunction.
const ParticleSet::ParticlePos & getForcesIonIon() const noexcept
Class to represent a many-body trial wave function.
void evaluateLR(ParticleSet &)
CHECK(log_values[0]==ComplexApprox(std::complex< double >{ 5.603777579195571, -6.1586603331188225 }))
std::unique_ptr< OperatorBase > makeClone(ParticleSet &qp, TrialWaveFunction &psi) final
void createSK()
create Structure Factor with PBCs
Custom container for set of attributes for a set of species.
bool getAddIonIon() const noexcept
void setAddIonIon(bool val) noexcept
Declaration of ParticleSetPool.
const ParticleSet::ParticlePos & getForces() const noexcept