15 #ifndef QMCPLUSPLUS_COMPOSITE_SPOSET_H 16 #define QMCPLUSPLUS_COMPOSITE_SPOSET_H 45 std::string
getClassName()
const override {
return "CompositeSPOSet"; }
48 void add(std::unique_ptr<SPOSet> component);
57 std::unique_ptr<SPOSet>
makeClone()
const override;
73 APP_ABORT(
"CompositeSPOSet::" + method +
" has not been implemented");
base class for Single-particle orbital sets
CompositeSPOSetBuilder(Communicate *comm, const SPOSetBuilderFactory &factory)
std::string getClassName() const override
return class name
helper functions for EinsplineSetBuilder
class to read state range information from sposet input
const SPOSetBuilderFactory & sposet_builder_factory_
reference to the sposet_builder_factory
std::vector< int > component_offsets
store the precomputed offsets
OrbitalSetTraits< ValueType >::ValueMatrix ValueMatrix
OrbitalSetTraits< ValueType >::ValueVector ValueVector
std::vector< ValueVector > component_values
temporary storage for values
OrbitalSetTraits< ValueType >::GradMatrix GradMatrix
Wrapping information on parallelism.
CompositeSPOSet(const std::string &my_name)
Specialized paritlce class for atomistic simulations.
base class for the real SPOSet builder
Declaration of a base class of SPOSet Builders.
std::unique_ptr< SPOSet > makeClone() const override
make a clone of itself every derived class must implement this to have threading working correctly...
void evaluateVGL_spin(const ParticleSet &P, int iat, ValueVector &psi, GradVector &dpsi, ValueVector &d2psi, ValueVector &dspin_psi) override
evaluate the values, gradients and laplacians and spin gradient of this single-particle orbital set ...
#define APP_ABORT(msg)
Widely used but deprecated fatal error macros from legacy code.
void add(std::unique_ptr< SPOSet > component)
add a sposet component to this composite sposet
void evaluateValue(const ParticleSet &P, int iat, ValueVector &psi) override
evaluate the values of this single-particle orbital set
void report()
print out component info
std::vector< ValueVector > component_laplacians
temporary storage for laplacians
void setOrbitalSetSize(int norbs) override
size is determined by component sposets and nothing else
void evaluateVGL(const ParticleSet &P, int iat, ValueVector &psi, GradVector &dpsi, ValueVector &d2psi) override
evaluate the values, gradients and laplacians of this single-particle orbital set ...
OrbitalSetTraits< ValueType >::GradVector GradVector
void evaluate_notranspose(const ParticleSet &P, int first, int last, ValueMatrix &logdet, GradMatrix &dlogdet, ValueMatrix &d2logdet) override
evaluate the values, gradients and laplacians of this single-particle orbital for [first...
std::vector< std::unique_ptr< SPOSet > > components
component SPOSets
OrbitalSetTraits< ValueType >::GradHessMatrix GGGMatrix
std::vector< GradVector > component_gradients
temporary storage for gradients
~CompositeSPOSet() override
std::unique_ptr< SPOSet > createSPOSetFromXML(xmlNodePtr cur) override
create an sposet from xml (legacy)
std::vector< ValueVector > component_spin_gradients
temporary storage for spin gradients
void not_implemented(const std::string &method)
unimplemented functions call this to abort
OrbitalSetTraits< ValueType >::HessMatrix HessMatrix
Declaration of a base class of BasisSet.
std::unique_ptr< SPOSet > createSPOSet(xmlNodePtr cur, SPOSetInputInfo &input) override
create an sposet from a general xml request