17 #ifndef QMCPLUSPLUS_FREE_ORBITAL 18 #define QMCPLUSPLUS_FREE_ORBITAL 27 FreeOrbital(
const std::string& my_name,
const std::vector<PosType>& kpts_cart);
30 std::string
getClassName()
const override {
return "FreeOrbital"; }
62 void report(
const std::string& pad)
const override;
64 std::unique_ptr<SPOSet>
makeClone()
const override {
return std::make_unique<FreeOrbital>(*this); }
68 const std::vector<PosType>
kvecs;
base class for Single-particle orbital sets
std::string getClassName() const override
return class name
void setOrbitalSetSize(int norbs) override
set the OrbitalSetSize
helper functions for EinsplineSetBuilder
std::vector< RealType > k2neg
FreeOrbital(const std::string &my_name, const std::vector< PosType > &kpts_cart)
OrbitalSetTraits< ValueType >::ValueMatrix ValueMatrix
void evaluate_notranspose(const ParticleSet &P, int first, int last, ValueMatrix &phi, GradMatrix &dphi, ValueMatrix &d2phi) override
evaluate the values, gradients and laplacians of this single-particle orbital for [first...
const std::vector< PosType > kvecs
void evaluateValue(const ParticleSet &P, int iat, ValueVector &pvec) override
evaluate the values of this single-particle orbital set
OrbitalSetTraits< ValueType >::ValueVector ValueVector
OrbitalSetTraits< ValueType >::GradMatrix GradMatrix
Specialized paritlce class for atomistic simulations.
std::unique_ptr< SPOSet > makeClone() const override
make a clone of itself every derived class must implement this to have threading working correctly...
void report(const std::string &pad) const override
print SPOSet information
void evaluateVGL(const ParticleSet &P, int i, ValueVector &pvec, GradVector &dpvec, ValueVector &d2pvec) override
evaluate the values, gradients and laplacians of this single-particle orbital set ...
OrbitalSetTraits< ValueType >::GradVector GradVector
OrbitalSetTraits< ValueType >::GradHessMatrix GGGMatrix
OrbitalSetTraits< ValueType >::HessMatrix HessMatrix