![]() |
QMCPACK
|
Implements the function f = A*r/(B*r + 1) - A/B. More...
Inheritance diagram for UserFunctor< T >:
Collaboration diagram for UserFunctor< T >: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... | |
Public Member Functions inherited from OptimizableFunctorBase | |
| 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... | |
Public Member Functions inherited from OptimizableObject | |
| 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... | |
Public Attributes inherited from OptimizableFunctorBase | |
| real_type | cutoff_radius = 0.0 |
| maximum cutoff More... | |
| opt_variables_type | myVars |
| set of variables to be optimized More... | |
Additional Inherited Members | |
Public Types inherited from OptimizableFunctorBase | |
| 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
for r_j < cutoff_radius 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().