13 #ifndef QMCPLUSPLUS_L2POTENTIAL_H 14 #define QMCPLUSPLUS_L2POTENTIAL_H 30 std::unique_ptr<RadialPotentialType>
vL2;
38 return vL2->splint(r);
46 c->vL2.reset(
vL2->makeClone());
66 std::vector<std::unique_ptr<L2RadialPotential>>
PPset;
68 std::vector<L2RadialPotential*>
PP;
75 std::string
getClassName()
const override {
return "L2Potential"; }
84 bool put(xmlNodePtr cur)
override {
return true; }
86 bool get(std::ostream& os)
const override 98 void add(
int groupID, std::unique_ptr<L2RadialPotential>&& ppot);
void resetTargetParticleSet(ParticleSet &P) override
Reset the data with the target ParticleSet.
Evaluate the L2 potentials around each ion.
const std::string & getName() const
return the name
void add(int groupID, std::unique_ptr< L2RadialPotential > &&ppot)
Add a RadialPotentialType of a species.
helper functions for EinsplineSetBuilder
bool dependsOnWaveFunction() const override
return true if this operator depends on a wavefunction
QTBase::RealType RealType
std::unique_ptr< OperatorBase > makeClone(ParticleSet &qp, TrialWaveFunction &psi) final
TrialWaveFunction * psi_ref
Associated trial wavefunction.
Declaration of OperatorBase.
std::string getClassName() const override
return class name
const ParticleSet & IonConfig
reference to the ionic configuration
int myTableIndex
distance table index
RealType evaluate_guard(RealType r)
An abstract base class to implement a One-Dimensional grid.
L2RadialPotential * makeClone()
Decalaration of One-Dimesional grids.
Specialized paritlce class for atomistic simulations.
Return_t evaluate(ParticleSet &P) override
Evaluate the local energy contribution of this component.
std::vector< std::unique_ptr< L2RadialPotential > > PPset
unique set of L2 PP to cleanup
void evaluateD(ParticleSet &P, int iel, TensorType &D)
Declaration of a TrialWaveFunction.
An abstract class for Local Energy operators.
Class to represent a many-body trial wave function.
int NumIons
the number of ions
std::unique_ptr< RadialPotentialType > vL2
L2Potential(const ParticleSet &ions, ParticleSet &els, TrialWaveFunction &psi)
QTBase::TensorType TensorType
RealType evaluate(RealType r)
BareKineticEnergy::Return_t Return_t
void evaluateDK(ParticleSet &P, int iel, TensorType &D, PosType &K)
std::vector< L2RadialPotential * > PP
PP[iat] is the L2 potential for the iat-th particle.
bool put(xmlNodePtr cur) override
Read the input parameter.