![]() |
QMCPACK
|
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. More...
Public Types | |
using | Real = OptimizableFunctorBase::real_type |
![]() | |
using | real_type = optimize::VariableSet::real_type |
typedef for real values More... | |
using | opt_variables_type = optimize::VariableSet |
typedef for variableset: this is going to be replaced More... | |
Public Member Functions | |
BsplineFunctor (const std::string &my_name, Real cusp=0.0) | |
constructor More... | |
OptimizableFunctorBase * | makeClone () const override |
create a clone of this object More... | |
void | setCusp (Real c) override |
empty virtual function to help builder classes More... | |
void | setPeriodic (bool p) override |
empty virtual function to help builder classes More... | |
int | getMaxIndex () const |
return the max allowed beginning index to access spline coefficients More... | |
void | resize (int n) |
void | reset () override |
reset coefs from Parameters More... | |
void | evaluateVGL (const int iat, const int iStart, const int iEnd, const REAL *_distArray, REAL *restrict _valArray, REAL *restrict _gradArray, REAL *restrict _laplArray, REAL *restrict distArrayCompressed, int *restrict distIndices) const |
compute value, first and second derivatives for [iStart, iEnd) pairs More... | |
REAL | evaluateV (const int iat, const int iStart, const int iEnd, const REAL *restrict _distArray, REAL *restrict distArrayCompressed) const |
evaluate sum of the pair potentials for [iStart,iEnd) More... | |
Real | evaluate (Real r) const |
Real | evaluate (Real r, Real rinv) |
void | evaluateAll (Real r, Real rinv) |
Real | evaluate (Real r, Real &dudr, Real &d2udr2) |
Real | evaluate (Real r, Real &dudr, Real &d2udr2, Real &d3udr3) |
bool | evaluateDerivatives (Real r, std::vector< TinyVector< Real, 3 >> &derivs) override |
bool | evaluateDerivatives (Real r, std::vector< Real > &derivs) override |
Real | f (Real r) override |
evaluate the value at r More... | |
Real | df (Real r) override |
evaluate the first derivative More... | |
bool | put (xmlNodePtr cur) override |
process xmlnode and registers variables to optimize More... | |
void | initialize (int numPoints, std::vector< Real > &x, std::vector< Real > &y, REAL cusp, REAL rcut, std::string &id, std::string &optimize) |
void | reportStatus (std::ostream &os) override |
print the state, e.g., optimizables More... | |
void | checkOutVariables (const opt_variables_type &active) override |
check out variational optimizable variables More... | |
void | checkInVariablesExclusive (opt_variables_type &active) override |
check in variational parameters to the global list of parameters used by the optimizer. More... | |
void | resetParametersExclusive (const opt_variables_type &active) override |
reset the parameters during optimizations. More... | |
bool | isOptimizable () |
![]() | |
OptimizableFunctorBase (const std::string &name="") | |
default constructor More... | |
virtual | ~OptimizableFunctorBase ()=default |
virtual destrutor More... | |
void | getIndex (const opt_variables_type &active) |
virtual void | setDensity (real_type n) |
empty virtual function to help builder classes More... | |
virtual void | setGridManager (bool willmanage) |
virtual void | checkInVariablesExclusive (opt_variables_type &active)=0 |
check in variational parameters to the global list of parameters used by the optimizer. More... | |
virtual void | resetParametersExclusive (const opt_variables_type &active)=0 |
reset the parameters during optimizations More... | |
![]() | |
OptimizableObject (const std::string &name) | |
const std::string & | getName () const |
bool | isOptimized () const |
void | setOptimization (bool state) |
virtual void | writeVariationalParameters (hdf_archive &hout) |
Write the variational parameters for this object to the VP HDF file. More... | |
virtual void | readVariationalParameters (hdf_archive &hin) |
Read the variational parameters for this object from the VP HDF file. More... | |
Static Public Member Functions | |
static void | mw_evaluateVGL (const int iat, const int num_groups, const BsplineFunctor *const functors[], const int n_src, const int *grp_ids, const int nw, REAL *mw_vgl, const int n_padded, const REAL *mw_dist, REAL *mw_cur_allu, Vector< char, OffloadPinnedAllocator< char >> &transfer_buffer) |
compute value, gradient and laplacian for target particles This more than just a batched call of evaluateVGL More... | |
static void | mw_evaluateV (const int num_groups, const BsplineFunctor *const functors[], const int n_src, const int *grp_ids, const int num_pairs, const int *ref_at, const REAL *mw_dist, const int dist_stride, REAL *mw_vals, Vector< char, OffloadPinnedAllocator< char >> &transfer_buffer) |
compute value for target-source particle pair potentials This more than just a batched call of evaluateV More... | |
static Real | evaluate_impl (Real r, const Real *coefs, const Real DeltaRInv, const int max_index) |
static Real | evaluate_impl (Real r, const Real *coefs, const Real DeltaRInv, const int max_index, Real &dudr, Real &d2udr2) |
static void | mw_updateVGL (const int iat, const std::vector< bool > &isAccepted, const int num_groups, const BsplineFunctor *const functors[], const int n_src, const int *grp_ids, const int nw, REAL *mw_vgl, const int n_padded, const REAL *mw_dist, REAL *mw_allUat, REAL *mw_cur_allu, Vector< char, OffloadPinnedAllocator< char >> &transfer_buffer) |
update value, gradient and laplacian for target particles It serves multile walkers and handles update in a batched fashion More... | |
Public Attributes | |
std::shared_ptr< Vector< Real, OffloadAllocator< Real > > > | spline_coefs_ |
int | NumParams |
Real | DeltaR |
Real | DeltaRInv |
Real | CuspValue |
Real | Y |
Real | dY |
Real | d2Y |
std::vector< TinyVector< Real, 3 > > | SplineDerivs |
std::vector< Real > | Parameters |
std::vector< std::string > | ParameterNames |
std::string | elementType |
std::string | pairType |
std::string | fileName |
bool | notOpt |
bool | periodic |
![]() | |
real_type | cutoff_radius = 0.0 |
maximum cutoff More... | |
opt_variables_type | myVars |
set of variables to be optimized More... | |
Static Public Attributes | |
static constexpr Real | A0 = -1.0 / 6.0 |
static constexpr Real | A1 = 3.0 / 6.0 |
static constexpr Real | A2 = -3.0 / 6.0 |
static constexpr Real | A3 = 1.0 / 6.0 |
static constexpr Real | A4 = 3.0 / 6.0 |
static constexpr Real | A5 = -6.0 / 6.0 |
static constexpr Real | A6 = 0.0 / 6.0 |
static constexpr Real | A7 = 4.0 / 6.0 |
static constexpr Real | A8 = -3.0 / 6.0 |
static constexpr Real | A9 = 3.0 / 6.0 |
static constexpr Real | A10 = 3.0 / 6.0 |
static constexpr Real | A11 = 1.0 / 6.0 |
static constexpr Real | A12 = 1.0 / 6.0 |
static constexpr Real | A13 = 0.0 / 6.0 |
static constexpr Real | A14 = 0.0 / 6.0 |
static constexpr Real | A15 = 0.0 / 6.0 |
static constexpr Real | dA0 = 0.0 |
static constexpr Real | dA1 = -0.5 |
static constexpr Real | dA2 = 1.0 |
static constexpr Real | dA3 = -0.5 |
static constexpr Real | dA4 = 0.0 |
static constexpr Real | dA5 = 1.5 |
static constexpr Real | dA6 = -2.0 |
static constexpr Real | dA7 = 0.0 |
static constexpr Real | dA8 = 0.0 |
static constexpr Real | dA9 = -1.5 |
static constexpr Real | dA10 = 1.0 |
static constexpr Real | dA11 = 0.5 |
static constexpr Real | dA12 = 0.0 |
static constexpr Real | dA13 = 0.5 |
static constexpr Real | dA14 = 0.0 |
static constexpr Real | dA15 = 0.0 |
static constexpr Real | d2A0 = 0.0 |
static constexpr Real | d2A1 = 0.0 |
static constexpr Real | d2A2 = -1.0 |
static constexpr Real | d2A3 = 1.0 |
static constexpr Real | d2A4 = 0.0 |
static constexpr Real | d2A5 = 0.0 |
static constexpr Real | d2A6 = 3.0 |
static constexpr Real | d2A7 = -2.0 |
static constexpr Real | d2A8 = 0.0 |
static constexpr Real | d2A9 = 0.0 |
static constexpr Real | d2A10 = -3.0 |
static constexpr Real | d2A11 = 1.0 |
static constexpr Real | d2A12 = 0.0 |
static constexpr Real | d2A13 = 0.0 |
static constexpr Real | d2A14 = 1.0 |
static constexpr Real | d2A15 = 0.0 |
static constexpr Real | d3A0 = 0.0 |
static constexpr Real | d3A1 = 0.0 |
static constexpr Real | d3A2 = 0.0 |
static constexpr Real | d3A3 = -1.0 |
static constexpr Real | d3A4 = 0.0 |
static constexpr Real | d3A5 = 0.0 |
static constexpr Real | d3A6 = 0.0 |
static constexpr Real | d3A7 = 3.0 |
static constexpr Real | d3A8 = 0.0 |
static constexpr Real | d3A9 = 0.0 |
static constexpr Real | d3A10 = 0.0 |
static constexpr Real | d3A11 = -3.0 |
static constexpr Real | d3A12 = 0.0 |
static constexpr Real | d3A13 = 0.0 |
static constexpr Real | d3A14 = 0.0 |
static constexpr Real | d3A15 = 1.0 |
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.
Definition at line 30 of file BackflowBuilder.h.
Definition at line 46 of file BsplineFunctor.h.
|
inline |
constructor
Definition at line 86 of file BsplineFunctor.h.
References OptimizableFunctorBase::cutoff_radius.
Referenced by BsplineFunctor< REAL >::makeClone().
|
inlineoverridevirtual |
check in variational parameters to the global list of parameters used by the optimizer.
active | a super set of optimizable variables |
The existing checkInVariables implementation in WFC/SPO/.. are inclusive and it calls checkInVariables of its members class A: public SPOSet {} class B: public WFC { A objA; checkInVariables() { objA.checkInVariables(); } };
With OptimizableObject, class A: public OptimizableObject {} class B: public OptimizableObject { A objA; checkInVariablesExclusive() { // should not call objA.checkInVariablesExclusive() if objA has been extracted; } }; A vector of OptimizableObject, will be created by calling extractOptimizableObjects(). All the checkInVariablesExclusive() will be called through this vector and thus checkInVariablesExclusive implementation should only handle non-OptimizableObject members.
Implements OptimizableObject.
Definition at line 686 of file BsplineFunctor.h.
References VariableSet::insertFrom(), OptimizableFunctorBase::myVars, BsplineFunctor< REAL >::notOpt, and VariableSet::setIndexDefault().
|
inlineoverridevirtual |
check out variational optimizable variables
active | a super set of optimizable variables |
Implements OptimizableFunctorBase.
Definition at line 679 of file BsplineFunctor.h.
References VariableSet::getIndex(), OptimizableFunctorBase::myVars, and BsplineFunctor< REAL >::notOpt.
evaluate the first derivative
r | distance |
virtual function necessary for a transformation to a numerical functor
Implements OptimizableFunctorBase.
Definition at line 479 of file BsplineFunctor.h.
References OptimizableFunctorBase::cutoff_radius, and BsplineFunctor< REAL >::evaluate().
Definition at line 240 of file BsplineFunctor.h.
References OptimizableFunctorBase::cutoff_radius, BsplineFunctor< REAL >::DeltaRInv, BsplineFunctor< REAL >::evaluate_impl(), BsplineFunctor< REAL >::getMaxIndex(), and BsplineFunctor< REAL >::spline_coefs_.
Referenced by BsplineFunctor< REAL >::df(), BsplineFunctor< REAL >::evaluateAll(), BsplineFunctor< REAL >::f(), qmcplusplus::TEST_CASE(), and qmcplusplus::test_J1_spline().
Definition at line 248 of file BsplineFunctor.h.
References BsplineFunctor< REAL >::d2Y, BsplineFunctor< REAL >::dY, BsplineFunctor< REAL >::evaluate(), and BsplineFunctor< REAL >::Y.
Referenced by BsplineFunctor< REAL >::evaluate().
Definition at line 277 of file BsplineFunctor.h.
References OptimizableFunctorBase::cutoff_radius, BsplineFunctor< REAL >::DeltaRInv, BsplineFunctor< REAL >::evaluate_impl(), BsplineFunctor< REAL >::getMaxIndex(), and BsplineFunctor< REAL >::spline_coefs_.
Definition at line 289 of file BsplineFunctor.h.
References BsplineFunctor< REAL >::A0, BsplineFunctor< REAL >::A1, BsplineFunctor< REAL >::A10, BsplineFunctor< REAL >::A11, BsplineFunctor< REAL >::A12, BsplineFunctor< REAL >::A13, BsplineFunctor< REAL >::A14, BsplineFunctor< REAL >::A15, BsplineFunctor< REAL >::A2, BsplineFunctor< REAL >::A3, BsplineFunctor< REAL >::A4, BsplineFunctor< REAL >::A5, BsplineFunctor< REAL >::A6, BsplineFunctor< REAL >::A7, BsplineFunctor< REAL >::A8, BsplineFunctor< REAL >::A9, OptimizableFunctorBase::cutoff_radius, BsplineFunctor< REAL >::d2A0, BsplineFunctor< REAL >::d2A1, BsplineFunctor< REAL >::d2A10, BsplineFunctor< REAL >::d2A11, BsplineFunctor< REAL >::d2A12, BsplineFunctor< REAL >::d2A13, BsplineFunctor< REAL >::d2A14, BsplineFunctor< REAL >::d2A15, BsplineFunctor< REAL >::d2A2, BsplineFunctor< REAL >::d2A3, BsplineFunctor< REAL >::d2A4, BsplineFunctor< REAL >::d2A5, BsplineFunctor< REAL >::d2A6, BsplineFunctor< REAL >::d2A7, BsplineFunctor< REAL >::d2A8, BsplineFunctor< REAL >::d2A9, BsplineFunctor< REAL >::d3A0, BsplineFunctor< REAL >::d3A1, BsplineFunctor< REAL >::d3A10, BsplineFunctor< REAL >::d3A11, BsplineFunctor< REAL >::d3A12, BsplineFunctor< REAL >::d3A13, BsplineFunctor< REAL >::d3A14, BsplineFunctor< REAL >::d3A15, BsplineFunctor< REAL >::d3A2, BsplineFunctor< REAL >::d3A3, BsplineFunctor< REAL >::d3A4, BsplineFunctor< REAL >::d3A5, BsplineFunctor< REAL >::d3A6, BsplineFunctor< REAL >::d3A7, BsplineFunctor< REAL >::d3A8, BsplineFunctor< REAL >::d3A9, BsplineFunctor< REAL >::dA0, BsplineFunctor< REAL >::dA1, BsplineFunctor< REAL >::dA10, BsplineFunctor< REAL >::dA11, BsplineFunctor< REAL >::dA12, BsplineFunctor< REAL >::dA13, BsplineFunctor< REAL >::dA14, BsplineFunctor< REAL >::dA15, BsplineFunctor< REAL >::dA2, BsplineFunctor< REAL >::dA3, BsplineFunctor< REAL >::dA4, BsplineFunctor< REAL >::dA5, BsplineFunctor< REAL >::dA6, BsplineFunctor< REAL >::dA7, BsplineFunctor< REAL >::dA8, BsplineFunctor< REAL >::dA9, BsplineFunctor< REAL >::DeltaRInv, BsplineFunctor< REAL >::getMaxIndex(), qmcplusplus::getSplineBound(), and BsplineFunctor< REAL >::spline_coefs_.
|
inlinestatic |
Definition at line 224 of file BsplineFunctor.h.
References BsplineFunctor< REAL >::A0, BsplineFunctor< REAL >::A1, BsplineFunctor< REAL >::A10, BsplineFunctor< REAL >::A11, BsplineFunctor< REAL >::A12, BsplineFunctor< REAL >::A13, BsplineFunctor< REAL >::A14, BsplineFunctor< REAL >::A15, BsplineFunctor< REAL >::A2, BsplineFunctor< REAL >::A3, BsplineFunctor< REAL >::A4, BsplineFunctor< REAL >::A5, BsplineFunctor< REAL >::A6, BsplineFunctor< REAL >::A7, BsplineFunctor< REAL >::A8, BsplineFunctor< REAL >::A9, BsplineFunctor< REAL >::DeltaRInv, and qmcplusplus::getSplineBound().
Referenced by BsplineFunctor< REAL >::evaluate().
|
inlinestatic |
Definition at line 252 of file BsplineFunctor.h.
References BsplineFunctor< REAL >::A0, BsplineFunctor< REAL >::A1, BsplineFunctor< REAL >::A10, BsplineFunctor< REAL >::A11, BsplineFunctor< REAL >::A12, BsplineFunctor< REAL >::A13, BsplineFunctor< REAL >::A14, BsplineFunctor< REAL >::A15, BsplineFunctor< REAL >::A2, BsplineFunctor< REAL >::A3, BsplineFunctor< REAL >::A4, BsplineFunctor< REAL >::A5, BsplineFunctor< REAL >::A6, BsplineFunctor< REAL >::A7, BsplineFunctor< REAL >::A8, BsplineFunctor< REAL >::A9, BsplineFunctor< REAL >::d2A10, BsplineFunctor< REAL >::d2A11, BsplineFunctor< REAL >::d2A14, BsplineFunctor< REAL >::d2A15, BsplineFunctor< REAL >::d2A2, BsplineFunctor< REAL >::d2A3, BsplineFunctor< REAL >::d2A6, BsplineFunctor< REAL >::d2A7, BsplineFunctor< REAL >::dA1, BsplineFunctor< REAL >::dA10, BsplineFunctor< REAL >::dA11, BsplineFunctor< REAL >::dA13, BsplineFunctor< REAL >::dA14, BsplineFunctor< REAL >::dA15, BsplineFunctor< REAL >::dA2, BsplineFunctor< REAL >::dA3, BsplineFunctor< REAL >::dA5, BsplineFunctor< REAL >::dA6, BsplineFunctor< REAL >::dA7, BsplineFunctor< REAL >::dA9, BsplineFunctor< REAL >::DeltaRInv, and qmcplusplus::getSplineBound().
Definition at line 250 of file BsplineFunctor.h.
References BsplineFunctor< REAL >::d2Y, BsplineFunctor< REAL >::dY, BsplineFunctor< REAL >::evaluate(), and BsplineFunctor< REAL >::Y.
|
inlineoverridevirtual |
Reimplemented from OptimizableFunctorBase.
Definition at line 376 of file BsplineFunctor.h.
References BsplineFunctor< REAL >::A0, BsplineFunctor< REAL >::A1, BsplineFunctor< REAL >::A10, BsplineFunctor< REAL >::A11, BsplineFunctor< REAL >::A12, BsplineFunctor< REAL >::A13, BsplineFunctor< REAL >::A14, BsplineFunctor< REAL >::A15, BsplineFunctor< REAL >::A2, BsplineFunctor< REAL >::A3, BsplineFunctor< REAL >::A4, BsplineFunctor< REAL >::A5, BsplineFunctor< REAL >::A6, BsplineFunctor< REAL >::A7, BsplineFunctor< REAL >::A8, BsplineFunctor< REAL >::A9, OptimizableFunctorBase::cutoff_radius, BsplineFunctor< REAL >::d2A10, BsplineFunctor< REAL >::d2A11, BsplineFunctor< REAL >::d2A14, BsplineFunctor< REAL >::d2A15, BsplineFunctor< REAL >::d2A2, BsplineFunctor< REAL >::d2A3, BsplineFunctor< REAL >::d2A6, BsplineFunctor< REAL >::d2A7, BsplineFunctor< REAL >::dA1, BsplineFunctor< REAL >::dA10, BsplineFunctor< REAL >::dA11, BsplineFunctor< REAL >::dA13, BsplineFunctor< REAL >::dA14, BsplineFunctor< REAL >::dA15, BsplineFunctor< REAL >::dA2, BsplineFunctor< REAL >::dA3, BsplineFunctor< REAL >::dA5, BsplineFunctor< REAL >::dA6, BsplineFunctor< REAL >::dA7, BsplineFunctor< REAL >::dA9, BsplineFunctor< REAL >::DeltaRInv, BsplineFunctor< REAL >::getMaxIndex(), qmcplusplus::getSplineBound(), omptarget::min(), qmcplusplus::n, BsplineFunctor< REAL >::NumParams, and BsplineFunctor< REAL >::SplineDerivs.
Referenced by BsplineFunctor< REAL >::initialize(), and BsplineFunctor< REAL >::put().
Reimplemented from OptimizableFunctorBase.
Definition at line 442 of file BsplineFunctor.h.
References BsplineFunctor< REAL >::A0, BsplineFunctor< REAL >::A1, BsplineFunctor< REAL >::A10, BsplineFunctor< REAL >::A11, BsplineFunctor< REAL >::A12, BsplineFunctor< REAL >::A13, BsplineFunctor< REAL >::A14, BsplineFunctor< REAL >::A15, BsplineFunctor< REAL >::A2, BsplineFunctor< REAL >::A3, BsplineFunctor< REAL >::A4, BsplineFunctor< REAL >::A5, BsplineFunctor< REAL >::A6, BsplineFunctor< REAL >::A7, BsplineFunctor< REAL >::A8, BsplineFunctor< REAL >::A9, OptimizableFunctorBase::cutoff_radius, BsplineFunctor< REAL >::DeltaRInv, BsplineFunctor< REAL >::getMaxIndex(), qmcplusplus::getSplineBound(), omptarget::min(), qmcplusplus::n, and BsplineFunctor< REAL >::NumParams.
|
inline |
evaluate sum of the pair potentials for [iStart,iEnd)
iat | dummy |
iStart | starting particle index |
iEnd | ending particle index |
_distArray | distance arrUay |
distArrayCompressed | temp storage to filter r_j < cutoff_radius |
Definition at line 723 of file BsplineFunctor.h.
References ASSUME_ALIGNED, and qmcplusplus::getSplineBound().
|
inline |
compute value, first and second derivatives for [iStart, iEnd) pairs
iat | the source particle that should be avoided (self pairs) |
iStart | starting particle index |
iEnd | ending particle index |
_distArray | distance arrUay |
_valArray | u(r_j) for j=[iStart,iEnd) |
_gradArray | du(r_j)/dr /r_j for j=[iStart,iEnd) |
_lapArray | d2u(r_j)/dr2 for j=[iStart,iEnd) |
distArrayCompressed | temp storage to filter r_j < cutoff_radius |
distIndices | temp storage for the compressed index |
Definition at line 765 of file BsplineFunctor.h.
References ASSUME_ALIGNED, and qmcplusplus::getSplineBound().
evaluate the value at r
r | distance |
virtual function necessary for a transformation to a numerical functor
Implements OptimizableFunctorBase.
Definition at line 473 of file BsplineFunctor.h.
References OptimizableFunctorBase::cutoff_radius, and BsplineFunctor< REAL >::evaluate().
|
inline |
return the max allowed beginning index to access spline coefficients
Definition at line 99 of file BsplineFunctor.h.
References BsplineFunctor< REAL >::spline_coefs_.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluateDerivatives(), BsplineFunctor< REAL >::mw_evaluateV(), BsplineFunctor< REAL >::mw_evaluateVGL(), and BsplineFunctor< REAL >::mw_updateVGL().
|
inline |
Definition at line 611 of file BsplineFunctor.h.
References qmcplusplus::app_log(), BsplineFunctor< REAL >::CuspValue, OptimizableFunctorBase::cutoff_radius, ReportEngine::error(), BsplineFunctor< REAL >::evaluateDerivatives(), VariableSet::insert(), qmcplusplus::LinearFit(), optimize::LOGLINEAR_P, OptimizableFunctorBase::myVars, BsplineFunctor< REAL >::notOpt, BsplineFunctor< REAL >::NumParams, BsplineFunctor< REAL >::Parameters, VariableSet::print(), BsplineFunctor< REAL >::reset(), and BsplineFunctor< REAL >::resize().
Referenced by RPAJastrow::makeShortRange().
|
inline |
Definition at line 708 of file BsplineFunctor.h.
References OptimizableFunctorBase::myVars, BsplineFunctor< REAL >::notOpt, BsplineFunctor< REAL >::Parameters, and VariableSet::where().
|
inlineoverridevirtual |
create a clone of this object
Implements OptimizableFunctorBase.
Definition at line 92 of file BsplineFunctor.h.
References BsplineFunctor< REAL >::BsplineFunctor().
|
static |
compute value for target-source particle pair potentials This more than just a batched call of evaluateV
num_groups | the number of source particle groups |
functors | for the num_groups of source particles |
n_src | the number of source particles |
grp_ids | the group ids of the n_src source particles |
nnum_pairs | the number of particle pairs |
ref_at | the source particles that should be avoided (self pairs) |
mw_vgl | return resutls. Multi walker value, gradient and laplacian [nw][1(v)+DIM(g)+1(l)] |
dist_stride | the offset of distance pointers between to consecutive walkers |
mw_dist | Multi walker distance table [nw][1(distance)+DIM(displacements)][n_padded] |
transfer_buffer | temporary transfer buffer. |
If mw_dist is dual space, up-to-date data is assumed on device.
Definition at line 135 of file BsplineFunctor.cpp.
References OptimizableFunctorBase::cutoff_radius, BsplineFunctor< REAL >::DeltaRInv, BsplineFunctor< REAL >::getMaxIndex(), and BsplineFunctor< REAL >::spline_coefs_.
|
static |
compute value, gradient and laplacian for target particles This more than just a batched call of evaluateVGL
iat | the source particle that should be avoided (self pairs) |
num_groups | the number of source particle groups |
functors | for the num_groups of source particles |
n_src | the number of source particles |
grp_ids | the group ids of the n_src source particles |
nw | batch size (number of walkers) |
mw_vgl | return resutls. Multi walker value, gradient and laplacian [nw][1(v)+DIM(g)+1(l)] |
n_padded | the padded size of source particles |
mw_dist | Multi walker distance table [nw][1(distance)+DIM(displacements)][n_padded] |
mw_cur_allu | Multi walker value, first and second derivatives of pair potentials [nw][DIM][n_padded]. if mw_cur_allu is dual space, only update device side. |
transfer_buffer | temporary transfer buffer. |
If mw_dist is dual space, up-to-date data is assumed on device. If mw_cur_allu is dual space, data is created on the device and there is no transfer to the host because it will be consumed by mw_updateVGL on the device.
Definition at line 26 of file BsplineFunctor.cpp.
References OptimizableFunctorBase::cutoff_radius, BsplineFunctor< REAL >::DeltaRInv, qmcplusplus::ewaldref::DIM, BsplineFunctor< REAL >::getMaxIndex(), OHMMS_DIM, and BsplineFunctor< REAL >::spline_coefs_.
|
static |
update value, gradient and laplacian for target particles It serves multile walkers and handles update in a batched fashion
iat | the source particle that should be avoided (self pairs) |
isAccepted | accept/reject status |
num_groups | the number of source particle groups |
functors | for the num_groups of source particles |
n_src | the number of source particles |
grp_ids | the group ids of the n_src source particles |
nw | batch size (number of walkers) |
mw_vgl | Multi walker value, gradient and laplacian [nw][1(v)+DIM(g)+1(l)] |
n_padded | the padded size of source particles |
mw_dist | Multi walker distance table [new + old][nw][1(distance)+DIM(displacements)][n_padded] |
mw_allUat,returned | results. Multi walker value, gradient and laplacian of pair potentials [nw][1(v)+DIM(g)+1(l)][n_padded] |
mw_cur_allu | Multi walker value, first and second derivatives of pair potentials [nw][DIM][n_padded] |
transfer_buffer | temporary transfer buffer |
If mw_dist is dual space, up-to-date data is assumed on device. If mw_cur_allu is dual space, data on the device is consumed and no transfer is needed.
Definition at line 203 of file BsplineFunctor.cpp.
References OptimizableFunctorBase::cutoff_radius, BsplineFunctor< REAL >::DeltaRInv, qmcplusplus::ewaldref::DIM, BsplineFunctor< REAL >::getMaxIndex(), OHMMS_DIM, and BsplineFunctor< REAL >::spline_coefs_.
|
inlineoverridevirtual |
process xmlnode and registers variables to optimize
cur | xmlNode for a functor |
Implements OptimizableFunctorBase.
Definition at line 489 of file BsplineFunctor.h.
References OhmmsAttributeSet::add(), APP_ABORT, qmcplusplus::app_log(), qmcplusplus::app_summary(), BsplineFunctor< REAL >::CuspValue, OptimizableFunctorBase::cutoff_radius, qmcplusplus::Units::charge::e, ReportEngine::error(), BsplineFunctor< REAL >::evaluateDerivatives(), VariableSet::insert(), qmcplusplus::LinearFit(), optimize::LOGLINEAR_P, OptimizableFunctorBase::myVars, BsplineFunctor< REAL >::notOpt, BsplineFunctor< REAL >::NumParams, BsplineFunctor< REAL >::Parameters, BsplineFunctor< REAL >::periodic, VariableSet::print(), OhmmsAttributeSet::put(), putContent(), BsplineFunctor< REAL >::reset(), and BsplineFunctor< REAL >::resize().
|
inlineoverridevirtual |
print the state, e.g., optimizables
Reimplemented from OptimizableObject.
Definition at line 672 of file BsplineFunctor.h.
References OptimizableFunctorBase::myVars, BsplineFunctor< REAL >::notOpt, and VariableSet::print().
|
inlineoverridevirtual |
reset coefs from Parameters
Implements OptimizableFunctorBase.
Definition at line 115 of file BsplineFunctor.h.
References BsplineFunctor< REAL >::CuspValue, OptimizableFunctorBase::cutoff_radius, BsplineFunctor< REAL >::DeltaR, BsplineFunctor< REAL >::DeltaRInv, BsplineFunctor< REAL >::NumParams, BsplineFunctor< REAL >::Parameters, and BsplineFunctor< REAL >::spline_coefs_.
Referenced by BsplineFunctor< REAL >::initialize(), RadialJastrowBuilder::initTwoBodyFunctor(), BsplineFunctor< REAL >::put(), and BsplineFunctor< REAL >::resetParametersExclusive().
|
inlineoverridevirtual |
reset the parameters during optimizations.
Exclusive, see checkInVariablesExclusive
Implements OptimizableObject.
Definition at line 694 of file BsplineFunctor.h.
References OptimizableFunctorBase::myVars, BsplineFunctor< REAL >::notOpt, BsplineFunctor< REAL >::Parameters, BsplineFunctor< REAL >::reset(), and VariableSet::where().
|
inline |
Definition at line 101 of file BsplineFunctor.h.
References OptimizableFunctorBase::cutoff_radius, BsplineFunctor< REAL >::DeltaR, BsplineFunctor< REAL >::DeltaRInv, qmcplusplus::n, BsplineFunctor< REAL >::NumParams, BsplineFunctor< REAL >::Parameters, BsplineFunctor< REAL >::spline_coefs_, and BsplineFunctor< REAL >::SplineDerivs.
Referenced by BsplineFunctor< REAL >::initialize(), BsplineFunctor< REAL >::put(), and qmcplusplus::TEST_CASE().
|
inlineoverridevirtual |
empty virtual function to help builder classes
Reimplemented from OptimizableFunctorBase.
Definition at line 94 of file BsplineFunctor.h.
References BsplineFunctor< REAL >::CuspValue.
|
inlineoverridevirtual |
empty virtual function to help builder classes
Reimplemented from OptimizableFunctorBase.
Definition at line 96 of file BsplineFunctor.h.
References BsplineFunctor< REAL >::periodic.
|
static |
Definition at line 48 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 48 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 50 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 50 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 51 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 51 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 51 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 51 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 48 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 48 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 49 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 49 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 49 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 49 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 50 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 50 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
Real CuspValue |
Definition at line 72 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::initialize(), BsplineFunctor< REAL >::put(), BsplineFunctor< REAL >::reset(), BsplineFunctor< REAL >::setCusp(), qmcplusplus::TEST_CASE(), and qmcplusplus::test_J1_spline().
|
static |
Definition at line 58 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 58 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 60 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 60 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 61 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 61 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 61 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 61 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 58 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 58 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 59 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 59 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 59 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 59 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 60 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 60 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
Real d2Y |
Definition at line 73 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), and BsplineFunctor< REAL >::evaluateAll().
|
static |
Definition at line 63 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 63 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 65 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 65 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 66 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 66 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 66 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 66 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 63 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 63 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 64 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 64 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 64 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 64 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 65 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 65 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 53 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 53 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 55 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 55 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 56 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 56 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 56 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 56 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 53 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 53 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 54 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 54 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 54 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 54 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
|
static |
Definition at line 55 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate().
|
static |
Definition at line 55 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), and BsplineFunctor< REAL >::evaluateDerivatives().
Real DeltaR |
Definition at line 71 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::reset(), BsplineFunctor< REAL >::resize(), qmcplusplus::TEST_CASE(), and qmcplusplus::test_J1_spline().
Real DeltaRInv |
Definition at line 71 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::evaluate_impl(), BsplineFunctor< REAL >::evaluateDerivatives(), BsplineFunctor< REAL >::mw_evaluateV(), BsplineFunctor< REAL >::mw_evaluateVGL(), BsplineFunctor< REAL >::mw_updateVGL(), BsplineFunctor< REAL >::reset(), and BsplineFunctor< REAL >::resize().
Real dY |
Definition at line 73 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), and BsplineFunctor< REAL >::evaluateAll().
std::string elementType |
Definition at line 79 of file BsplineFunctor.h.
std::string fileName |
Definition at line 80 of file BsplineFunctor.h.
bool notOpt |
Definition at line 82 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::checkInVariablesExclusive(), BsplineFunctor< REAL >::checkOutVariables(), BsplineFunctor< REAL >::initialize(), BsplineFunctor< REAL >::isOptimizable(), BsplineFunctor< REAL >::put(), BsplineFunctor< REAL >::reportStatus(), and BsplineFunctor< REAL >::resetParametersExclusive().
int NumParams |
Definition at line 70 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluateDerivatives(), BsplineFunctor< REAL >::initialize(), RadialJastrowBuilder::initTwoBodyFunctor(), BsplineFunctor< REAL >::put(), BsplineFunctor< REAL >::reset(), BsplineFunctor< REAL >::resize(), qmcplusplus::TEST_CASE(), and qmcplusplus::test_J1_spline().
std::string pairType |
Definition at line 79 of file BsplineFunctor.h.
std::vector<std::string> ParameterNames |
Definition at line 78 of file BsplineFunctor.h.
std::vector<Real> Parameters |
Definition at line 77 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::initialize(), RadialJastrowBuilder::initTwoBodyFunctor(), BsplineFunctor< REAL >::isOptimizable(), BsplineFunctor< REAL >::put(), BsplineFunctor< REAL >::reset(), BsplineFunctor< REAL >::resetParametersExclusive(), and BsplineFunctor< REAL >::resize().
bool periodic |
Definition at line 83 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::put(), and BsplineFunctor< REAL >::setPeriodic().
std::shared_ptr<Vector<Real, OffloadAllocator<Real> > > spline_coefs_ |
Definition at line 68 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), BsplineFunctor< REAL >::getMaxIndex(), BsplineFunctor< REAL >::mw_evaluateV(), BsplineFunctor< REAL >::mw_evaluateVGL(), BsplineFunctor< REAL >::mw_updateVGL(), BsplineFunctor< REAL >::reset(), and BsplineFunctor< REAL >::resize().
std::vector<TinyVector<Real, 3> > SplineDerivs |
Definition at line 76 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluateDerivatives(), and BsplineFunctor< REAL >::resize().
Real Y |
Definition at line 73 of file BsplineFunctor.h.
Referenced by BsplineFunctor< REAL >::evaluate(), and BsplineFunctor< REAL >::evaluateAll().