FEMFunctionBase是一个基类,用户可以从中派生出“函数样式”的对象,以在FEMSystem中使用。 更多...
#include <dirichlet_boundaries.h>
Public 成员函数 | |
FEMFunctionBase (FEMFunctionBase &&)=default | |
这5个特殊函数可以为这个类设置默认值。 更多... | |
FEMFunctionBase (const FEMFunctionBase &)=default | |
FEMFunctionBase & | operator= (const FEMFunctionBase &)=default |
FEMFunctionBase & | operator= (FEMFunctionBase &&)=default |
virtual | ~FEMFunctionBase ()=default |
virtual void | init_context (const FEMContext &) |
准备上下文对象以供使用。 更多... | |
virtual std::unique_ptr < FEMFunctionBase< Output > > | clone () const =0 |
创建并返回函数的新副本。 更多... | |
virtual Output | operator() (const FEMContext &, const Point &p, const Real time=0.)=0 |
计算坐标p和时间time(默认为0)处的标量函数值。 更多... | |
void | operator() (const FEMContext &, const Point &p, DenseVector< Output > &output) |
计算时间无关的向量值函数的评估函数。将输出值设置在传入的output DenseVector中。 更多... | |
virtual void | operator() (const FEMContext &, const Point &p, const Real time, DenseVector< Output > &output)=0 |
计算时间相关的向量值函数的评估函数。将输出值设置在传入的output DenseVector中。 更多... | |
virtual Output | component (const FEMContext &, unsigned int i, const Point &p, Real time=0.) |
返回坐标p和时间time的向量分量i。 更多... | |
Protected 成员函数 | |
FEMFunctionBase ()=default | |
默认构造函数。 更多... | |
FEMFunctionBase是一个基类,用户可以从中派生出“函数样式”的对象,以在FEMSystem中使用。
FEMFunctionBase类用于定义可以在FEMSystem中使用的“函数样式”对象。它提供了用于计算标量和向量值函数的接口。
在文件 dirichlet_boundaries.h 第 43 行定义.
|
protecteddefault |
默认构造函数。
|
default |
这5个特殊函数可以为这个类设置默认值。
|
default |
|
virtualdefault |
|
pure virtual |
创建并返回函数的新副本。
新副本应该足够“深”,以允许在不同线程中独立销毁和同时评估副本。
在 libMesh::CompositeFEMFunction< Output >, libMesh::ParsedFEMFunction< Output >, libMesh::ParsedFEMFunction< T >, libMesh::WrappedFunctor< Output > , 以及 libMesh::ConstFEMFunction< Output > 内被实现.
参考自 libMesh::CompositeFEMFunction< Output >::attach_subfunction() , 以及 libMesh::DirichletBoundary::DirichletBoundary().
|
inlinevirtual |
返回坐标p和时间time的向量分量i。
context | FEM上下文对象。 |
i | 向量的分量索引。 |
p | 坐标点。 |
time | 时间。 |
注意:子类不需要重写此函数,因为默认实现基于完整向量评估,通常是正确的。 注意:建议子类重写此函数,因为默认实现基于向量评估,通常是不必要的低效的。
被 libMesh::CompositeFEMFunction< Output >, libMesh::ParsedFEMFunction< Output >, libMesh::ParsedFEMFunction< T > , 以及 libMesh::WrappedFunctor< Output > 重载.
在文件 fem_function_base.h 第 141 行定义.
|
inlinevirtual |
准备上下文对象以供使用。
大多数问题将希望出于效率的考虑重新实现此函数,以便根据其特定的函数要求调用FE::get_*()。
context | FEM上下文对象。 |
被 libMesh::ParsedFEMFunction< Output > , 以及 libMesh::ParsedFEMFunction< T > 重载.
在文件 fem_function_base.h 第 70 行定义.
|
pure virtual |
计算坐标p和时间time(默认为0)处的标量函数值。
这是一个纯虚函数,因此您必须重写它。
context | FEM上下文对象。 |
p | 坐标点。 |
time | 时间。 |
在 libMesh::ParsedFEMFunction< Output >, libMesh::ParsedFEMFunction< T >, libMesh::CompositeFEMFunction< Output >, libMesh::WrappedFunctor< Output > , 以及 libMesh::ConstFEMFunction< Output > 内被实现.
|
inline |
计算时间无关的向量值函数的评估函数。将输出值设置在传入的output DenseVector中。
context | FEM上下文对象。 |
p | 坐标点。 |
output | 输出的向量。 |
在文件 fem_function_base.h 第 153 行定义.
|
pure virtual |
计算时间相关的向量值函数的评估函数。将输出值设置在传入的output DenseVector中。
这是一个纯虚函数,因此您必须重写它。
context | FEM上下文对象。 |
p | 坐标点。 |
time | 时间。 |
output | 输出的向量。 |
在 libMesh::ParsedFEMFunction< Output >, libMesh::CompositeFEMFunction< Output >, libMesh::WrappedFunctor< Output > , 以及 libMesh::ConstFEMFunction< Output > 内被实现.
|
default |
|
default |