17 #ifndef QMCPLUSPLUS_CUBICFUNCTORSFORJASTROW_H 18 #define QMCPLUSPLUS_CUBICFUNCTORSFORJASTROW_H 37 template<
typename RT,
typename FNOUT>
90 std::cerr <<
"Third derivative not implemented for CubicSplineSingle.\n";
91 return OutFunc.splint(r, dudr, d2udr2);
122 OutFunc.splint(r, dudr, d2udr2);
130 real_type* restrict distArrayCompressed)
const 146 const int dist_stride,
150 throw std::runtime_error(
"mw_evaluateV not implemented!");
161 int* restrict distIndices)
const 166 bool put(xmlNodePtr cur)
override 200 os << r <<
" " <<
OutFunc.splint(r) << std::endl;
229 APP_ABORT(
"CubicSplineSingle::reset has no input functor");
235 template<
typename RT>
263 APP_ABORT(
"CubicSplineBasisSet::resetParameters failed due to null input function ");
void Init(point_type start, point_type end, const container_type &datain, bool closed)
virtual void resetParametersExclusive(const opt_variables_type &active)=0
reset the parameters during optimizations
void reset() override
reset function
void checkInVariablesExclusive(opt_variables_type &active) override
check in variational parameters to the global list of parameters used by the optimizer.
void setOutFunc(FNOUT *out_)
set the output numerical function
helper functions for EinsplineSetBuilder
CubicSplineBasisSet()
constructor
real_type df(real_type r) override
implement the virtual function of OptimizableFunctorBase
void checkOutVariables(const opt_variables_type &active) override
check out variational optimizable variables
void initialize(FNIN *in_, real_type rmax, int npts)
real_type evaluate(real_type r, real_type &dudr, real_type &d2udr2)
evaluate everything: value, first and second derivatives
real_type evaluate(real_type r)
evaluate value only
OptimizableFunctorBase(const std::string &name="")
default constructor
virtual real_type f(real_type r)=0
evaluate the value at r
CubicSplineSingle(FNIN *in_, real_type rc, int npts)
constructor with arguments
real_type evaluate(real_type r)
evaluate value only
real_type df(real_type r) override
implement the virtual function of OptimizableFunctorBase
OptimizableFunctorBase * makeClone() const override
create a clone of this object
Define a base class for one-dimensional functions with optimizable variables.
void setInFunc(FNIN *in_)
set the input, analytic function
RT value_type
typedef for the value_type
void print(std::ostream &os)
An abstract base class to implement a One-Dimensional grid.
void reset() override
reset function
Decalaration of One-Dimesional grids.
void resetParametersExclusive(const opt_variables_type &active) override
reset the input/output function
CubicSplineSingle()
constructor
void initialize(FNIN *in_, grid_type *agrid)
set the input, analytic function
bool put(xmlNodePtr cur) override
process xmlnode and registers variables to optimize
void initialize(FNIN *in_, grid_type *agrid)
set the input, analytic function
real_type f(real_type r) override
implement the virtual function of OptimizableFunctorBase
class to handle a set of variables that can be modified during optimizations
real_type evaluate(real_type r, real_type &dudr, real_type &d2udr2, real_type &d3udr3)
evaluate everything: value, first, second and third derivatives
virtual void checkInVariablesExclusive(opt_variables_type &active)=0
check in variational parameters to the global list of parameters used by the optimizer.
void reportStatus(std::ostream &os) override
print the state, e.g., optimizables
#define APP_ABORT(msg)
Widely used but deprecated fatal error macros from legacy code.
real_type evaluate(real_type r, real_type &dudr, real_type &d2udr2)
evaluate everything: value, first and second derivatives
virtual bool put(xmlNodePtr cur)=0
process xmlnode and registers variables to optimize
bool put(xmlNodePtr cur) override
process xmlnode and registers variables to optimize
OMPallocator is an allocator with fused device and dualspace allocator functionality.
void resetParametersExclusive(const opt_variables_type &active) override
reset the input/output function
static void mw_evaluateV(const int num_groups, const CubicSplineSingle *const functors[], const int n_src, const int *grp_ids, const int num_pairs, const int *ref_at, const RT *mw_dist, const int dist_stride, RT *mw_vals, Vector< char, OffloadPinnedAllocator< char >> &transfer_buffer)
evaluate sum of the pair potentials FIXME
Base class for any functor with optimizable parameters.
real_type evaluateV(const int iat, const int iStart, const int iEnd, const real_type *restrict _distArray, real_type *restrict distArrayCompressed) const
void setInFunc(FNIN *in_)
set the input, analytic function
virtual OptimizableFunctorBase * makeClone() const =0
create a clone of this object
virtual void checkOutVariables(const opt_variables_type &active)=0
check out variational optimizable variables
CubicSplineBasisSet(FNIN *in_, grid_type *agrid)
constructor with arguments
real_type evaluate(real_type r, real_type rinv)
evaluate value only
int size() const
returns the size of the grid
void evaluateVGL(const int iat, const int iStart, const int iEnd, const real_type *distArray, real_type *restrict valArray, real_type *restrict gradArray, real_type *restrict laplArray, real_type *restrict distArrayCompressed, int *restrict distIndices) const
T rmax() const
return the last grid point
declaration of CubicBspline class
real_type evaluateAll(real_type r, real_type rinv)
evaluate everything: value, first and second derivatives
CubicSplineSingle(FNIN *in_, grid_type *agrid)
constructor with arguments
CubicBspline< RT, LINEAR_1DGRID, FIRSTDERIV_CONSTRAINTS > FNOUT
typedef for the argument
virtual real_type df(real_type r)=0
evaluate the first derivative
typename CubicBsplineGrid< T, GRIDTYPE, BC >::container_type container_type
real_type f(real_type r) override
implement the virtual function of OptimizableFunctorBase
optimize::VariableSet::real_type real_type
typedef for real values
CubicSplineSingle(const CubicSplineSingle &old)
void print(std::ostream &os)