20 #ifndef LIBMESH_SUM_SHELL_MATRIX_H
21 #define LIBMESH_SUM_SHELL_MATRIX_H
24 #include "libmesh/libmesh_common.h"
25 #include "libmesh/reference_counted_object.h"
26 #include "libmesh/libmesh.h"
27 #include "libmesh/shell_matrix.h"
61 const Parallel::Communicator & comm_in);
117 template <
typename T>
126 template <
typename T>
129 const Parallel::Communicator & comm_in):
136 template <
typename T>
145 #endif // LIBMESH_SUM_SHELL_MATRIX_H
SumShellMatrix(const Parallel::Communicator &comm_in)
Constructor; 初始化一个空的和(sum)。
将任意数量的壳矩阵组合成一个单独的壳矩阵,通过将它们相加在一起的类。
virtual numeric_index_type n() const override
获取矩阵的列维度。
virtual numeric_index_type m() const override
获取矩阵的行维度。
virtual void vector_mult_add(NumericVector< T > &dest, const NumericVector< T > &arg) const override
将矩阵与参数arg相乘,然后将结果添加到dest中。
dof_id_type numeric_index_type
std::vector< ShellMatrix< T > * > matrices
指向被相加的壳矩阵的指针的向量。
virtual ~SumShellMatrix()
Destructor(析构函数)。
通用的Shell矩阵,即一个仅定义其对向量的作用的矩阵。此类包含必须在派生类中重写的纯虚拟成员。
virtual void vector_mult(NumericVector< T > &dest, const NumericVector< T > &arg) const override
将矩阵与参数arg相乘,并将结果存储在dest中。
virtual void get_diagonal(NumericVector< T > &dest) const override
将矩阵的对角部分复制到dest中。