24 virtual Real
value(Real t,
const Point & p)
const override;
25 virtual RealVectorValue
gradient(Real t,
const Point & p)
const override;
26 virtual Real
timeDerivative(Real t,
const Point & p)
const override;
Interface for objects that need to use functions.
Base class for function objects.
virtual Real value(Real t, const Point &p) const
Override this to evaluate the scalar function at point (t,x,y,z), by default this returns zero,...
const InputParameters & parameters() const
Get the parameters of the object.
Function which provides a piecewise representation of arbitrary functions.
unsigned int getFunctionIndex(Real t, const Point &p) const
Gets the index of the function at the specified time and spatial point.
const std::vector< Real > & _axis_coordinates
N-1 coordinates in the chosen axis, in increasing order, delimiting the N function regions.
const unsigned int _n_functions
Number of functions, N.
const unsigned int _component
Axis on which the N-1 delimiting points lie.
std::vector< const Function * > _functions
Functions in the N regions.
const std::vector< FunctionName > & _function_names
Names of the functions in the N regions.
const bool _use_time
Use the time axis?
static InputParameters validParams()
virtual Real value(Real t, const Point &p) const override
Override this to evaluate the scalar function at point (t,x,y,z), by default this returns zero,...
virtual Real timeDerivative(Real t, const Point &p) const override
Get the time derivative of the function.
virtual RealVectorValue gradient(Real t, const Point &p) const override
Function objects can optionally provide a gradient at a point.