|  | QMCPACK
    | 
 Inheritance diagram for ShortRangeCuspFunctor< T >:
 Inheritance diagram for ShortRangeCuspFunctor< T >: Collaboration 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
 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().