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 std::vector< FunctionName > & _function_names
Names of the functions in the N regions.
Base class for function objects.
virtual Real timeDerivative(Real t, const Point &p) const override
Get the time derivative of the function.
const InputParameters & parameters() const
Get the parameters of the object.
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...
const bool _use_time
Use the time axis?
virtual RealVectorValue gradient(Real t, const Point &p) const override
Function objects can optionally provide a gradient at a point.
static InputParameters validParams()
PiecewiseFunction(const InputParameters ¶meters)
Function which provides a piecewise representation of arbitrary functions.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
unsigned int getFunctionIndex(Real t, const Point &p) const
Gets the index of the function at the specified time and spatial point.
std::vector< const Function * > _functions
Functions in the N regions.
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...
Interface for objects that need to use functions.
const unsigned int _component
Axis on which the N-1 delimiting points lie.