Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PLMD::function::FunctionTemplateBase Class Referenceabstract

#include <FunctionTemplateBase.h>

Inheritance diagram for PLMD::function::FunctionTemplateBase:
Inheritance graph
[legend]

Public Member Functions

bool allComponentsRequired (const std::vector< Value * > &args, const std::vector< ActionWithVector * > &actions)
 
virtual void calc (const ActionWithArguments *action, const std::vector< double > &args, std::vector< double > &vals, Matrix< double > &derivatives) const =0
 
virtual bool derivativesImplemented ()
 Override this function if you have not implemented the derivatives. More...
 
virtual bool doWithTasks () const
 
virtual unsigned getArgStart () const
 
virtual std::vector< Value * > getArgumentsToCheck (const std::vector< Value * > &args)
 
virtual std::vector< std::string > getComponentsPerLabel () const
 
virtual bool getDerivativeZeroIfValueIsZero () const
 
virtual std::string getGraphInfo (const std::string &lab) const
 
virtual void read (ActionWithArguments *action)=0
 
virtual void registerKeywords (Keywords &keys)=0
 
virtual void setPeriodicityForOutputs (ActionWithValue *action)
 
virtual void setPrefactor (ActionWithArguments *action, const double pref)
 
virtual void setup (ActionWithValue *action)
 
virtual bool zeroRank () const
 

Protected Member Functions

template<class T >
void parse (Action *action, const std::string &key, T &t)
 Parse a keyword from the input as a value. More...
 
void parseFlag (Action *action, const std::string &key, bool &t)
 Parse a keyword from the input as a flag. More...
 
template<class T >
void parseVector (Action *action, const std::string &key, std::vector< T > &t)
 Parse a keyword from the input as a vector. More...
 

Protected Attributes

bool noderiv = false
 Are we using derivatives. More...
 

Member Function Documentation

◆ allComponentsRequired()

bool PLMD::function::FunctionTemplateBase::allComponentsRequired ( const std::vector< Value * > &  args,
const std::vector< ActionWithVector * > &  actions 
)
inline

◆ calc()

virtual void PLMD::function::FunctionTemplateBase::calc ( const ActionWithArguments action,
const std::vector< double > &  args,
std::vector< double > &  vals,
Matrix< double > &  derivatives 
) const
pure virtual

◆ derivativesImplemented()

virtual bool PLMD::function::FunctionTemplateBase::derivativesImplemented ( )
inlinevirtual

Override this function if you have not implemented the derivatives.

Reimplemented in PLMD::function::Bessel.

◆ doWithTasks()

virtual bool PLMD::function::FunctionTemplateBase::doWithTasks ( ) const
inlinevirtual

◆ getArgStart()

virtual unsigned PLMD::function::FunctionTemplateBase::getArgStart ( ) const
inlinevirtual

◆ getArgumentsToCheck()

std::vector< Value * > PLMD::function::FunctionTemplateBase::getArgumentsToCheck ( const std::vector< Value * > &  args)
inlinevirtual

Reimplemented in PLMD::function::Custom.

◆ getComponentsPerLabel()

std::vector< std::string > PLMD::function::FunctionTemplateBase::getComponentsPerLabel ( ) const
inlinevirtual

◆ getDerivativeZeroIfValueIsZero()

virtual bool PLMD::function::FunctionTemplateBase::getDerivativeZeroIfValueIsZero ( ) const
inlinevirtual

◆ getGraphInfo()

std::string PLMD::function::FunctionTemplateBase::getGraphInfo ( const std::string &  lab) const
inlinevirtual

Reimplemented in PLMD::function::Custom.

◆ parse()

template<class T >
void PLMD::function::FunctionTemplateBase::parse ( Action action,
const std::string &  key,
T &  t 
)
protected

Parse a keyword from the input as a value.

◆ parseFlag()

void PLMD::function::FunctionTemplateBase::parseFlag ( Action action,
const std::string &  key,
bool &  t 
)
inlineprotected

Parse a keyword from the input as a flag.

◆ parseVector()

template<class T >
void PLMD::function::FunctionTemplateBase::parseVector ( Action action,
const std::string &  key,
std::vector< T > &  t 
)
protected

Parse a keyword from the input as a vector.

◆ read()

virtual void PLMD::function::FunctionTemplateBase::read ( ActionWithArguments action)
pure virtual

◆ registerKeywords()

virtual void PLMD::function::FunctionTemplateBase::registerKeywords ( Keywords keys)
pure virtual

◆ setPeriodicityForOutputs()

void PLMD::function::FunctionTemplateBase::setPeriodicityForOutputs ( ActionWithValue action)
inlinevirtual

◆ setPrefactor()

virtual void PLMD::function::FunctionTemplateBase::setPrefactor ( ActionWithArguments action,
const double  pref 
)
inlinevirtual

Reimplemented in PLMD::function::Sum.

◆ setup()

void PLMD::function::FunctionTemplateBase::setup ( ActionWithValue action)
inlinevirtual

◆ zeroRank()

virtual bool PLMD::function::FunctionTemplateBase::zeroRank ( ) const
inlinevirtual

Member Data Documentation

◆ noderiv

bool PLMD::function::FunctionTemplateBase::noderiv = false
protected

Are we using derivatives.


The documentation for this class was generated from the following file: