模板类用于构造集中质量矩阵。 可能还有用于计算与整体系统缩放相关的数量。每当在此类上调用 add 方法时,我们都会将提供的值的绝对值相加到行索引 i
中。
更多...
#include <lumped_mass_matrix.h>
Public 成员函数 | |
LumpedMassMatrix (const Parallel::Communicator &comm) | |
构造函数;将矩阵初始化为空,没有任何结构,即矩阵完全无法使用。 因此,此构造函数仅适用于作为类的成员的矩阵。所有其他矩阵应在具有所有必要信息的数据流中创建。 更多... | |
LumpedMassMatrix (LumpedMassMatrix &&)=default | |
unique pointers 可以移动但不能复制 更多... | |
LumpedMassMatrix & | operator= (LumpedMassMatrix &&)=default |
virtual std::unique_ptr < SparseMatrix< T > > | zero_clone () const override |
创建一个与当前矩阵相同的零矩阵的唯一指针。 更多... | |
virtual std::unique_ptr < SparseMatrix< T > > | clone () const override |
克隆当前矩阵的唯一指针。 更多... | |
virtual void | set (const numeric_index_type i, const numeric_index_type j, const T value) override |
设置矩阵中指定位置 ![]() value。 更多... | |
virtual void | add (const numeric_index_type i, const numeric_index_type j, const T value) override |
将值 value 添加到矩阵中的指定位置 ![]() | |
virtual void | add (const T a, const SparseMatrix< T > &X) override |
将矩阵 ![]() a 并将结果添加到当前矩阵中。 更多... | |
virtual void | init (const numeric_index_type m, const numeric_index_type n, const numeric_index_type m_l, const numeric_index_type n_l, const numeric_index_type nnz=30, const numeric_index_type noz=10, const numeric_index_type blocksize=1) override |
初始化矩阵的维度和结构 更多... | |
virtual void | init (ParallelType type=PARALLEL) override |
初始化并行矩阵 更多... | |
virtual void | init (const NumericVector< T > &other, const bool fast=false) |
使用 NumericVector other 初始化,例如复制 other 的存储分配。 该函数不复制向量条目。如果将 fast 设置为 false,则初始化的条目将显式清零,否则它们的值是不确定的。 更多... | |
virtual void | init (const DiagonalMatrix< T > &other, const bool fast=false) |
使用 DiagonalMatrix other 初始化,例如复制 other 底层 NumericVector 的存储分配。 该函数不复制向量条目。如果将 fast 设置为 false,则初始化的条目将显式清零,否则它们的值是不确定的。 更多... | |
virtual void | clear () override |
清除矩阵的所有内容,将其恢复到初始状态。 更多... | |
virtual void | zero () override |
将矩阵的所有元素置零。 更多... | |
virtual void | close () override |
完成矩阵的初始化和结构设置,使其可以用于计算。 更多... | |
virtual numeric_index_type | m () const override |
返回矩阵的总行数。 更多... | |
virtual numeric_index_type | n () const override |
返回矩阵的总列数。 更多... | |
virtual numeric_index_type | row_start () const override |
返回矩阵在本地计算中的起始行号。 更多... | |
virtual numeric_index_type | row_stop () const override |
返回矩阵在本地计算中的结束行号。 更多... | |
virtual void | add_matrix (const DenseMatrix< T > &dm, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols) override |
将指定的 DenseMatrix dm 添加到矩阵中的指定行和列。 更多... | |
virtual void | add_matrix (const DenseMatrix< T > &dm, const std::vector< numeric_index_type > &dof_indices) override |
将指定的 DenseMatrix dm 添加到矩阵中的指定自由度索引。 更多... | |
virtual T | operator() (const numeric_index_type i, const numeric_index_type j) const override |
返回矩阵中指定位置的元素值。 更多... | |
virtual Real | l1_norm () const override |
计算矩阵的 ![]() | |
virtual Real | linfty_norm () const override |
计算矩阵的 ![]() | |
virtual bool | closed () const override |
返回矩阵是否已关闭,即是否已完成初始化并可以用于计算。 更多... | |
virtual void | print_personal (std::ostream &os=libMesh::out) const override |
在输出流中打印矩阵的个性化信息。 更多... | |
virtual void | get_diagonal (NumericVector< T > &dest) const override |
获取对角矩阵的对角线元素,并将它们存储在指定的 NumericVector 对象中。 更多... | |
virtual void | get_transpose (SparseMatrix< T > &dest) const override |
获取当前矩阵的转置,并将其存储在指定的 SparseMatrix 对象中。 更多... | |
virtual void | zero_rows (std::vector< numeric_index_type > &rows, T val=0) override |
将指定行的所有元素置零。 更多... | |
const NumericVector< T > & | diagonal () const |
返回对底层数据存储 NumericVector 的常量引用。 更多... | |
virtual bool | initialized () const |
void | attach_dof_map (const DofMap &dof_map) |
设置要使用的 DofMap 的指针。如果不使用单独的稀疏性模式, 则使用来自 DofMap 的模式。 更多... | |
void | attach_sparsity_pattern (const SparsityPattern::Build &sp) |
设置要使用的稀疏性模式的指针。在矩阵需要比系统中的大(或更小以提高效率)的模式, 或者在 DofMap 未计算系统稀疏性模式的情况下使用。 更多... | |
virtual bool | need_full_sparsity_pattern () const |
virtual void | update_sparsity_pattern (const SparsityPattern::Graph &) |
更新矩阵的稀疏性模式。当您的 SparseMatrix<T> 实现不需要此数据时, 只需不覆盖此方法。 更多... | |
virtual void | flush () |
对于 PETSc 矩阵,此函数类似于 close,但不收缩内存。 当我们希望在 ADD_VALUES 和 INSERT_VALUES 之间切换时,这很有用。 在使用矩阵之前应该调用 close。 更多... | |
virtual numeric_index_type | local_m () const |
获取此进程拥有的行数。 更多... | |
virtual void | add_block_matrix (const DenseMatrix< T > &dm, const std::vector< numeric_index_type > &brows, const std::vector< numeric_index_type > &bcols) |
将完整矩阵 dm 添加到 SparseMatrix。这对于在装配时添加元素矩阵很有用。 矩阵被假定为块矩阵,brow、 更多... | |
virtual void | add_block_matrix (const DenseMatrix< T > &dm, const std::vector< numeric_index_type > &dof_indices) |
与 add_block_matrix() 相同,但假定行和列映射相同。 因此矩阵 dm 必须是方阵。 更多... | |
virtual void | matrix_matrix_mult (SparseMatrix< T > &, SparseMatrix< T > &, bool) |
计算 Y = A*X,其中 X 为矩阵。 更多... | |
virtual void | add_sparse_matrix (const SparseMatrix< T > &, const std::map< numeric_index_type, numeric_index_type > &, const std::map< numeric_index_type, numeric_index_type > &, const T) |
将 scalar* spm 添加到此矩阵的行和列中: A(rows[i], cols[j]) += scalar * spm(i,j) 更多... | |
void | print (std::ostream &os=libMesh::out, const bool sparse=false) const |
将矩阵的内容以统一的样式打印到屏幕上,而不考虑正在使用的矩阵/求解器包。 更多... | |
template<> | |
void | print (std::ostream &os, const bool sparse) const |
virtual void | print_matlab (const std::string &="") const |
以 Matlab 的稀疏矩阵格式打印矩阵的内容。可选择将矩阵打印到名为 name 的文件中。 如果未指定 name ,则将其转储到屏幕上。 更多... | |
virtual void | create_submatrix (SparseMatrix< T > &submatrix, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols) const |
此函数创建一个名为 "submatrix" 的矩阵,其定义由 "rows" 和 "cols" 条目中的行和列索引给定。 目前,此操作仅对 PetscMatrix 类型定义。 注意:rows 和 cols 向量需要排序; 如果 rows 和 cols 向量未排序,则使用下面的 nosort 版本; rows 和 cols 仅包含由此处理器拥有的索引。 更多... | |
virtual void | create_submatrix_nosort (SparseMatrix< T > &, const std::vector< numeric_index_type > &, const std::vector< numeric_index_type > &) const |
与上述函数类似,此函数创建由 rows 和 cols 向量中的索引定义的 submatrix。 注意:rows 和 cols 可以是无序的; 如果索引已排序,则对于效率更高的操作,请使用上面的函数; rows 和 cols 可以包含由其他处理器拥有的索引。 更多... | |
virtual void | reinit_submatrix (SparseMatrix< T > &submatrix, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols) const |
此函数与上述函数类似,但允许您重用 "submatrix" 的现有稀疏性模式,而不是再次分配它。 如果经常提取相同大小的子矩阵,这应该更有效。 更多... | |
void | vector_mult (NumericVector< T > &dest, const NumericVector< T > &arg) const |
将矩阵乘以 NumericVector arg 并将结果存储在 NumericVector dest 中。 更多... | |
void | vector_mult_add (NumericVector< T > &dest, const NumericVector< T > &arg) const |
将矩阵乘以 NumericVector arg ,并将结果添加到 NumericVector dest 中。 更多... | |
virtual void | get_row (numeric_index_type, std::vector< numeric_index_type > &, std::vector< T > &) const |
从矩阵获取一行。 更多... | |
静态 Public 成员函数 | |
static std::unique_ptr < SparseMatrix< T > > | build (const Parallel::Communicator &comm, const SolverPackage solver_package=libMesh::default_solver_package(), const MatrixBuildType matrix_build_type=MatrixBuildType::AUTOMATIC) |
使用由 solver_package 指定的线性求解器包构建一个 SparseMatrix<T>。 更多... | |
static std::string | get_info () |
Gets a string containing the reference information. 更多... | |
static void | print_info (std::ostream &out_stream=libMesh::out) |
Prints the reference information, by default to libMesh::out . 更多... | |
static unsigned int | n_objects () |
Prints the number of outstanding (created, but not yet destroyed) objects. 更多... | |
static void | enable_print_counter_info () |
Methods to enable/disable the reference counter output from print_info() 更多... | |
static void | disable_print_counter_info () |
Protected 类型 | |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Data structure to log the information. 更多... | |
Protected 成员函数 | |
LumpedMassMatrix & | operator= (const NumericVector< T > &vec) |
从 vec 复制内容到底层的对角线存储中。 更多... | |
LumpedMassMatrix & | operator= (NumericVector< T > &&vec) |
从 vec 移动内容到底层的对角线存储中。 更多... | |
virtual void | _get_submatrix (SparseMatrix< T > &, const std::vector< numeric_index_type > &, const std::vector< numeric_index_type > &, const bool) const |
创建子矩阵和 reinit_submatrix 例程的受保护实现。 更多... | |
void | increment_constructor_count (const std::string &name) noexcept |
Increments the construction counter. 更多... | |
void | increment_destructor_count (const std::string &name) noexcept |
Increments the destruction counter. 更多... | |
Protected 属性 | |
std::unique_ptr< NumericVector < T > > | _diagonal |
底层对角矩阵存储 更多... | |
DofMap const * | _dof_map |
与此对象关联的 DofMap 对象。可以查询其在处理器上的自由度计数。 更多... | |
SparsityPattern::Build const * | _sp |
与此对象关联的 sparsity pattern。在需要时, 应查询其入口计数(或使用 need_full_sparsity_pattern,模式)。 更多... | |
bool | _is_initialized |
标志,指示矩阵是否已初始化。 更多... | |
静态 Protected 属性 | |
static Counts | _counts |
Actually holds the data. 更多... | |
static Threads::atomic < unsigned int > | _n_objects |
The number of objects. 更多... | |
static Threads::spin_mutex | _mutex |
Mutual exclusion object to enable thread-safe reference counting. 更多... | |
static bool | _enable_print_counter = true |
Flag to control whether reference count information is printed when print_info is called. 更多... | |
模板类用于构造集中质量矩阵。 可能还有用于计算与整体系统缩放相关的数量。每当在此类上调用 add 方法时,我们都会将提供的值的绝对值相加到行索引 i
中。
在文件 lumped_mass_matrix.h 第 34 行定义.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
在文件 reference_counter.h 第 119 行定义.
|
explicit |
构造函数;将矩阵初始化为空,没有任何结构,即矩阵完全无法使用。 因此,此构造函数仅适用于作为类的成员的矩阵。所有其他矩阵应在具有所有必要信息的数据流中创建。
在使用之前,您必须使用 init
(...) 初始化矩阵。
在文件 lumped_mass_matrix.C 第 29 行定义.
|
default |
unique pointers 可以移动但不能复制
|
inlineprotectedvirtualinherited |
创建子矩阵和 reinit_submatrix 例程的受保护实现。
被 libMesh::PetscMatrix< T > 重载.
在文件 sparse_matrix.h 第 483 行定义.
参考自 libMesh::SparseMatrix< T >::create_submatrix() , 以及 libMesh::SparseMatrix< T >::reinit_submatrix().
|
overridevirtual |
将值 value
添加到矩阵中的指定位置 。
i | 行索引。 |
j | 列索引。 |
value | 要添加的值。 |
重载 libMesh::DiagonalMatrix< T > .
在文件 lumped_mass_matrix.C 第 80 行定义.
参考 std::abs().
|
overridevirtual |
将矩阵 乘以标量
a
并将结果添加到当前矩阵中。
a | 要乘以的标量。 |
X | 要相乘的矩阵。 |
重载 libMesh::DiagonalMatrix< T > .
在文件 lumped_mass_matrix.C 第 87 行定义.
参考 libMesh::SparseMatrix< T >::get_diagonal().
|
virtualinherited |
将完整矩阵 dm
添加到 SparseMatrix。这对于在装配时添加元素矩阵很有用。 矩阵被假定为块矩阵,brow、
bcol
对应于*块*行和列索引。
被 libMesh::PetscMatrix< T > 重载.
在文件 sparse_matrix.C 第 77 行定义.
参考 libMesh::DenseMatrixBase< T >::m() , 以及 libMesh::DenseMatrixBase< T >::n().
参考自 libMesh::SparseMatrix< T >::add_block_matrix().
|
inlinevirtualinherited |
与 add_block_matrix()
相同,但假定行和列映射相同。 因此矩阵 dm
必须是方阵。
被 libMesh::PetscMatrix< T > 重载.
在文件 sparse_matrix.h 第 278 行定义.
参考 libMesh::SparseMatrix< T >::add_block_matrix().
|
overridevirtualinherited |
将指定的 DenseMatrix dm
添加到矩阵中的指定行和列。
dm | 要添加的 DenseMatrix 对象。 |
rows | 要添加到的行索引列表。 |
cols | 要添加到的列索引列表。 |
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 198 行定义.
参考 libMesh::DenseMatrixBase< T >::m() , 以及 libMesh::DenseMatrixBase< T >::n().
|
overridevirtualinherited |
将指定的 DenseMatrix dm
添加到矩阵中的指定自由度索引。
dm | 要添加的 DenseMatrix 对象。 |
dof_indices | 要添加到的自由度索引列表。 |
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 217 行定义.
参考 libMesh::DenseMatrixBase< T >::diagonal().
|
inlinevirtualinherited |
将 scalar*
spm
添加到此矩阵的行和列中: A(rows[i], cols[j]) += scalar * spm(i,j)
被 libMesh::PetscMatrix< T > 重载.
在文件 sparse_matrix.h 第 297 行定义.
|
inherited |
设置要使用的 DofMap
的指针。如果不使用单独的稀疏性模式, 则使用来自 DofMap 的模式。
dof_map
的生命周期必须超过 this
的生命周期。
在文件 sparse_matrix.C 第 58 行定义.
参考 libMesh::DofMap::get_sparsity_pattern().
参考自 libMesh::DofMap::update_sparsity_pattern().
|
inherited |
设置要使用的稀疏性模式的指针。在矩阵需要比系统中的大(或更小以提高效率)的模式, 或者在 DofMap 未计算系统稀疏性模式的情况下使用。
sp
的生命周期必须超过 this
的生命周期。
在文件 sparse_matrix.C 第 68 行定义.
参考自 libMesh::DofMap::update_sparsity_pattern().
|
staticinherited |
使用由 solver_package
指定的线性求解器包构建一个 SparseMatrix<T>。
在文件 sparse_matrix.C 第 151 行定义.
参考 libMesh::EIGEN_SOLVERS, libMesh::LASPACK_SOLVERS, libMesh::libmesh_ignore() , 以及 libMesh::TRILINOS_SOLVERS.
参考自 libMesh::DofMap::process_mesh_constraint_rows().
|
overridevirtualinherited |
清除矩阵的所有内容,将其恢复到初始状态。
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 99 行定义.
|
overridevirtual |
克隆当前矩阵的唯一指针。
重载 libMesh::DiagonalMatrix< T > .
在文件 lumped_mass_matrix.C 第 52 行定义.
|
overridevirtualinherited |
完成矩阵的初始化和结构设置,使其可以用于计算。
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 147 行定义.
|
overridevirtualinherited |
返回矩阵是否已关闭,即是否已完成初始化并可以用于计算。
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 258 行定义.
|
inlinevirtualinherited |
此函数创建一个名为 "submatrix" 的矩阵,其定义由 "rows" 和 "cols" 条目中的行和列索引给定。 目前,此操作仅对 PetscMatrix 类型定义。 注意:rows
和 cols
向量需要排序; 如果 rows
和 cols
向量未排序,则使用下面的 nosort 版本; rows
和 cols
仅包含由此处理器拥有的索引。
在文件 sparse_matrix.h 第 388 行定义.
参考 libMesh::SparseMatrix< T >::_get_submatrix().
|
inlinevirtualinherited |
与上述函数类似,此函数创建由 rows
和 cols
向量中的索引定义的 submatrix。
注意:rows
和 cols
可以是无序的; 如果索引已排序,则对于效率更高的操作,请使用上面的函数; rows
和 cols
可以包含由其他处理器拥有的索引。
被 libMesh::PetscMatrix< T > 重载.
在文件 sparse_matrix.h 第 404 行定义.
|
inherited |
返回对底层数据存储 NumericVector 的常量引用。
在文件 diagonal_matrix.C 第 299 行定义.
参考自 libMesh::DiagonalMatrix< T >::init().
|
staticinherited |
在文件 reference_counter.C 第 100 行定义.
参考 libMesh::ReferenceCounter::_enable_print_counter.
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
在文件 reference_counter.C 第 94 行定义.
参考 libMesh::ReferenceCounter::_enable_print_counter.
|
inlinevirtualinherited |
对于 PETSc 矩阵,此函数类似于 close,但不收缩内存。 当我们希望在 ADD_VALUES 和 INSERT_VALUES 之间切换时,这很有用。 在使用矩阵之前应该调用 close。
被 libMesh::PetscMatrix< T > 重载.
在文件 sparse_matrix.h 第 202 行定义.
参考 libMesh::SparseMatrix< T >::close().
|
overridevirtualinherited |
获取对角矩阵的对角线元素,并将它们存储在指定的 NumericVector 对象中。
dest | 存储对角元素的 NumericVector 对象。 |
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 272 行定义.
|
staticinherited |
Gets a string containing the reference information.
在文件 reference_counter.C 第 47 行定义.
参考 libMesh::ReferenceCounter::_counts.
参考自 libMesh::ReferenceCounter::print_info().
|
inlinevirtualinherited |
从矩阵获取一行。
i | 要获取的矩阵行 |
indices | 将填充为与(可能)非零值对应的列索引的容器 |
values | 包含列值的容器 |
被 libMesh::PetscMatrix< T > 重载.
在文件 sparse_matrix.h 第 469 行定义.
|
overridevirtualinherited |
获取当前矩阵的转置,并将其存储在指定的 SparseMatrix 对象中。
dest | 存储转置矩阵的 SparseMatrix 对象。 |
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 279 行定义.
|
inlineprotectednoexceptinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
在文件 reference_counter.h 第 183 行定义.
参考 libMesh::err.
参考自 libMesh::ReferenceCountedObject< SparseMatrix< T > >::ReferenceCountedObject().
|
inlineprotectednoexceptinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
在文件 reference_counter.h 第 207 行定义.
参考 libMesh::err.
参考自 libMesh::ReferenceCountedObject< SparseMatrix< T > >::~ReferenceCountedObject().
|
overridevirtualinherited |
初始化矩阵的维度和结构
m | 矩阵的总行数。 |
n | 矩阵的总列数。 |
m_l | 矩阵的本地行数(在并行环境中使用)。 |
n_l | 矩阵的本地列数(在并行环境中使用)。 |
nnz | 矩阵的非零元素的估计数量。 |
noz | 矩阵的零元素的估计数量。 |
blocksize | 矩阵的块大小。 |
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 60 行定义.
|
overridevirtualinherited |
初始化并行矩阵
type | 并行类型(默认为 PARALLEL)。 |
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 73 行定义.
|
virtualinherited |
使用 NumericVector other
初始化,例如复制 other
的存储分配。 该函数不复制向量条目。如果将 fast 设置为 false,则初始化的条目将显式清零,否则它们的值是不确定的。
other | 要初始化的 NumericVector 对象。 |
fast | 如果设置为 false,将初始化的条目显式清零;否则,它们的值是不确定的。 |
在文件 diagonal_matrix.C 第 85 行定义.
|
virtualinherited |
使用 DiagonalMatrix other
初始化,例如复制 other
底层 NumericVector 的存储分配。 该函数不复制向量条目。如果将 fast 设置为 false,则初始化的条目将显式清零,否则它们的值是不确定的。
other | 要初始化的 DiagonalMatrix 对象。 |
fast | 如果设置为 false,将初始化的条目显式清零;否则,它们的值是不确定的。 |
在文件 diagonal_matrix.C 第 92 行定义.
参考 libMesh::DiagonalMatrix< T >::diagonal().
|
inlinevirtualinherited |
true,否则为
false。
在文件 sparse_matrix.h 第 102 行定义.
参考 libMesh::SparseMatrix< T >::_is_initialized.
参考自 libMesh::PetscMatrix< T >::_get_submatrix().
|
overridevirtualinherited |
计算矩阵的 范数。
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 244 行定义.
|
overridevirtualinherited |
计算矩阵的 范数。
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 251 行定义.
|
inlinevirtualinherited |
获取此进程拥有的行数。
被 libMesh::PetscMatrix< T > 重载.
在文件 sparse_matrix.h 第 212 行定义.
参考 libMesh::SparseMatrix< T >::row_start() , 以及 libMesh::SparseMatrix< T >::row_stop().
|
overridevirtualinherited |
返回矩阵的总行数。
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 154 行定义.
|
inlinevirtualinherited |
|
overridevirtualinherited |
返回矩阵的总列数。
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 161 行定义.
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
在文件 reference_counter.h 第 85 行定义.
参考 libMesh::ReferenceCounter::_n_objects.
参考自 libMesh::LibMeshInit::~LibMeshInit().
|
inlinevirtualinherited |
true。
这对于 LaspackMatrix
是 true,但对于 PetscMatrix
是 false。 在不需要完整图形的情况下,我们可以有效地近似它以提供对稀疏矩阵所需大小的良好估计。
被 libMesh::EpetraMatrix< T > , 以及 libMesh::LaspackMatrix< T > 重载.
在文件 sparse_matrix.h 第 126 行定义.
参考自 libMesh::DofMap::attach_matrix() , 以及 libMesh::DofMap::update_sparsity_pattern().
|
overridevirtualinherited |
返回矩阵中指定位置的元素值。
i | 行索引。 |
j | 列索引。 |
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 234 行定义.
|
default |
|
protected |
从 vec 复制内容到底层的对角线存储中。
vec | 要从中复制内容的 NumericVector。 |
在文件 lumped_mass_matrix.C 第 101 行定义.
|
protected |
从 vec 移动内容到底层的对角线存储中。
vec | 要从中移动内容的 NumericVector。 |
在文件 lumped_mass_matrix.C 第 109 行定义.
|
inherited |
在文件 sparse_matrix.C 第 117 行定义.
参考 std::imag() , 以及 std::real().
|
inherited |
将矩阵的内容以统一的样式打印到屏幕上,而不考虑正在使用的矩阵/求解器包。
在文件 sparse_matrix.C 第 225 行定义.
参考自 libMesh::EigenSparseMatrix< T >::print_personal() , 以及 libMesh::LaspackMatrix< T >::print_personal().
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
在文件 reference_counter.C 第 81 行定义.
参考 libMesh::ReferenceCounter::_enable_print_counter , 以及 libMesh::ReferenceCounter::get_info().
参考自 libMesh::LibMeshInit::~LibMeshInit().
|
inlinevirtualinherited |
以 Matlab 的稀疏矩阵格式打印矩阵的内容。可选择将矩阵打印到名为 name
的文件中。 如果未指定 name
,则将其转储到屏幕上。
被 libMesh::PetscMatrix< T > 重载.
在文件 sparse_matrix.h 第 376 行定义.
|
overridevirtualinherited |
在输出流中打印矩阵的个性化信息。
os | 输出流(默认为 libMesh::out)。 |
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 265 行定义.
|
inlinevirtualinherited |
此函数与上述函数类似,但允许您重用 "submatrix" 的现有稀疏性模式,而不是再次分配它。 如果经常提取相同大小的子矩阵,这应该更有效。
在文件 sparse_matrix.h 第 415 行定义.
参考 libMesh::SparseMatrix< T >::_get_submatrix().
|
overridevirtualinherited |
返回矩阵在本地计算中的起始行号。
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 168 行定义.
|
overridevirtualinherited |
返回矩阵在本地计算中的结束行号。
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 175 行定义.
|
overridevirtual |
设置矩阵中指定位置 的值为
value。
i | 行索引。 |
j | 列索引。 |
value | 要设置的值。 |
重载 libMesh::DiagonalMatrix< T > .
在文件 lumped_mass_matrix.C 第 70 行定义.
参考 std::abs().
|
inlinevirtualinherited |
更新矩阵的稀疏性模式。当您的 SparseMatrix<T>
实现不需要此数据时, 只需不覆盖此方法。
被 libMesh::EpetraMatrix< T > , 以及 libMesh::LaspackMatrix< T > 重载.
在文件 sparse_matrix.h 第 133 行定义.
|
inherited |
将矩阵乘以 NumericVector arg
并将结果存储在 NumericVector dest
中。
dest | 存储结果的目标 NumericVector。 |
arg | 乘法的源 NumericVector。 |
arg
并将结果存储在 dest
中。 在文件 sparse_matrix.C 第 195 行定义.
参考 libMesh::NumericVector< T >::zero().
|
inherited |
将矩阵乘以 NumericVector arg
,并将结果添加到 NumericVector dest
中。
在文件 sparse_matrix.C 第 205 行定义.
|
overridevirtualinherited |
将矩阵的所有元素置零。
实现了 libMesh::SparseMatrix< T >.
在文件 diagonal_matrix.C 第 106 行定义.
|
overridevirtual |
创建一个与当前矩阵相同的零矩阵的唯一指针。
重载 libMesh::DiagonalMatrix< T > .
在文件 lumped_mass_matrix.C 第 36 行定义.
|
overridevirtualinherited |
将指定行的所有元素置零。
rows | 要置零的行索引列表。 |
val | 置零的值(默认为 0)。 |
重载 libMesh::SparseMatrix< T > .
在文件 diagonal_matrix.C 第 291 行定义.
|
staticprotectedinherited |
Actually holds the data.
在文件 reference_counter.h 第 124 行定义.
|
protectedinherited |
|
protectedinherited |
与此对象关联的 DofMap
对象。可以查询其在处理器上的自由度计数。
在文件 sparse_matrix.h 第 494 行定义.
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
在文件 reference_counter.h 第 143 行定义.
参考自 libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info() , 以及 libMesh::ReferenceCounter::print_info().
|
protectedinherited |
标志,指示矩阵是否已初始化。
在文件 sparse_matrix.h 第 505 行定义.
参考自 libMesh::PetscMatrix< T >::_get_submatrix(), libMesh::PetscMatrix< T >::create_submatrix_nosort(), libMesh::EpetraMatrix< T >::EpetraMatrix(), libMesh::PetscMatrix< T >::get_transpose(), libMesh::SparseMatrix< T >::initialized() , 以及 libMesh::PetscMatrix< T >::PetscMatrix().
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
在文件 reference_counter.h 第 137 行定义.
|
staticprotectedinherited |
The number of objects.
Print the reference count information when the number returns to 0.
在文件 reference_counter.h 第 132 行定义.
参考自 libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter() , 以及 libMesh::ReferenceCounter::~ReferenceCounter().
|
protectedinherited |
与此对象关联的 sparsity
pattern。在需要时, 应查询其入口计数(或使用 need_full_sparsity_pattern,模式)。
在文件 sparse_matrix.h 第 500 行定义.