FEMFunction函数的另一个函数。 更多...
#include <composite_fem_function.h>
Public 成员函数 | |
CompositeFEMFunction ()=default | |
默认构造函数。 更多... | |
CompositeFEMFunction (CompositeFEMFunction &&)=default | |
该类可以使用默认的移动构造和分配。 更多... | |
CompositeFEMFunction & | operator= (CompositeFEMFunction &&)=default |
CompositeFEMFunction (const CompositeFEMFunction &)=delete | |
该类包含unique_ptr成员,因此不能默认复制或分配。 更多... | |
CompositeFEMFunction & | operator= (const CompositeFEMFunction &)=delete |
virtual | ~CompositeFEMFunction ()=default |
子函数向量会自动清理。 更多... | |
void | attach_subfunction (const FEMFunctionBase< Output > &f, std::vector< unsigned int > index_map) |
附加新的子函数和索引映射到复合函数。 子函数被克隆并添加到subfunctions中,同时更新index_maps和reverse_index_map。 (*this)(index_map[i]) 将返回 f(i)。 更多... | |
virtual Output | operator() (const FEMContext &c, const Point &p, const Real time=0) override |
重载操作符,用于计算标量值。 更多... | |
virtual void | operator() (const FEMContext &c, const Point &p, const Real time, DenseVector< Output > &output) override |
重载操作符,用于计算矢量值。 更多... | |
virtual Output | component (const FEMContext &c, unsigned int i, const Point &p, Real time) override |
重载操作符,用于计算特定分量的值。 更多... | |
virtual std::unique_ptr < FEMFunctionBase< Output > > | clone () const override |
克隆函数。创建并返回一个与当前实例相同类型的新实例。 更多... | |
unsigned int | n_subfunctions () const |
获取子函数的数量。 更多... | |
unsigned int | n_components () const |
获取组件的数量。 更多... | |
virtual void | init_context (const FEMContext &) |
准备上下文对象以供使用。 更多... | |
void | operator() (const FEMContext &, const Point &p, DenseVector< Output > &output) |
计算时间无关的向量值函数的评估函数。将输出值设置在传入的output DenseVector中。 更多... | |
Private 属性 | |
std::vector< std::unique_ptr < FEMFunctionBase< Output > > > | subfunctions |
std::vector< std::vector < unsigned int > > | index_maps |
对于每个子函数,存储从子函数的索引到全局函数索引的映射的列表。 更多... | |
std::vector< std::pair < unsigned int, unsigned int > > | reverse_index_map |
对于每个全局指数,存储该指数是哪个子函数的本地指数。 每个元素是一个std::pair<unsigned int, unsigned int>,表示子函数的索引和子函数中的本地指数。 更多... | |
FEMFunction函数的另一个函数。
在文件 composite_fem_function.h 第 44 行定义.
|
explicitdefault |
默认构造函数。
|
default |
该类可以使用默认的移动构造和分配。
|
delete |
该类包含unique_ptr成员,因此不能默认复制或分配。
|
virtualdefault |
子函数向量会自动清理。
|
inline |
附加新的子函数和索引映射到复合函数。 子函数被克隆并添加到subfunctions中,同时更新index_maps和reverse_index_map。 (*this)(index_map[i]) 将返回 f(i)。
f | 要附加的子函数。 |
index_map | 从子函数的索引到全局函数索引的映射。 |
在文件 composite_fem_function.h 第 77 行定义.
参考 libMesh::FEMFunctionBase< Output >::clone(), libMesh::CompositeFEMFunction< Output >::index_maps, libMesh::invalid_uint, libMesh::CompositeFEMFunction< Output >::reverse_index_map , 以及 libMesh::CompositeFEMFunction< Output >::subfunctions.
参考自 libMesh::CompositeFEMFunction< Output >::clone().
|
inlineoverridevirtual |
克隆函数。创建并返回一个与当前实例相同类型的新实例。
实现了 libMesh::FEMFunctionBase< Output >.
在文件 composite_fem_function.h 第 179 行定义.
参考 libMesh::CompositeFEMFunction< Output >::attach_subfunction(), libMesh::CompositeFEMFunction< Output >::CompositeFEMFunction(), libMesh::CompositeFEMFunction< Output >::index_maps , 以及 libMesh::CompositeFEMFunction< Output >::subfunctions.
|
inlineoverridevirtual |
重载操作符,用于计算特定分量的值。
c | FEM上下文。 |
i | 要计算的分量的索引。 |
p | 计算点的坐标。 |
time | 时间值。 |
重载 libMesh::FEMFunctionBase< Output > .
在文件 composite_fem_function.h 第 158 行定义.
参考 libMesh::invalid_uint, libMesh::CompositeFEMFunction< Output >::reverse_index_map , 以及 libMesh::CompositeFEMFunction< Output >::subfunctions.
参考自 libMesh::CompositeFEMFunction< Output >::operator()().
|
inlinevirtualinherited |
准备上下文对象以供使用。
大多数问题将希望出于效率的考虑重新实现此函数,以便根据其特定的函数要求调用FE::get_*()。
context | FEM上下文对象。 |
被 libMesh::ParsedFEMFunction< Output > , 以及 libMesh::ParsedFEMFunction< T > 重载.
在文件 fem_function_base.h 第 70 行定义.
|
inline |
获取组件的数量。
在文件 composite_fem_function.h 第 200 行定义.
参考 libMesh::CompositeFEMFunction< Output >::reverse_index_map.
|
inline |
获取子函数的数量。
在文件 composite_fem_function.h 第 191 行定义.
参考 libMesh::CompositeFEMFunction< Output >::subfunctions.
|
inlineinherited |
计算时间无关的向量值函数的评估函数。将输出值设置在传入的output DenseVector中。
context | FEM上下文对象。 |
p | 坐标点。 |
output | 输出的向量。 |
在文件 fem_function_base.h 第 153 行定义.
|
inlineoverridevirtual |
重载操作符,用于计算标量值。
c | FEM上下文。 |
p | 计算点的坐标。 |
time | 时间值,默认为0。 |
实现了 libMesh::FEMFunctionBase< Output >.
在文件 composite_fem_function.h 第 115 行定义.
参考 libMesh::CompositeFEMFunction< Output >::component().
|
inlineoverridevirtual |
重载操作符,用于计算矢量值。
c | FEM上下文。 |
p | 计算点的坐标。 |
time | 时间值。 |
output | 计算得到的矢量值。 |
实现了 libMesh::FEMFunctionBase< Output >.
在文件 composite_fem_function.h 第 129 行定义.
参考 libMesh::CompositeFEMFunction< Output >::index_maps, libMesh::DenseVector< T >::resize(), libMesh::CompositeFEMFunction< Output >::reverse_index_map, libMesh::DenseVector< T >::size(), libMesh::CompositeFEMFunction< Output >::subfunctions , 以及 libMesh::DenseVector< T >::zero().
|
default |
|
delete |
|
private |
对于每个子函数,存储从子函数的索引到全局函数索引的映射的列表。
index_maps[i] 存储第 i 个子函数的索引映射。
在文件 composite_fem_function.h 第 214 行定义.
参考自 libMesh::CompositeFEMFunction< Output >::attach_subfunction(), libMesh::CompositeFEMFunction< Output >::clone() , 以及 libMesh::CompositeFEMFunction< Output >::operator()().
|
private |
对于每个全局指数,存储该指数是哪个子函数的本地指数。 每个元素是一个std::pair<unsigned int, unsigned int>,表示子函数的索引和子函数中的本地指数。
在文件 composite_fem_function.h 第 220 行定义.
参考自 libMesh::CompositeFEMFunction< Output >::attach_subfunction(), libMesh::CompositeFEMFunction< Output >::component(), libMesh::CompositeFEMFunction< Output >::n_components() , 以及 libMesh::CompositeFEMFunction< Output >::operator()().
|
private |
在文件 composite_fem_function.h 第 207 行定义.
参考自 libMesh::CompositeFEMFunction< Output >::attach_subfunction(), libMesh::CompositeFEMFunction< Output >::clone(), libMesh::CompositeFEMFunction< Output >::component(), libMesh::CompositeFEMFunction< Output >::n_subfunctions() , 以及 libMesh::CompositeFEMFunction< Output >::operator()().