![]() |
QMCPACK
|
Implements the function f = A*r/(B*r + 1) - A/B. More...
Public Member Functions | |
UserFunctor (const std::string &my_name) | |
default constructor More... | |
void | setCusp (real_type cusp) override |
empty virtual function to help builder classes More... | |
OptimizableFunctorBase * | makeClone () const override |
create a clone of this object More... | |
void | reset () override |
reset function More... | |
real_type | evaluate (real_type r) const |
real_type | evaluate (real_type r, real_type &dudr, real_type &d2udr2) const |
real_type | evaluate (real_type r, real_type &dudr, real_type &d2udr2, real_type &d3udr3) const |
real_type | evaluateV (const int iat, const int iStart, const int iEnd, const T *restrict _distArray, T *restrict distArrayCompressed) const |
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 |
real_type | f (real_type r) override |
evaluate the value at r More... | |
real_type | df (real_type r) override |
evaluate the first derivative More... | |
bool | evaluateDerivatives (real_type r, std::vector< TinyVector< real_type, 3 >> &derivs) override |
bool | evaluateDerivatives (real_type r, std::vector< real_type > &derivs) override |
compute derivatives with respect to variational parameters More... | |
bool | put (xmlNodePtr cur) override |
process xmlnode and registers variables to optimize More... | |
void | checkInVariablesExclusive (opt_variables_type &active) override |
check in variational parameters to the global list of parameters used by the optimizer. More... | |
void | checkOutVariables (const opt_variables_type &active) override |
check out variational optimizable variables More... | |
void | resetParametersExclusive (const opt_variables_type &active) override |
reset the parameters during optimizations. More... | |
![]() | |
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 | setPeriodic (bool periodic) |
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 |
virtual void | reportStatus (std::ostream &os) |
print the state, e.g., optimizables More... | |
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_evaluateV (const int num_groups, const UserFunctor *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) |
evaluate sum of the pair potentials FIXME More... | |
static void | mw_evaluateVGL (const int iat, const int num_groups, const UserFunctor *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) |
static void | mw_updateVGL (const int iat, const std::vector< bool > &isAccepted, const int num_groups, const UserFunctor *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) |
Public Attributes | |
bool | Opt_A |
Is optimizable. More... | |
real_type | A |
Value. More... | |
std::string | ID_A |
Id in XML input. More... | |
bool | Opt_B |
Is optimizable. More... | |
real_type | B |
Value. More... | |
std::string | ID_B |
Id in XML input. More... | |
![]() | |
real_type | cutoff_radius = 0.0 |
maximum cutoff More... | |
opt_variables_type | myVars |
set of variables to be optimized More... | |
Additional Inherited Members | |
![]() | |
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... | |
Implements the function f = A*r/(B*r + 1) - A/B.
Definition at line 47 of file UserFunctor.h.
|
inline |
default constructor
Definition at line 66 of file UserFunctor.h.
References UserFunctor< T >::reset().
Referenced by UserFunctor< T >::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 307 of file UserFunctor.h.
References VariableSet::insertFrom(), and OptimizableFunctorBase::myVars.
Referenced by qmcplusplus::TEST_CASE().
|
inlineoverridevirtual |
check out variational optimizable variables
active | a super set of optimizable variables |
Implements OptimizableFunctorBase.
Definition at line 312 of file UserFunctor.h.
References VariableSet::getIndex(), and OptimizableFunctorBase::myVars.
evaluate the first derivative
r | distance |
virtual function necessary for a transformation to a numerical functor
Implements OptimizableFunctorBase.
Definition at line 187 of file UserFunctor.h.
References UserFunctor< T >::evaluate().
Definition at line 85 of file UserFunctor.h.
References UserFunctor< T >::A, and UserFunctor< T >::B.
Referenced by UserFunctor< T >::df(), UserFunctor< T >::evaluateV(), UserFunctor< T >::evaluateVGL(), UserFunctor< T >::f(), and qmcplusplus::TEST_CASE().
Definition at line 90 of file UserFunctor.h.
References UserFunctor< T >::A, and UserFunctor< T >::B.
|
inline |
Definition at line 100 of file UserFunctor.h.
References UserFunctor< T >::A, UserFunctor< T >::B, and qmcplusplus::pow().
|
inlineoverridevirtual |
Reimplemented from OptimizableFunctorBase.
Definition at line 213 of file UserFunctor.h.
References UserFunctor< T >::A, UserFunctor< T >::B, UserFunctor< T >::Opt_A, UserFunctor< T >::Opt_B, and qmcplusplus::pow().
Referenced by qmcplusplus::TEST_CASE().
compute derivatives with respect to variational parameters
Reimplemented from OptimizableFunctorBase.
Definition at line 240 of file UserFunctor.h.
References UserFunctor< T >::A, UserFunctor< T >::B, UserFunctor< T >::Opt_A, and UserFunctor< T >::Opt_B.
|
inline |
|
inline |
evaluate the value at r
r | distance |
virtual function necessary for a transformation to a numerical functor
Implements OptimizableFunctorBase.
Definition at line 185 of file UserFunctor.h.
References UserFunctor< T >::evaluate().
|
inlineoverridevirtual |
create a clone of this object
Implements OptimizableFunctorBase.
Definition at line 78 of file UserFunctor.h.
References UserFunctor< T >::UserFunctor().
|
inlinestatic |
evaluate sum of the pair potentials FIXME
Definition at line 126 of file UserFunctor.h.
|
inlinestatic |
Definition at line 170 of file UserFunctor.h.
|
inlinestatic |
Definition at line 194 of file UserFunctor.h.
|
inlineoverridevirtual |
process xmlnode and registers variables to optimize
cur | xmlNode for a functor |
Implements OptimizableFunctorBase.
Definition at line 263 of file UserFunctor.h.
References UserFunctor< T >::A, OhmmsAttributeSet::add(), UserFunctor< T >::B, VariableSet::clear(), UserFunctor< T >::ID_A, UserFunctor< T >::ID_B, VariableSet::insert(), OptimizableFunctorBase::myVars, UserFunctor< T >::Opt_A, UserFunctor< T >::Opt_B, optimize::OTHER_P, OhmmsAttributeSet::put(), putContent(), and UserFunctor< T >::reset().
Referenced by qmcplusplus::TEST_CASE().
|
inlineoverridevirtual |
reset function
Implements OptimizableFunctorBase.
Definition at line 80 of file UserFunctor.h.
Referenced by UserFunctor< T >::put(), UserFunctor< T >::resetParametersExclusive(), UserFunctor< T >::setCusp(), and UserFunctor< T >::UserFunctor().
|
inlineoverridevirtual |
reset the parameters during optimizations.
Exclusive, see checkInVariablesExclusive
Implements OptimizableObject.
Definition at line 317 of file UserFunctor.h.
References UserFunctor< T >::A, UserFunctor< T >::B, OptimizableFunctorBase::myVars, UserFunctor< T >::Opt_A, UserFunctor< T >::Opt_B, UserFunctor< T >::reset(), VariableSet::size(), and VariableSet::where().
Referenced by qmcplusplus::TEST_CASE().
|
inlineoverridevirtual |
empty virtual function to help builder classes
Reimplemented from OptimizableFunctorBase.
Definition at line 70 of file UserFunctor.h.
References UserFunctor< T >::A, UserFunctor< T >::Opt_A, and UserFunctor< T >::reset().
Referenced by qmcplusplus::TEST_CASE().
Value.
Definition at line 52 of file UserFunctor.h.
Referenced by UserFunctor< T >::evaluate(), UserFunctor< T >::evaluateDerivatives(), UserFunctor< T >::put(), UserFunctor< T >::resetParametersExclusive(), UserFunctor< T >::setCusp(), and qmcplusplus::TEST_CASE().
Value.
Definition at line 60 of file UserFunctor.h.
Referenced by UserFunctor< T >::evaluate(), UserFunctor< T >::evaluateDerivatives(), UserFunctor< T >::put(), UserFunctor< T >::resetParametersExclusive(), and qmcplusplus::TEST_CASE().
std::string ID_A |
Id in XML input.
Definition at line 54 of file UserFunctor.h.
Referenced by UserFunctor< T >::put().
std::string ID_B |
Id in XML input.
Definition at line 62 of file UserFunctor.h.
Referenced by UserFunctor< T >::put().
bool Opt_A |
Is optimizable.
Definition at line 50 of file UserFunctor.h.
Referenced by UserFunctor< T >::evaluateDerivatives(), UserFunctor< T >::put(), UserFunctor< T >::resetParametersExclusive(), and UserFunctor< T >::setCusp().
bool Opt_B |
Is optimizable.
Definition at line 58 of file UserFunctor.h.
Referenced by UserFunctor< T >::evaluateDerivatives(), UserFunctor< T >::put(), and UserFunctor< T >::resetParametersExclusive().