16 #ifndef QMCPLUSPLUS_FAKEFUNCTOR_H 17 #define QMCPLUSPLUS_FAKEFUNCTOR_H 60 const T* restrict _distArray,
61 T* restrict distArrayCompressed)
const 73 const int dist_stride,
83 T* restrict gradArray,
84 T* restrict laplArray,
85 T* restrict distArrayCompressed,
86 int* restrict distIndices)
const 107 const std::vector<bool>& isAccepted,
108 const int num_groups,
131 bool put(xmlNodePtr cur)
override {
return true; }
141 std::vector<TinyVector<real_type, 3>>
derivs_;
bool put(xmlNodePtr cur) override
process xmlnode and registers variables to optimize
bool evaluateDerivatives(real_type r, std::vector< TinyVector< real_type, 3 >> &derivs) override
void checkOutVariables(const opt_variables_type &active) override
check out variational optimizable variables
helper functions for EinsplineSetBuilder
void resetParametersExclusive(const opt_variables_type &active) override
reset the parameters during optimizations.
real_type evaluate(real_type r, real_type &dudr, real_type &d2udr2) const
real_type evaluate(real_type r) const
void setCusp(real_type cusp) override
void checkInVariablesExclusive(opt_variables_type &active) override
check in variational parameters to the global list of parameters used by the optimizer.
real_type evaluateV(const int iat, const int iStart, const int iEnd, const T *restrict _distArray, T *restrict distArrayCompressed) const
Define a base class for one-dimensional functions with optimizable variables.
bool evaluateDerivatives(real_type r, std::vector< real_type > &derivs) override
compute derivatives with respect to variational parameters
class to handle a set of variables that can be modified during optimizations
static void mw_updateVGL(const int iat, const std::vector< bool > &isAccepted, const int num_groups, const FakeFunctor *const functors[], const int n_src, const int *grp_ids, const int nw, T *mw_vgl, const int n_padded, const T *mw_dist, T *mw_allUat, T *mw_cur_allu, Vector< char, OffloadPinnedAllocator< char >> &transfer_buffer)
FakeFunctor(const std::string &my_name)
default constructor
OHMMS_PRECISION real_type
OMPallocator is an allocator with fused device and dualspace allocator functionality.
static void mw_evaluateV(const int num_groups, const FakeFunctor *const functors[], const int n_src, const int *grp_ids, const int num_pairs, const int *ref_at, const T *mw_dist, const int dist_stride, T *mw_vals, Vector< char, OffloadPinnedAllocator< char >> &transfer_buffer)
Base class for any functor with optimizable parameters.
OptimizableFunctorBase * makeClone() const override
create a clone of this object
real_type evaluate(real_type r, real_type &dudr, real_type &d2udr2, real_type &d3udr3) const
real_type df(real_type r) override
void evaluateVGL(const int iat, const int iStart, const int iEnd, const T *distArray, T *restrict valArray, T *restrict gradArray, T *restrict laplArray, T *restrict distArrayCompressed, int *restrict distIndices) const
static void mw_evaluateVGL(const int iat, const int num_groups, const FakeFunctor *const functors[], const int n_src, const int *grp_ids, const int nw, T *mw_vgl, const int n_padded, const T *mw_dist, T *mw_cur_allu, Vector< char, OffloadPinnedAllocator< char >> &transfer_buffer)
void reset() override
reset function
real_type f(real_type r) override
std::vector< TinyVector< real_type, 3 > > derivs_