16 #ifndef QMCPLUSPLUS_RPA_JASTROW_H 17 #define QMCPLUSPLUS_RPA_JASTROW_H 45 bool put(xmlNodePtr cur);
48 const std::string& UL,
49 const std::string& US,
50 const std::string& RF,
PsiValue ratio(ParticleSet &P, int iat) override
evaluate the ratio of the new to old WaveFunctionComponent value
void evaluateDerivatives(ParticleSet &P, const opt_variables_type &optvars, Vector< ValueType > &dlogpsi, Vector< ValueType > &dhpsioverpsi) override
Compute the derivatives of both the log of the wavefunction and kinetic energy with respect to optimi...
kSpaceJastrow * LongRangeRPA
object to handle the long-range part
std::string getClassName() const override
return class name
WaveFunctionComponent::PsiValue PsiValue
helper functions for EinsplineSetBuilder
BsplineFunctor class for the Jastrows REAL is the real type used by offload target, it is the correct type for the mw data pointers and is also used to coerce/implicitly convert the Real type inherited OptimizableFunctorBase into that buffer if offload is off this happens too but is just an implementation quirk.
void extractOptimizableObjectRefs(UniqueOptObjRefs &opt_obj_refs) override
extract underlying OptimizableObject references
WaveFunctionComponent * ShortRangeRPA
QTBase::RealType RealType
Walker_t::WFBuffer_t WFBufferType
RPAJastrow(ParticleSet &target)
std::unique_ptr< WaveFunctionComponent > makeClone(ParticleSet &tqp) const override
this is a great deal of logic for make clone I'm wondering what is going on
LatticeGaussianProduct::GradType GradType
std::vector< std::unique_ptr< T > > UPtrVector
Attaches a unit to a Vector for IO.
PsiValue ratioGrad(ParticleSet &P, int iat, GradType &grad_iat) override
evaluate the ratio of the new to old WaveFunctionComponent value and the new gradient ...
LogValue evaluateLog(const ParticleSet &P, ParticleSet::ParticleGradient &G, ParticleSet::ParticleLaplacian &L) override
evaluate the value of the WaveFunctionComponent from scratch
An abstract class for a component of a many-body trial wave function.
Specialized paritlce class for atomistic simulations.
std::unique_ptr< HandlerType > myHandler
main handler
class to handle a set of variables that can be modified during optimizations
void acceptMove(ParticleSet &P, int iat, bool safe_to_delay=false) override
a move for iat-th particle is accepted.
Declaration of Long-range TwoBody Jastrow.
void setHandler(std::unique_ptr< HandlerType > Handler)
virtual void extractOptimizableObjectRefs(UniqueOptObjRefs &opt_obj_refs)
extract underlying OptimizableObject references
LogValue updateBuffer(ParticleSet &P, WFBufferType &buf, bool fromscratch=false) override
For particle-by-particle move.
void registerData(ParticleSet &P, WFBufferType &buf) override
For particle-by-particle move.
UPtrVector< WaveFunctionComponent > Psi
A list of WaveFunctionComponent*.
void restore(int iat) override
If a move for iat-th particle is rejected, restore to the content.
base class for LRHandlerTemp<FUNC,BASIS> and DummyLRHanlder<typename Func>
Declaration of WaveFunctionComponent.
std::complex< double > LogValue
FuncType * nfunc
numerical function owned by ShortRangeRPA
void copyFromBuffer(ParticleSet &P, WFBufferType &buf) override
For particle-by-particle move.
GradType evalGrad(ParticleSet &P, int iat) override
return the current gradient for the iat-th particle
Define LRHandlerBase and DummyLRHandler<typename Func>
void buildOrbital(const std::string &name, const std::string &UL, const std::string &US, const std::string &RF, RealType R, RealType K)
void checkOutVariables(const opt_variables_type &o) override
check out optimizable variables
Define a LRHandler with two template parameters.
void push_back(OptimizableObject &obj)
JastrowBuilder using RPA functor Modification of RPAJastrow.
bool isOptimizable() const override
if true, this contains optimizable components