![]() |
QMCPACK
|
Inheritance diagram for ShortRangeCuspFunctor< T >:
Collaboration diagram for ShortRangeCuspFunctor< T >:Public Member Functions | |
| ShortRangeCuspFunctor (const std::string &my_name) | |
| default constructor More... | |
| void | setCusp (real_type cusp) override |
| sets the cusp condition and disables optimization of the cusp-determining parameter More... | |
| OptimizableFunctorBase * | makeClone () const override |
| clone the functor More... | |
| void | reset () override |
| Implement the reset function, which was pure virtual in OptimizableFunctorBase, even though we don't need it. More... | |
| real_type | evaluate (real_type r) const |
| compute U(r) at a particular value of r More... | |
| real_type | evaluate (real_type r, real_type &dudr, real_type &d2udr2) const |
| compute U(r), dU/dr, and d^2U/dr^2 at a particular value of r More... | |
| real_type | evaluate (real_type r, real_type &dudr, real_type &d2udr2, real_type &d3udr3) const |
| compute U(r), dU/dr, d^2U/dr^2, and d^3U/dr^3 More... | |
| real_type | evaluateV (const int iat, const int iStart, const int iEnd, const T *restrict _distArray, T *restrict distArrayCompressed) const |
| compute U(r) at multiple distances and sum the results More... | |
| 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 |
| compute U(r), dU/dr, and d^2U/dr^2 at multiple values of r More... | |
| real_type | f (real_type r) override |
| compute U(r) at a particular distance or return zero if beyond the cutoff More... | |
| real_type | df (real_type r) override |
| compute dU/dr at a particular distance or return zero if beyond the cutoff More... | |
| bool | evaluateDerivatives (real_type r, std::vector< TinyVector< real_type, 3 >> &derivs) override |
| compute derivatives of U(r), dU/dr, and d^2U/dr^2 with respect to the variational parameters More... | |
| bool | evaluateDerivatives (real_type r, std::vector< real_type > &derivs) override |
| compute derivatives of U(r) with respect to the variational parameters More... | |
| template<class U > | |
| void | set_variable_from_xml (ReportEngine &PRE, xmlNodePtr cur, U &variable_to_set, std::string &id_to_set, bool &opt_to_set) |
| set up a variational parameter using the supplied xml node More... | |
| bool | put (xmlNodePtr cur) override |
| read in information about the functor from an xml node 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 real_type | f (real_type r)=0 |
| evaluate the value at r More... | |
| virtual real_type | df (real_type r)=0 |
| evaluate the first derivative More... | |
| virtual void | setDensity (real_type n) |
| empty virtual function to help builder classes More... | |
| virtual void | setCusp (real_type cusp) |
| empty virtual function to help builder classes More... | |
| virtual void | setPeriodic (bool periodic) |
| empty virtual function to help builder classes More... | |
| virtual bool | evaluateDerivatives (real_type r, std::vector< qmcplusplus::TinyVector< real_type, 3 >> &derivs) |
| virtual bool | evaluateDerivatives (real_type r, std::vector< real_type > &derivs) |
| 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 ShortRangeCuspFunctor *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... | |
Public Attributes | |
| bool | Opt_A |
| true, if A is optimizable More... | |
| bool | Opt_R0 |
| true, if R0 is optimizable More... | |
| bool | Opt_B |
| true, if B variables are optimizable More... | |
| real_type | A |
| variable that controls the cusp More... | |
| real_type | R0 |
| the soft cutoff distance that controls how short ranged the functor is More... | |
| std::vector< real_type > | B |
| variables that add detail through an expansion in sigmoidal functions More... | |
| std::string | ID_A |
| id of A More... | |
| std::string | ID_R0 |
| id of R0 More... | |
| std::string | ID_B |
| id of B 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... | |
Definition at line 57 of file ShortRangeCuspFunctor.h.
|
inline |
default constructor
Definition at line 87 of file ShortRangeCuspFunctor.h.
References OptimizableFunctorBase::cutoff_radius, and ShortRangeCuspFunctor< T >::reset().
Referenced by ShortRangeCuspFunctor< 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 636 of file ShortRangeCuspFunctor.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 641 of file ShortRangeCuspFunctor.h.
References VariableSet::getIndex(), and OptimizableFunctorBase::myVars.
compute dU/dr at a particular distance or return zero if beyond the cutoff
Definition at line 275 of file ShortRangeCuspFunctor.h.
References OptimizableFunctorBase::cutoff_radius, and ShortRangeCuspFunctor< T >::evaluate().
compute U(r) at a particular value of r
Definition at line 121 of file ShortRangeCuspFunctor.h.
References ShortRangeCuspFunctor< T >::A, ShortRangeCuspFunctor< T >::B, OptimizableFunctorBase::cutoff_radius, qmcplusplus::exp(), ShortRangeCuspFunctor< T >::R0, and qmcplusplus::Units::time::s.
Referenced by ShortRangeCuspFunctor< T >::df(), ShortRangeCuspFunctor< T >::evaluateV(), ShortRangeCuspFunctor< T >::evaluateVGL(), ShortRangeCuspFunctor< T >::f(), and qmcplusplus::TEST_CASE().
compute U(r), dU/dr, and d^2U/dr^2 at a particular value of r
Definition at line 144 of file ShortRangeCuspFunctor.h.
References ShortRangeCuspFunctor< T >::A, ShortRangeCuspFunctor< T >::B, OptimizableFunctorBase::cutoff_radius, qmcplusplus::exp(), qmcplusplus::n, ShortRangeCuspFunctor< T >::R0, and qmcplusplus::Units::time::s.
|
inline |
compute U(r), dU/dr, d^2U/dr^2, and d^3U/dr^3
Definition at line 198 of file ShortRangeCuspFunctor.h.
References ReportEngine::error().
|
inlineoverride |
compute derivatives of U(r), dU/dr, and d^2U/dr^2 with respect to the variational parameters
Definition at line 285 of file ShortRangeCuspFunctor.h.
References ShortRangeCuspFunctor< T >::A, ShortRangeCuspFunctor< T >::B, qmcplusplus::exp(), qmcplusplus::n, ShortRangeCuspFunctor< T >::Opt_A, ShortRangeCuspFunctor< T >::Opt_B, ShortRangeCuspFunctor< T >::Opt_R0, ShortRangeCuspFunctor< T >::R0, and qmcplusplus::Units::time::s.
Referenced by qmcplusplus::TEST_CASE().
compute derivatives of U(r) with respect to the variational parameters
Definition at line 391 of file ShortRangeCuspFunctor.h.
References ShortRangeCuspFunctor< T >::A, ShortRangeCuspFunctor< T >::B, qmcplusplus::exp(), qmcplusplus::n, ShortRangeCuspFunctor< T >::Opt_A, ShortRangeCuspFunctor< T >::Opt_B, ShortRangeCuspFunctor< T >::Opt_R0, ShortRangeCuspFunctor< T >::R0, and qmcplusplus::Units::time::s.
|
inline |
compute U(r) at multiple distances and sum the results
Definition at line 206 of file ShortRangeCuspFunctor.h.
References ShortRangeCuspFunctor< T >::evaluate().
|
inline |
compute U(r), dU/dr, and d^2U/dr^2 at multiple values of r
Definition at line 247 of file ShortRangeCuspFunctor.h.
References ShortRangeCuspFunctor< T >::evaluate().
compute U(r) at a particular distance or return zero if beyond the cutoff
Definition at line 267 of file ShortRangeCuspFunctor.h.
References OptimizableFunctorBase::cutoff_radius, and ShortRangeCuspFunctor< T >::evaluate().
|
inlineoverridevirtual |
clone the functor
Implements OptimizableFunctorBase.
Definition at line 112 of file ShortRangeCuspFunctor.h.
References ShortRangeCuspFunctor< T >::ShortRangeCuspFunctor().
|
inlinestatic |
evaluate sum of the pair potentials FIXME
for r_j < cutoff_radius Definition at line 222 of file ShortRangeCuspFunctor.h.
|
inlineoverridevirtual |
read in information about the functor from an xml node
Implements OptimizableFunctorBase.
Definition at line 500 of file ShortRangeCuspFunctor.h.
References ShortRangeCuspFunctor< T >::A, OhmmsAttributeSet::add(), qmcplusplus::app_summary(), ShortRangeCuspFunctor< T >::B, castXMLCharToChar(), OptimizableFunctorBase::cutoff_radius, ReportEngine::error(), ShortRangeCuspFunctor< T >::ID_A, ShortRangeCuspFunctor< T >::ID_B, ShortRangeCuspFunctor< T >::ID_R0, VariableSet::insert(), qmcplusplus::lowerCase(), OptimizableFunctorBase::myVars, ShortRangeCuspFunctor< T >::Opt_A, ShortRangeCuspFunctor< T >::Opt_B, ShortRangeCuspFunctor< T >::Opt_R0, optimize::OTHER_P, OhmmsAttributeSet::put(), putContent(), ShortRangeCuspFunctor< T >::R0, ShortRangeCuspFunctor< T >::reset(), ShortRangeCuspFunctor< T >::set_variable_from_xml(), and ShortRangeCuspFunctor< T >::setCusp().
Referenced by qmcplusplus::TEST_CASE().
|
inlineoverridevirtual |
Implement the reset function, which was pure virtual in OptimizableFunctorBase, even though we don't need it.
Implements OptimizableFunctorBase.
Definition at line 115 of file ShortRangeCuspFunctor.h.
Referenced by ShortRangeCuspFunctor< T >::put(), ShortRangeCuspFunctor< T >::resetParametersExclusive(), ShortRangeCuspFunctor< T >::setCusp(), and ShortRangeCuspFunctor< T >::ShortRangeCuspFunctor().
|
inlineoverridevirtual |
reset the parameters during optimizations.
Exclusive, see checkInVariablesExclusive
Implements OptimizableObject.
Definition at line 646 of file ShortRangeCuspFunctor.h.
References ShortRangeCuspFunctor< T >::A, ShortRangeCuspFunctor< T >::B, OptimizableFunctorBase::myVars, ShortRangeCuspFunctor< T >::Opt_A, ShortRangeCuspFunctor< T >::Opt_B, ShortRangeCuspFunctor< T >::Opt_R0, ShortRangeCuspFunctor< T >::R0, ShortRangeCuspFunctor< T >::reset(), VariableSet::size(), and VariableSet::where().
Referenced by qmcplusplus::TEST_CASE().
|
inline |
set up a variational parameter using the supplied xml node
Definition at line 457 of file ShortRangeCuspFunctor.h.
References OhmmsAttributeSet::add(), ReportEngine::error(), VariableSet::insert(), qmcplusplus::lowerCase(), OptimizableFunctorBase::myVars, optimize::OTHER_P, OhmmsAttributeSet::put(), and putContent().
Referenced by ShortRangeCuspFunctor< T >::put().
|
inlineoverride |
sets the cusp condition and disables optimization of the cusp-determining parameter
Definition at line 103 of file ShortRangeCuspFunctor.h.
References ShortRangeCuspFunctor< T >::A, ShortRangeCuspFunctor< T >::Opt_A, and ShortRangeCuspFunctor< T >::reset().
Referenced by ShortRangeCuspFunctor< T >::put().
variable that controls the cusp
Definition at line 70 of file ShortRangeCuspFunctor.h.
Referenced by ShortRangeCuspFunctor< T >::evaluate(), ShortRangeCuspFunctor< T >::evaluateDerivatives(), ShortRangeCuspFunctor< T >::put(), ShortRangeCuspFunctor< T >::resetParametersExclusive(), ShortRangeCuspFunctor< T >::setCusp(), and qmcplusplus::TEST_CASE().
| std::vector<real_type> B |
variables that add detail through an expansion in sigmoidal functions
Definition at line 74 of file ShortRangeCuspFunctor.h.
Referenced by ShortRangeCuspFunctor< T >::evaluate(), ShortRangeCuspFunctor< T >::evaluateDerivatives(), ShortRangeCuspFunctor< T >::put(), ShortRangeCuspFunctor< T >::resetParametersExclusive(), and qmcplusplus::TEST_CASE().
| std::string ID_A |
id of A
Definition at line 76 of file ShortRangeCuspFunctor.h.
Referenced by ShortRangeCuspFunctor< T >::put(), and qmcplusplus::TEST_CASE().
| std::string ID_B |
id of B
Definition at line 80 of file ShortRangeCuspFunctor.h.
Referenced by ShortRangeCuspFunctor< T >::put(), and qmcplusplus::TEST_CASE().
| std::string ID_R0 |
id of R0
Definition at line 78 of file ShortRangeCuspFunctor.h.
Referenced by ShortRangeCuspFunctor< T >::put(), and qmcplusplus::TEST_CASE().
| bool Opt_A |
true, if A is optimizable
Definition at line 64 of file ShortRangeCuspFunctor.h.
Referenced by ShortRangeCuspFunctor< T >::evaluateDerivatives(), ShortRangeCuspFunctor< T >::put(), ShortRangeCuspFunctor< T >::resetParametersExclusive(), ShortRangeCuspFunctor< T >::setCusp(), and qmcplusplus::TEST_CASE().
| bool Opt_B |
true, if B variables are optimizable
Definition at line 68 of file ShortRangeCuspFunctor.h.
Referenced by ShortRangeCuspFunctor< T >::evaluateDerivatives(), ShortRangeCuspFunctor< T >::put(), ShortRangeCuspFunctor< T >::resetParametersExclusive(), and qmcplusplus::TEST_CASE().
| bool Opt_R0 |
true, if R0 is optimizable
Definition at line 66 of file ShortRangeCuspFunctor.h.
Referenced by ShortRangeCuspFunctor< T >::evaluateDerivatives(), ShortRangeCuspFunctor< T >::put(), ShortRangeCuspFunctor< T >::resetParametersExclusive(), and qmcplusplus::TEST_CASE().
| real_type R0 |
the soft cutoff distance that controls how short ranged the functor is
Definition at line 72 of file ShortRangeCuspFunctor.h.
Referenced by ShortRangeCuspFunctor< T >::evaluate(), ShortRangeCuspFunctor< T >::evaluateDerivatives(), ShortRangeCuspFunctor< T >::put(), ShortRangeCuspFunctor< T >::resetParametersExclusive(), and qmcplusplus::TEST_CASE().