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"
40 template <
typename Output=Number>
77 const Real = 0)
override
91 unsigned int size = output.
size();
92 for (
unsigned int i=0; i != size; ++i)
100 virtual std::unique_ptr<FunctionBase<Output>>
clone()
const override
102 return std::make_unique<ConstFunction<Output>>(
_c);
111 #endif // LIBMESH_CONST_FUNCTION_H
bool _initialized
当 init() 被调用以确保一切都准备好后,可以调用 operator() (...) 时为 true。
virtual Output operator()(const Point &, const Real=0) override
重载操作符,用于计算标量值。
virtual ~ConstFunction()=default
默认析构函数。
bool _is_time_dependent
成员变量用于缓存函数是否真正依赖于时间。
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual std::unique_ptr< FunctionBase< Output > > clone() const override
克隆函数。创建并返回一个与当前实例相同类型的新实例。
ConstFunction(const Output &c)
构造函数,用于初始化常量值。
FunctionBase是一个函数对象的基类,可以在某一点(可选地包括时间)进行评估。
virtual unsigned int size() const overridefinal
ConstFunction & operator=(const ConstFunction &)=default