19#ifndef LIBMESH_CONST_FUNCTION_H
20#define LIBMESH_CONST_FUNCTION_H
23#include "libmesh/dense_vector.h"
24#include "libmesh/function_base.h"
25#include "libmesh/point.h"
42template <
typename Output=Number>
63 const Real = 0)
override
70 unsigned int size = output.
size();
71 for (
unsigned int i=0; i != size; ++i)
75 virtual std::unique_ptr<FunctionBase<Output>>
clone()
const override
77 return std::make_unique<ConstFunction<Output>>(
_c);
Function that returns a single value that never changes.
ConstFunction(const Output &c)
ConstFunction(const ConstFunction &)=default
ConstFunction(ConstFunction &&)=default
The 5 special functions can be defaulted for this class.
virtual std::unique_ptr< FunctionBase< Output > > clone() const override
ConstFunction & operator=(const ConstFunction &)=default
virtual Output operator()(const Point &, const Real=0) override
virtual ~ConstFunction()=default
Defines a dense vector for use in Finite Element-type computations.
virtual unsigned int size() const override final
Base class for functors that can be evaluated at a point and (optionally) time.
bool _initialized
When init() was called so that everything is ready for calls to operator() (...), then this bool is t...
bool _is_time_dependent
Cache whether or not this function is actually time-dependent.
A Point defines a location in LIBMESH_DIM dimensional Real space.
The libMesh namespace provides an interface to certain functionality in the library.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real