24 #ifndef QMCPLUSPLUS_LR_KSPACEJASTROW_H 25 #define QMCPLUSPLUS_LR_KSPACEJASTROW_H 61 inline void set(std::vector<T>& unpackedCoefs)
64 unpackedCoefs[i] =
cG;
147 std::string onebodyid,
151 std::string twobodyid,
156 void setCoefficients(std::vector<RealType>& oneBodyCoefs, std::vector<RealType>& twoBodyCoefs);
177 void restore(
int iat)
override;
189 bool put(xmlNodePtr cur);
bool operator()(PosType G1, PosType G2)
void checkInVariablesExclusive(opt_variables_type &active) final
check in variational parameters to the global list of parameters used by the optimizer.
std::unique_ptr< WaveFunctionComponent > makeClone(ParticleSet &tqp) const override
make clone
std::vector< ComplexType > OneBody_e2iGr
WaveFunctionComponent::PsiValue PsiValue
helper functions for EinsplineSetBuilder
std::vector< kSpaceCoef< ComplexType > > OneBodySymmCoefs
void evaluateRatiosAlltoOne(ParticleSet &P, std::vector< ValueType > &ratios) override
evaluate the ratio
void extractOptimizableObjectRefs(UniqueOptObjRefs &opt_obj_refs) override
extract underlying OptimizableObject references
void printTwoBody(std::ostream &os)
GradType evalGrad(ParticleSet &P, int iat) override
return the current gradient for the iat-th particle
void registerData(ParticleSet &P, WFBufferType &buf) override
For particle-by-particle move.
void copyFromBuffer(ParticleSet &P, WFBufferType &buf) override
For particle-by-particle move.
std::vector< ComplexType > OneBody_rhoG
void restore(int iat) override
If a move for iat-th particle is rejected, restore to the content.
Walker_t::WFBuffer_t WFBufferType
LogValue updateBuffer(ParticleSet &P, WFBufferType &buf, bool fromscratch=false) override
For particle-by-particle move.
std::string getClassName() const override
return class name
LatticeGaussianProduct::GradType GradType
void setCoefficients(std::vector< RealType > &oneBodyCoefs, std::vector< RealType > &twoBodyCoefs)
SymmetryType TwoBodySymmType
A collection of put/get functions to read from or write to a xmlNode defined in libxml2.
Attaches a unit to a Vector for IO.
std::vector< int > OneBodyVarMap
Matrix< ComplexType > Delta_e2iGr
std::vector< ComplexType > TwoBody_e2iGr_new
An abstract class for a component of a many-body trial wave function.
Specialized paritlce class for atomistic simulations.
void evaluateDerivatives(ParticleSet &P, const opt_variables_type &active, Vector< ValueType > &dlogpsi, Vector< ValueType > &dhpsioverpsi) override
std::vector< PosType > OneBodyGvecs
void checkOutVariables(const opt_variables_type &active) override
check out variational optimizable variables
bool put(xmlNodePtr cur)
process input file
class to handle a set of variables that can be modified during optimizations
std::vector< RealType > TwoBodyPhase
std::vector< RealType > TwoBodyCoefs
bool isOptimizable() const override
if true, this contains optimizable components
std::vector< ComplexType > Ion_rhoG
std::complex< RealType > ComplexType
std::vector< ComplexType > OneBodyCoefs
void printOneBody(std::ostream &os)
output jastrow coefficients
MakeReturn< UnaryNode< FnSqrt, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t sqrt(const Vector< T1, C1 > &l)
Declaraton of Vector<T,Alloc> Manage memory through Alloc directly and allow referencing an existing ...
void copyFrom(const kSpaceJastrow &old)
LogValue evaluateLog(const ParticleSet &P, ParticleSet::ParticleGradient &G, ParticleSet::ParticleLaplacian &L) override
evaluate the value of the WaveFunctionComponent from scratch
PsiValue ratio(ParticleSet &P, int iat) override
evaluate the ratio of the new to old WaveFunctionComponent value
std::vector< ComplexType > TwoBody_rhoG
kSpaceJastrow(const ParticleSet &ions, ParticleSet &elecs, SymmetryType oneBodySymm, RealType oneBodyCutoff, std::string onebodyid, bool oneBodySpin, SymmetryType twoBodySymm, RealType twoBodyCutoff, std::string twobodyid, bool twoBodySpin)
void sortGvecs(std::vector< PosType > &gvecs, std::vector< kSpaceCoef< T >> &coefs, SymmetryType symm)
Declaration of WaveFunctionComponent.
std::complex< double > LogValue
std::vector< kSpaceCoef< RealType > > TwoBodySymmCoefs
std::vector< int > TwoBodyVarMap
void setupGvecs(RealType kcut, std::vector< PosType > &gvecs, bool useStructFact)
Define LRHandlerBase and DummyLRHandler<typename Func>
std::vector< ComplexType > TwoBody_e2iGr_old
void StructureFactor(PosType G, std::vector< ComplexType > &rho_G)
std::vector< RealType > OneBodyPhase
void push_back(OptimizableObject &obj)
SymmetryType OneBodySymmType
bool Equivalent(PosType G1, PosType G2)
PsiValue ratioGrad(ParticleSet &P, int iat, GradType &grad_iat) override
evaluate the ratio of the new to old WaveFunctionComponent value and the new gradient ...
std::vector< PosType > TwoBodyGvecs
void acceptMove(ParticleSet &P, int iat, bool safe_to_delay=false) override
a move for iat-th particle is accepted.
void resetParametersExclusive(const opt_variables_type &active) final
reset the parameters during optimizations.