Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Attributes | List of all members
PLMD::gridtools::EvaluateGridFunction Class Reference

#include <EvaluateGridFunction.h>

Inheritance diagram for PLMD::gridtools::EvaluateGridFunction:
Inheritance graph
[legend]

Public Member Functions

bool allComponentsRequired (const std::vector< Value * > &args, const std::vector< ActionWithVector * > &actions)
 
void applyForce (const ActionWithArguments *action, const std::vector< double > &args, const double &force, std::vector< double > &forcesToApply) const
 This is used to apply forces in interpolate. More...
 
void calc (const ActionWithArguments *action, const std::vector< double > &args, std::vector< double > &vals, Matrix< double > &derivatives) const override
 
virtual bool derivativesImplemented ()
 Override this function if you have not implemented the derivatives. More...
 
virtual bool doWithTasks () const
 
unsigned getArgStart () const override
 
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
 
const GridCoordinatesObjectgetGridObject () const
 This gets the grid object. More...
 
const std::vector< double > & getGridSpacing () const
 Get the grid spacing. More...
 
std::vector< std::string > getMax () const
 Get the vector containing the maximum value of the grid in each dimension. More...
 
std::vector< std::string > getMin () const
 Get the vector containing the minimum value of the grid in each dimension. More...
 
std::vector< unsigned > getNbin () const
 Get the number of grid points in each direction. More...
 
std::vector< bool > getPbc () const
 Get the periodicity of the grid. More...
 
void read (ActionWithArguments *action) override
 
void registerKeywords (Keywords &keys) override
 This is used to setup the input gridobject's bounds with the grid data from values. More...
 
virtual void setPeriodicityForOutputs (ActionWithValue *action)
 
virtual void setPrefactor (ActionWithArguments *action, const double pref)
 
void setup (ActionWithValue *action) override
 
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...
 

Private Types

enum  { spline, linear, floor, ceiling }
 How are we doing interpolation. More...
 

Private Attributes

GridCoordinatesObject gridobject
 Holds the information on the grid. More...
 
enum PLMD::gridtools::EvaluateGridFunction:: { ... }  interpolation_type
 How are we doing interpolation. More...
 
bool set_zero_outside_range
 How should we set the value of this function outside the range. More...
 
std::unique_ptr< Interpolatorspline_interpolator
 This does the interpolating. More...
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private

How are we doing interpolation.

Enumerator
spline 
linear 
floor 
ceiling 

Member Function Documentation

◆ allComponentsRequired()

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

◆ applyForce()

void PLMD::gridtools::EvaluateGridFunction::applyForce ( const ActionWithArguments action,
const std::vector< double > &  args,
const double &  force,
std::vector< double > &  forcesToApply 
) const

This is used to apply forces in interpolate.

◆ calc()

void PLMD::gridtools::EvaluateGridFunction::calc ( const ActionWithArguments action,
const std::vector< double > &  args,
std::vector< double > &  vals,
Matrix< double > &  derivatives 
) const
overridevirtual

◆ derivativesImplemented()

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

Override this function if you have not implemented the derivatives.

Reimplemented in PLMD::function::Bessel.

◆ doWithTasks()

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

◆ getArgStart()

unsigned PLMD::gridtools::EvaluateGridFunction::getArgStart ( ) const
inlineoverridevirtual

◆ getArgumentsToCheck()

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

Reimplemented in PLMD::function::Custom.

◆ getComponentsPerLabel()

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

◆ getDerivativeZeroIfValueIsZero()

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

◆ getGraphInfo()

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

Reimplemented in PLMD::function::Custom.

◆ getGridObject()

const GridCoordinatesObject & PLMD::gridtools::EvaluateGridFunction::getGridObject ( ) const
inline

This gets the grid object.

◆ getGridSpacing()

const std::vector< double > & PLMD::gridtools::EvaluateGridFunction::getGridSpacing ( ) const
inline

Get the grid spacing.

◆ getMax()

std::vector< std::string > PLMD::gridtools::EvaluateGridFunction::getMax ( ) const
inline

Get the vector containing the maximum value of the grid in each dimension.

◆ getMin()

std::vector< std::string > PLMD::gridtools::EvaluateGridFunction::getMin ( ) const
inline

Get the vector containing the minimum value of the grid in each dimension.

◆ getNbin()

std::vector< unsigned > PLMD::gridtools::EvaluateGridFunction::getNbin ( ) const
inline

Get the number of grid points in each direction.

◆ getPbc()

std::vector< bool > PLMD::gridtools::EvaluateGridFunction::getPbc ( ) const

Get the periodicity of the grid.

◆ parse()

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

Parse a keyword from the input as a value.

◆ parseFlag()

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

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 
)
protectedinherited

Parse a keyword from the input as a vector.

◆ read()

void PLMD::gridtools::EvaluateGridFunction::read ( ActionWithArguments action)
overridevirtual

◆ registerKeywords()

void PLMD::gridtools::EvaluateGridFunction::registerKeywords ( Keywords keys)
overridevirtual

This is used to setup the input gridobject's bounds with the grid data from values.

Implements PLMD::function::FunctionTemplateBase.

◆ setPeriodicityForOutputs()

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

◆ setPrefactor()

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

Reimplemented in PLMD::function::Sum.

◆ setup()

void PLMD::gridtools::EvaluateGridFunction::setup ( ActionWithValue action)
overridevirtual

◆ zeroRank()

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

Member Data Documentation

◆ gridobject

GridCoordinatesObject PLMD::gridtools::EvaluateGridFunction::gridobject
private

Holds the information on the grid.

◆ interpolation_type

enum { ... } PLMD::gridtools::EvaluateGridFunction::interpolation_type

How are we doing interpolation.

◆ noderiv

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

Are we using derivatives.

◆ set_zero_outside_range

bool PLMD::gridtools::EvaluateGridFunction::set_zero_outside_range
private

How should we set the value of this function outside the range.

◆ spline_interpolator

std::unique_ptr<Interpolator> PLMD::gridtools::EvaluateGridFunction::spline_interpolator
private

This does the interpolating.


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