This class provides a nice interface to the Eigen C++-based data structures for serial vectors. 更多...
#include <eigen_sparse_matrix.h>
Public 类型 | |
typedef EigenSV | DataType |
Convenient typedefs. 更多... | |
Public 成员函数 | |
EigenSparseVector (const Parallel::Communicator &comm_in, const ParallelType=AUTOMATIC) | |
Dummy-Constructor. 更多... | |
EigenSparseVector (const Parallel::Communicator &comm_in, const numeric_index_type n, const ParallelType=AUTOMATIC) | |
Constructor. 更多... | |
EigenSparseVector (const Parallel::Communicator &comm_in, const numeric_index_type n, const numeric_index_type n_local, const ParallelType=AUTOMATIC) | |
Constructor. 更多... | |
EigenSparseVector (const Parallel::Communicator &comm_in, const numeric_index_type N, const numeric_index_type n_local, const std::vector< numeric_index_type > &ghost, const ParallelType=AUTOMATIC) | |
Constructor. 更多... | |
EigenSparseVector< T > & | operator= (const EigenSparseVector< T > &v) |
Copy assignment operator. 更多... | |
EigenSparseVector (EigenSparseVector &&)=default | |
The 5 special functions can be defaulted for this class, as it does not manage any memory itself. 更多... | |
EigenSparseVector (const EigenSparseVector &)=default | |
EigenSparseVector & | operator= (EigenSparseVector &&)=default |
virtual | ~EigenSparseVector ()=default |
virtual void | close () override |
调用 NumericVector 的内部组装函数,确保值在处理器之间一致。 更多... | |
virtual void | clear () override |
将 NumericVector<T> 恢复到原始状态。 更多... | |
virtual void | zero () override |
将所有条目设置为零。等同于 v = 0,但更明显且更快。 更多... | |
virtual std::unique_ptr < NumericVector< T > > | zero_clone () const override |
返回一个智能指针,指向具有相同类型、大小和分区的此向量的副本,但所有条目都为零。 更多... | |
virtual std::unique_ptr < NumericVector< T > > | clone () const override |
返回一个包装了此向量副本的智能指针。 更多... | |
virtual void | init (const numeric_index_type N, const numeric_index_type n_local, const bool fast=false, const ParallelType ptype=AUTOMATIC) override |
更改向量的维度为 n 。如果可能的话 ,该向量的保留内存保持不变。 如果 n==0 ,所有内存都将被释放。因此,如果要调整向量的大小并释放不需要的内存, 必须首先调用 init(0) ,然后调用 init(n) 。这种行为类似于 STL 容器。 更多... | |
virtual void | init (const numeric_index_type N, const bool fast=false, const ParallelType ptype=AUTOMATIC) override |
调用 init() ,其中 n_local = N。 更多... | |
virtual void | init (const numeric_index_type N, const numeric_index_type n_local, const std::vector< numeric_index_type > &ghost, const bool fast=false, const ParallelType=AUTOMATIC) override |
创建一个包含本地索引以及在 ghost 参数中指定的索引的向量。 更多... | |
virtual void | init (const NumericVector< T > &other, const bool fast=false) override |
创建一个具有与 other 相同维度和存储类型的向量,包括 ghost dofs。 更多... | |
virtual NumericVector< T > & | operator= (const T s) override |
设置向量的所有条目为值 s。 更多... | |
virtual NumericVector< T > & | operator= (const NumericVector< T > &v) override |
一个复制赋值运算符 更多... | |
virtual NumericVector< T > & | operator= (const std::vector< T > &v) override |
设置 (*this)(i) = v(i) 对于向量的每个条目。 更多... | |
virtual Real | min () const override |
获取向量中的最小值,或者在复数情况下获取最小的实部。 更多... | |
virtual Real | max () const override |
获取向量中的最大值,或者在复数情况下获取最大的实部。 更多... | |
virtual T | sum () const override |
获取向量中所有值的总和。 更多... | |
virtual Real | l1_norm () const override |
获取向量的 ![]() | |
virtual Real | l2_norm () const override |
获取向量的 ![]() | |
virtual Real | linfty_norm () const override |
获取向量的 ![]() | |
virtual numeric_index_type | size () const override |
获取向量的大小。 更多... | |
virtual numeric_index_type | local_size () const override |
获取向量的本地大小,即 index_stop - index_start。 更多... | |
virtual numeric_index_type | first_local_index () const override |
获取实际存储在该处理器上的第一个向量元素的索引。 更多... | |
virtual numeric_index_type | last_local_index () const override |
获取实际存储在该处理器上的最后一个向量元素的索引+1。 更多... | |
virtual T | operator() (const numeric_index_type i) const override |
获取向量的第 i 个条目的副本。 更多... | |
virtual NumericVector< T > & | operator+= (const NumericVector< T > &v) override |
将向量加上 v , ![]() u.add(1, v)。 更多... | |
virtual NumericVector< T > & | operator-= (const NumericVector< T > &v) override |
将 v 从 *this 减去, ![]() u.add (-1, v)。 更多... | |
virtual NumericVector< T > & | operator*= (const NumericVector< T > &v_in) override |
计算此向量条目与另一个向量的条目之间的分量乘法, ![]() | |
virtual NumericVector< T > & | operator/= (const NumericVector< T > &v_in) override |
计算此向量条目与另一个向量的分量除法, ![]() | |
virtual void | reciprocal () override |
计算每个向量条目的分量倒数, ![]() | |
virtual void | conjugate () override |
反转向量中每个条目的虚部。 更多... | |
virtual void | set (const numeric_index_type i, const T value) override |
设置 v(i) = value 。 请注意,此方法的库实现是线程安全的, 例如,将在写入向量之前锁定 _numeric_vector_mutex 。 更多... | |
virtual void | add (const numeric_index_type i, const T value) override |
将 value 添加到由 i 指定的向量条目。 请注意,此方法的库实现是线程安全的, 例如,将在写入向量之前锁定 _numeric_vector_mutex 。 更多... | |
virtual void | add (const T s) override |
将 s 添加到向量的每个条目, ![]() | |
virtual void | add (const NumericVector< T > &v) override |
将 v 添加到 *this, ![]() operator+=()。 更多... | |
virtual void | add (const T a, const NumericVector< T > &v) override |
带有标量倍数的向量相加, ![]() operator+=()。 更多... | |
virtual void | add_vector (const NumericVector< T > &v, const SparseMatrix< T > &A) override |
计算 ![]() SparseMatrix A 和 NumericVector v 的乘积添加到 this。 更多... | |
virtual void | add_vector_transpose (const NumericVector< T > &v, const SparseMatrix< T > &A) override |
计算 ![]() A 的转置与 NumericVector v 的乘积添加到 this。 更多... | |
virtual void | scale (const T factor) override |
缩放向量的每个元素。 更多... | |
virtual void | abs () override |
设置 ![]() | |
virtual T | dot (const NumericVector< T > &v) const override |
计算 ![]() v 的点积。 更多... | |
virtual void | localize (std::vector< T > &v_local) const override |
创建全局向量的副本并存储在本地向量 v_local 中。 更多... | |
virtual void | localize (NumericVector< T > &v_local) const override |
创建全局向量的副本并存储在本地向量 v_local 中,而不是 std::vector。 更多... | |
virtual void | localize (NumericVector< T > &v_local, const std::vector< numeric_index_type > &send_list) const override |
创建本地向量 v_local ,其中仅包含与此处理器相关的信息,由 send_list 定义。 更多... | |
virtual void | localize (std::vector< T > &v_local, const std::vector< numeric_index_type > &indices) const override |
用全局索引中给定的值填充本地 std::vector "v_local"。 更多... | |
virtual void | localize (const numeric_index_type first_local_idx, const numeric_index_type last_local_idx, const std::vector< numeric_index_type > &send_list) override |
使用由 send_list 指定的值从相邻处理器中选择的值更新本地向量。 更多... | |
virtual void | localize_to_one (std::vector< T > &v_local, const processor_id_type proc_id=0) const override |
在处理器 proc_id 上创建全局向量的本地副本。 默认情况下,数据发送到处理器 0。此方法对于从一个处理器输出数据非常有用。 更多... | |
virtual void | pointwise_mult (const NumericVector< T > &vec1, const NumericVector< T > &vec2) override |
比较该向量与另一个向量的全局相对差异。 更多... | |
virtual void | pointwise_divide (const NumericVector< T > &vec1, const NumericVector< T > &vec2) override |
计算该向量与另一个向量的逐点除法。 更多... | |
virtual void | swap (NumericVector< T > &v) override |
交换该向量的内容与向量 v 的内容。子类应提供足够的间接性以使此操作成为 O(1) 的头部交换操作。 更多... | |
virtual std::size_t | max_allowed_id () const override |
返回 NumericVector 可以包含的最大条目数(在所有处理器上)。 更多... | |
DataType & | vec () |
References to the underlying Eigen data types. 更多... | |
const DataType & | vec () const |
virtual bool | initialized () const |
检查向量是否已经初始化。 更多... | |
ParallelType | type () const |
获取向量的类型。 更多... | |
ParallelType & | type () |
获取向量的类型。 更多... | |
virtual bool | closed () const |
检查向量是否已经关闭并准备好进行计算。 更多... | |
virtual Real | subset_l1_norm (const std::set< numeric_index_type > &indices) const |
获取指定条目的向量的 ![]() | |
virtual Real | subset_l2_norm (const std::set< numeric_index_type > &indices) const |
获取指定条目的向量的 ![]() | |
virtual Real | subset_linfty_norm (const std::set< numeric_index_type > &indices) const |
获取指定条目的向量的最大绝对值,即指定条目的 ![]() | |
Real | l2_norm_diff (const NumericVector< T > &other_vec) const |
获取 ![]() ![]() ![]() this。 更多... | |
virtual T | el (const numeric_index_type i) const |
获取向量的第 i 个条目。 更多... | |
virtual void | get (const std::vector< numeric_index_type > &index, T *values) const |
一次访问多个组件。 values 将 *不会* 重新分配空间;它应该已经具有足够的空间。 默认实现对每个索引调用 operator() ,但某些实现可能在此处提供更快的方法。 更多... | |
void | get (const std::vector< numeric_index_type > &index, std::vector< T > &values) const |
一次访问多个组件。 values 将被调整大小,如果需要,将被填充。 默认实现对每个索引调用 operator() ,但某些实现可能在此处提供更快的方法。 更多... | |
NumericVector< T > & | operator*= (const T a) |
将向量缩放为 a , ![]() u.scale(a)。 更多... | |
NumericVector< T > & | operator/= (const T a) |
将向量缩放为 1/a , ![]() u.scale (1. 更多... | |
virtual void | add_vector (const T *v, const std::vector< numeric_index_type > &dof_indices) |
计算 ![]() v 是一个指针, 每个 dof_indices [i] 指定了要添加的值 v [i] 的位置。 这应该在子类中进行重写以提高效率。请注意,此方法的库实现是线程安全的。 更多... | |
void | add_vector (const std::vector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
计算 ![]() v 是一个 std::vector, 每个 dof_indices [i] 指定了要添加的值 v [i] 的位置 默认实现对每个索引调用 operator() ,但某些实现可能在此处提供更快的方法。 请注意,此方法的库实现是线程安全的。 更多... | |
void | add_vector (const NumericVector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
计算 ![]() v 是一个 NumericVector, 每个 dof_indices [i] 指定了要添加的值 v(i) 的位置。此方法是线程安全的。 更多... | |
void | add_vector (const DenseVector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
计算 ![]() v 是一个 DenseVector, 每个 dof_indices [i] 指定了要添加的值 v(i) 的位置。此方法是线程安全的。 更多... | |
void | add_vector (const NumericVector< T > &v, const ShellMatrix< T > &A) |
计算 ![]() ShellMatrix A 和 NumericVector v 的乘积添加到 this。 更多... | |
virtual void | insert (const T *v, const std::vector< numeric_index_type > &dof_indices) |
将 v 的条目插入到 *this 中,位置由 dof_indices 指定。请注意,此方法的库实现是线程安全的。 更多... | |
void | insert (const NumericVector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
将 v 的条目插入到 *this 中,位置由 v 指定。 只要使用 NumericVector 的库实现,此方法是线程安全的。 更多... | |
void | insert (const DenseVector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
将 v 的条目插入到 *this 中,位置由 v 指定。 只要使用 NumericVector 的库实现,此方法是线程安全的。 更多... | |
void | insert (const DenseSubVector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
将 v 的条目插入到 *this 中,位置由 v 指定。 只要使用 NumericVector 的库实现,此方法是线程安全的。 更多... | |
virtual int | compare (const NumericVector< T > &other_vector, const Real threshold=TOLERANCE) const |
比较 this 与 other_vector 的等效性,(在给定的 threshold 内) 如果等效则返回 -1 ,或者返回第一个索引,其中 abs (a[i]-b[i]) 超过阈值。 更多... | |
virtual int | local_relative_compare (const NumericVector< T > &other_vector, const Real threshold=TOLERANCE) const |
比较该向量与另一个向量的局部相对差异。 更多... | |
virtual void | print (std::ostream &os=libMesh::out) const |
打印本地向量的内容,默认输出到 libMesh::out 流。 更多... | |
template<> | |
void | print (std::ostream &os) const |
virtual void | print_global (std::ostream &os=libMesh::out) const |
打印全局向量的内容,默认输出到 libMesh::out 流。 更多... | |
template<> | |
void | print_global (std::ostream &os) const |
virtual void | print_matlab (const std::string &="") const |
以Matlab的稀疏矩阵格式打印向量内容。可选择将向量打印到名为 name 的文件中。 如果未指定 name,则内容将被打印到屏幕上。 更多... | |
virtual void | create_subvector (NumericVector< T > &subvector, const std::vector< numeric_index_type > &rows) const |
使用 rows 中的索引从该向量中填充 subvector。类似于 SparseMatrix 类的 create_submatrix() 函数, 当前仅对 PetscVectors 实现了此功能。 更多... | |
bool | readable () const |
检查该向量是否能够用于全局操作。 更多... | |
bool | compatible (const NumericVector< T > &v) const |
检查该向量和向量 v 是否能够一起用于全局操作。 更多... | |
静态 Public 成员函数 | |
static std::unique_ptr < NumericVector< T > > | build (const Parallel::Communicator &comm, const SolverPackage solver_package=libMesh::default_solver_package()) |
构建一个 NumericVector 对象。 更多... | |
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 成员函数 | |
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 属性 | |
bool | _is_closed |
用于跟踪向量的值在在一些或全部处理器上进行插入或添加值操作后是否在所有处理器上保持一致的标志。 更多... | |
bool | _is_initialized |
在调用 init() 后设置为 true。 更多... | |
ParallelType | _type |
向量的类型。 更多... | |
std::mutex | _numeric_vector_mutex |
用于执行线程安全操作的互斥锁。 更多... | |
静态 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. 更多... | |
Private 属性 | |
DataType | _vec |
Actual Eigen::SparseVector<> we are wrapping. 更多... | |
友元 | |
class | EigenSparseMatrix< T > |
Make other Eigen datatypes friends. 更多... | |
class | EigenSparseLinearSolver< T > |
This class provides a nice interface to the Eigen C++-based data structures for serial vectors.
All overridden virtual functions are documented in numeric_vector.h.
在文件 eigen_sparse_matrix.h 第 42 行定义.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
在文件 reference_counter.h 第 119 行定义.
typedef EigenSV libMesh::EigenSparseVector< T >::DataType |
Convenient typedefs.
在文件 eigen_sparse_vector.h 第 113 行定义.
|
inlineexplicit |
Dummy-Constructor.
Dimension=0
在文件 eigen_sparse_vector.h 第 266 行定义.
参考 libMesh::NumericVector< T >::_type.
|
inlineexplicit |
Constructor.
Set dimension to n
and initialize all elements with zero.
在文件 eigen_sparse_vector.h 第 277 行定义.
参考 libMesh::EigenSparseVector< T >::init().
|
inline |
Constructor.
Set local dimension to n_local
, the global dimension to n
, and initialize all elements with zero.
在文件 eigen_sparse_vector.h 第 289 行定义.
参考 libMesh::EigenSparseVector< T >::init().
|
inline |
Constructor.
Set local dimension to n_local
, the global dimension to n
, but additionally reserve memory for the indices specified by the ghost
argument.
在文件 eigen_sparse_vector.h 第 302 行定义.
参考 libMesh::EigenSparseVector< T >::init().
|
default |
The 5 special functions can be defaulted for this class, as it does not manage any memory itself.
|
default |
|
virtualdefault |
|
overridevirtual |
设置 ,对向量中的每个条目进行绝对值操作。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 240 行定义.
参考 std::abs() , 以及 libMesh::initialized().
|
inlineoverridevirtual |
将 value
添加到由 i
指定的向量条目。 请注意,此方法的库实现是线程安全的, 例如,将在写入向量之前锁定 _numeric_vector_mutex
。
i | 要添加到的条目的索引。 |
value | 要添加的值。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 498 行定义.
|
overridevirtual |
将 s
添加到向量的每个条目,
s | 要添加的值。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 165 行定义.
|
overridevirtual |
将 v
添加到 *this, 。 等效于调用
operator+=()。
v | 另一个数值向量。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 174 行定义.
参考 libMesh::EigenSparseVector< T >::_vec , 以及 libMesh::initialized().
|
overridevirtual |
带有标量倍数的向量相加, 。 等效于调用
operator+=()。
a | 缩放因子。 |
v | 另一个数值向量。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 186 行定义.
参考 libMesh::EigenSparseVector< T >::_vec , 以及 libMesh::initialized().
|
overridevirtual |
计算 , 即将
SparseMatrix
A
和 NumericVector
v
的乘积添加到 this。
v | 另一个数值向量。 |
A | 稀疏矩阵。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 198 行定义.
参考 libMesh::EigenSparseVector< T >::_vec.
|
virtualinherited |
计算 ,其中
v
是一个指针, 每个 dof_indices
[i] 指定了要添加的值 v
[i] 的位置。 这应该在子类中进行重写以提高效率。请注意,此方法的库实现是线程安全的。
v | 一个指向值的指针。 |
dof_indices | 每个要添加值的位置的索引集合。 |
被 libMesh::PetscVector< T > , 以及 libMesh::EpetraVector< T > 重载.
在文件 numeric_vector.C 第 379 行定义.
参考自 libMesh::SparseMatrix< T >::vector_mult_add().
|
inlineinherited |
计算 ,其中
v
是一个 std::vector, 每个 dof_indices
[i] 指定了要添加的值 v
[i] 的位置 默认实现对每个索引调用 operator()
,但某些实现可能在此处提供更快的方法。 请注意,此方法的库实现是线程安全的。
v | 包含要添加的值的 std::vector。 |
dof_indices | 每个要添加值的位置的索引集合。 |
在文件 numeric_vector.h 第 1041 行定义.
|
inherited |
计算 ,其中
v
是一个 NumericVector, 每个 dof_indices
[i] 指定了要添加的值 v(i)
的位置。此方法是线程安全的。
v | 另一个数值向量。 |
dof_indices | 每个要添加值的位置的索引集合。 |
在文件 numeric_vector.C 第 391 行定义.
参考 libMesh::NumericVector< T >::readable() , 以及 libMesh::NumericVector< T >::size().
|
inlineinherited |
计算 ,其中
v
是一个 DenseVector, 每个 dof_indices
[i] 指定了要添加的值 v(i)
的位置。此方法是线程安全的。
v | 另一个数值向量。 |
dof_indices | 每个要添加值的位置的索引集合。 |
在文件 numeric_vector.h 第 1053 行定义.
参考 libMesh::DenseVector< T >::empty() , 以及 libMesh::DenseVector< T >::size().
|
inherited |
计算 , 即将
ShellMatrix
A
和 NumericVector
v
的乘积添加到 this。
v | 另一个数值向量。 |
A | Shell 矩阵。 |
在文件 numeric_vector.C 第 405 行定义.
参考 libMesh::ShellMatrix< T >::vector_mult_add().
|
overridevirtual |
计算 , 即将矩阵
A
的转置与 NumericVector
v
的乘积添加到 this。
v | 另一个数值向量。 |
A | 稀疏矩阵。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 214 行定义.
参考 libMesh::EigenSparseVector< T >::_vec.
|
staticinherited |
构建一个 NumericVector 对象。
comm | 通信器对象,表示通信方式。 |
solver_package | 线性求解器包的类型。 |
在文件 numeric_vector.C 第 50 行定义.
参考 libMesh::EIGEN_SOLVERS, libMesh::LASPACK_SOLVERS , 以及 libMesh::TRILINOS_SOLVERS.
参考自 libMesh::DiagonalMatrix< T >::DiagonalMatrix(), libMesh::DofMap::enforce_adjoint_constraints_exactly(), libMesh::DofMap::enforce_constraints_exactly(), libMesh::DofMap::enforce_constraints_on_residual() , 以及 libMesh::DofMap::process_mesh_constraint_rows().
|
inlineoverridevirtual |
将 NumericVector<T> 恢复到原始状态。
重载 libMesh::NumericVector< T > .
在文件 eigen_sparse_vector.h 第 393 行定义.
参考 libMesh::libMeshPrivateData::_is_initialized.
|
inlineoverridevirtual |
返回一个包装了此向量副本的智能指针。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 427 行定义.
|
inlineoverridevirtual |
调用 NumericVector 的内部组装函数,确保值在处理器之间一致。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 382 行定义.
|
inlinevirtualinherited |
检查向量是否已经关闭并准备好进行计算。
在文件 numeric_vector.h 第 180 行定义.
参考 libMesh::NumericVector< T >::_is_closed.
参考自 libMesh::DofMap::enforce_adjoint_constraints_exactly(), libMesh::DofMap::enforce_constraints_exactly(), libMesh::PetscVector< T >::localize(), libMesh::DofMap::max_constraint_error(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=() , 以及 libMesh::PetscVector< T >::operator=().
|
virtualinherited |
比较 this
与 other_vector
的等效性,(在给定的 threshold
内) 如果等效则返回 -1
,或者返回第一个索引,其中 abs
(a[i]-b[i]) 超过阈值。
other_vector | 另一个数值向量。 |
threshold | 阈值。 |
-1
,否则返回第一个不等效的索引。 在文件 numeric_vector.C 第 109 行定义.
参考 std::abs().
|
inherited |
检查该向量和向量 v
是否能够一起用于全局操作。
v | 要比较的另一个向量。 |
在文件 numeric_vector.C 第 423 行定义.
参考 libMesh::NumericVector< T >::first_local_index(), libMesh::NumericVector< T >::last_local_index(), libMesh::NumericVector< T >::local_size(), libMesh::NumericVector< T >::readable() , 以及 libMesh::NumericVector< T >::size().
|
overridevirtual |
反转向量中每个条目的虚部。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 157 行定义.
|
inlinevirtualinherited |
使用 rows
中的索引从该向量中填充 subvector。类似于
SparseMatrix 类的 create_submatrix()
函数, 当前仅对 PetscVectors 实现了此功能。
subvector | 要填充的子向量。 |
rows | 包含用于选择要填充到子向量的索引的向量。 |
被 libMesh::PetscVector< T > , 以及 libMesh::EpetraVector< T > 重载.
在文件 numeric_vector.h 第 871 行定义.
|
staticinherited |
在文件 reference_counter.C 第 100 行定义.
参考 libMesh::ReferenceCounter::_enable_print_counter.
|
overridevirtual |
计算 ,即 (*this) 与向量
v
的点积。
在复数值情况下,使用 v
的复共轭。
v | 另一个数值向量。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 253 行定义.
参考 libMesh::EigenSparseVector< T >::_vec , 以及 libMesh::initialized().
|
inlinevirtualinherited |
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
在文件 reference_counter.C 第 94 行定义.
参考 libMesh::ReferenceCounter::_enable_print_counter.
|
inlineoverridevirtual |
获取实际存储在该处理器上的第一个向量元素的索引。
0。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 461 行定义.
|
inlinevirtualinherited |
一次访问多个组件。 values
将 *不会* 重新分配空间;它应该已经具有足够的空间。 默认实现对每个索引调用 operator()
,但某些实现可能在此处提供更快的方法。
index | 要获取的索引集合。 |
values | 存储获取值的数组。 |
被 libMesh::PetscVector< T > 重载.
在文件 numeric_vector.h 第 1012 行定义.
参考自 libMesh::DofMap::enforce_adjoint_constraints_exactly(), libMesh::DofMap::enforce_constraints_exactly(), libMesh::DofMap::enforce_constraints_on_residual() , 以及 libMesh::DofMap::max_constraint_error().
|
inlineinherited |
一次访问多个组件。 values
将被调整大小,如果需要,将被填充。 默认实现对每个索引调用 operator()
,但某些实现可能在此处提供更快的方法。
index | 要获取的索引集合。 |
values | 存储获取值的向量。 |
在文件 numeric_vector.h 第 1026 行定义.
|
staticinherited |
Gets a string containing the reference information.
在文件 reference_counter.C 第 47 行定义.
参考 libMesh::ReferenceCounter::_counts.
参考自 libMesh::ReferenceCounter::print_info().
|
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().
|
inlineoverridevirtual |
更改向量的维度为 n
。如果可能的话 ,该向量的保留内存保持不变。 如果 n==0
,所有内存都将被释放。因此,如果要调整向量的大小并释放不需要的内存, 必须首先调用 init(0)
,然后调用 init(n)
。这种行为类似于 STL 容器。
n | 新的全局维度。 |
n_local | 新的本地维度。 |
fast | 如果为 false,则向量将被填充为零。 |
ptype | 平行类型,表示数值向量的类型。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 316 行定义.
参考 libMesh::libMeshPrivateData::_is_initialized, libMesh::initialized() , 以及 libMesh::zero.
参考自 libMesh::EigenSparseVector< T >::EigenSparseVector().
|
inlineoverridevirtual |
调用 init()
,其中 n_local = N。
n | 新的全局维度。 |
fast | 如果为 false,则向量将被填充为零。 |
ptype | 平行类型,表示数值向量的类型。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 347 行定义.
|
overridevirtual |
创建一个包含本地索引以及在 ghost
参数中指定的索引的向量。
n | 新的全局维度。 |
n_local | 新的本地维度。 |
ghost | 指定的索引。 |
fast | 如果为 false,则向量将被填充为零。 |
ptype | 平行类型,表示数值向量的类型。 |
|
overridevirtual |
创建一个具有与 other
相同维度和存储类型的向量,包括 ghost dofs。
other | 另一个数值向量。 |
fast | 如果为 false,则向量将被填充为零。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 372 行定义.
参考 libMesh::NumericVector< T >::local_size(), libMesh::NumericVector< T >::size() , 以及 libMesh::NumericVector< T >::type().
|
inlinevirtualinherited |
检查向量是否已经初始化。
在文件 numeric_vector.h 第 159 行定义.
参考 libMesh::NumericVector< T >::_is_initialized.
参考自 libMesh::PetscVector< T >::create_subvector() , 以及 libMesh::PetscVector< T >::init().
|
virtualinherited |
将 v
的条目插入到 *this 中,位置由 dof_indices
指定。请注意,此方法的库实现是线程安全的。
v | 一个指向值的指针。 |
dof_indices | 每个要插入值的位置的索引集合。 |
被 libMesh::PetscVector< T > , 以及 libMesh::EpetraVector< T > 重载.
在文件 numeric_vector.C 第 84 行定义.
|
inherited |
将 v
的条目插入到 *this 中,位置由 v
指定。 只要使用 NumericVector
的库实现,此方法是线程安全的。
v | 一个数值向量。 |
dof_indices | 每个要插入值的位置的索引集合。 |
在文件 numeric_vector.C 第 96 行定义.
参考 libMesh::NumericVector< T >::readable() , 以及 libMesh::NumericVector< T >::size().
|
inlineinherited |
将 v
的条目插入到 *this 中,位置由 v
指定。 只要使用 NumericVector
的库实现,此方法是线程安全的。
v | 一个 DenseVector。 |
dof_indices | 每个要插入值的位置的索引集合。 |
在文件 numeric_vector.h 第 1077 行定义.
参考 libMesh::DenseVector< T >::empty() , 以及 libMesh::DenseVector< T >::size().
|
inlineinherited |
将 v
的条目插入到 *this 中,位置由 v
指定。 只要使用 NumericVector
的库实现,此方法是线程安全的。
v | 一个 DenseSubVector。 |
dof_indices | 每个要插入值的位置的索引集合。 |
在文件 numeric_vector.h 第 1089 行定义.
参考 libMesh::DenseSubVector< T >::empty() , 以及 libMesh::DenseSubVector< T >::size().
|
overridevirtual |
获取向量的 -范数,即条目的绝对值之和。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 48 行定义.
参考 libMesh::closed() , 以及 libMesh::initialized().
|
overridevirtual |
获取向量的 -范数,即条目平方和的平方根。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 59 行定义.
参考 libMesh::closed() , 以及 libMesh::initialized().
|
inherited |
获取 -范数的向量差值
, 其中
是
this。
other_vec | 另一个数值向量。 |
在文件 numeric_vector.C 第 363 行定义.
参考 std::norm(), libMesh::TensorTools::norm_sq(), libMesh::Real , 以及 std::sqrt().
|
inlineoverridevirtual |
获取实际存储在该处理器上的最后一个向量元素的索引+1。
size()。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 472 行定义.
|
overridevirtual |
获取向量的 -范数,即向量的最大绝对值。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 70 行定义.
参考 libMesh::closed() , 以及 libMesh::initialized().
|
virtualinherited |
比较该向量与另一个向量的局部相对差异。
如果两个向量在给定的局部相对阈值 abs
(a[i]-b[i])/max(a[i],b[i]) 下等效,则返回-1,否则返回首个不等效的索引。
other_vector | 要比较的另一个向量。 |
threshold | 允许的局部相对差异阈值(可选,默认值为 TOLERANCE)。 |
在文件 numeric_vector.C 第 137 行定义.
参考 std::abs().
|
inlineoverridevirtual |
获取向量的本地大小,即 index_stop
- index_start。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 450 行定义.
|
overridevirtual |
创建全局向量的副本并存储在本地向量 v_local
中。
v_local | 用于存储本地向量的 std::vector。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 392 行定义.
|
overridevirtual |
创建全局向量的副本并存储在本地向量 v_local
中,而不是 std::vector。
v_local | 用于存储本地向量的 NumericVector<T>。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 334 行定义.
|
overridevirtual |
创建本地向量 v_local
,其中仅包含与此处理器相关的信息,由 send_list
定义。
v_local | 用于存储本地向量的 NumericVector<T>。 |
send_list | 指定要包含在本地向量中的值的索引列表。 |
|
overridevirtual |
用全局索引中给定的值填充本地 std::vector "v_local"。
v_local | 用于存储本地向量的 std::vector。 |
indices | 要填充到 v_local 中的全局索引列表。 |
Fill in the local std::vector "v_local" with the global indices given in "indices".
Example:
* On 4 procs *this = {a, b, c, d, e, f, g, h, i} is a parallel vector. * On each proc, the indices arrays are set up as: * proc0, indices = {1,2,4,5} * proc1, indices = {2,5,6,8} * proc2, indices = {2,3,6,7} * proc3, indices = {0,1,2,3} * * After calling this version of localize, the v_local vectors are: * proc0, v_local = {b,c,e,f} * proc1, v_local = {c,f,g,i} * proc2, v_local = {c,d,g,h} * proc3, v_local = {a,b,c,d} *
这个函数在并行I/0例程中很有用,当你有一个解值的并行向量,你想写一个子集。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 364 行定义.
|
overridevirtual |
使用由 send_list
指定的值从相邻处理器中选择的值更新本地向量。
first_local_idx | 本地向量的第一个索引。 |
last_local_idx | 本地向量的最后一个索引。 |
send_list | 用于更新本地向量的值的索引列表。 |
|
overridevirtual |
在处理器 proc_id
上创建全局向量的本地副本。 默认情况下,数据发送到处理器 0。此方法对于从一个处理器输出数据非常有用。
v_local | 用于存储本地向量的 std::vector。 |
proc_id | 目标处理器的 ID。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 404 行定义.
|
overridevirtual |
获取向量中的最大值,或者在复数情况下获取最大的实部。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 430 行定义.
参考 libMesh::initialized(), libMesh::libmesh_real() , 以及 libMesh::Real.
|
inlineoverridevirtual |
返回 NumericVector 可以包含的最大条目数(在所有处理器上)。
尽管我们定义了 numeric_index_type,通常要求 NumericVector 底层实现的索引具有大小等于 sizeof(numeric_index_type) 的大小, 但这两种类型仍可能具有不同的符号,这会影响可以存储在 NumericVector 中的最大值数量。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 541 行定义.
|
overridevirtual |
获取向量中的最小值,或者在复数情况下获取最小的实部。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 453 行定义.
参考 libMesh::initialized(), libMesh::libmesh_real() , 以及 libMesh::Real.
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
在文件 reference_counter.h 第 85 行定义.
参考 libMesh::ReferenceCounter::_n_objects.
参考自 libMesh::LibMeshInit::~LibMeshInit().
|
inlineoverridevirtual |
获取向量的第 i 个条目的副本。
i | 要获取的条目的索引。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 513 行定义.
|
overridevirtual |
计算此向量条目与另一个向量的条目之间的分量乘法, 。
v | 另一个数值向量。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 110 行定义.
参考 libMesh::closed() , 以及 libMesh::NumericVector< T >::size().
|
inlineinherited |
将向量缩放为 a
, 。等价于
u.scale(a)。
a | 缩放因子。 |
在文件 numeric_vector.h 第 463 行定义.
参考 libMesh::NumericVector< T >::scale().
|
overridevirtual |
将向量加上 v
, 。等价于
u.add(1, v)。
v | 另一个数值向量。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 81 行定义.
参考 libMesh::EigenSparseVector< T >::_vec , 以及 libMesh::closed().
|
overridevirtual |
将 v
从 *this 减去, 。等价于
u.add
(-1, v)。
v | 另一个数值向量。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 96 行定义.
参考 libMesh::EigenSparseVector< T >::_vec , 以及 libMesh::closed().
|
overridevirtual |
计算此向量条目与另一个向量的分量除法, 。
v | 另一个数值向量。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 125 行定义.
参考 libMesh::closed() , 以及 libMesh::NumericVector< T >::size().
|
inlineinherited |
将向量缩放为 1/a
, 。等价于
u.scale
(1.
/a)。
a | 缩放因子。 |
在文件 numeric_vector.h 第 481 行定义.
参考 libMesh::NumericVector< T >::scale().
EigenSparseVector< T > & libMesh::EigenSparseVector< T >::operator= | ( | const EigenSparseVector< T > & | v | ) |
Copy assignment operator.
Does some state checks before copying the underlying Eigen data type.
在文件 eigen_sparse_vector.C 第 299 行定义.
参考 libMesh::EigenSparseVector< T >::_vec, libMesh::NumericVector< T >::closed(), libMesh::initialized() , 以及 libMesh::EigenSparseVector< T >::size().
|
default |
|
overridevirtual |
设置向量的所有条目为值 s。
s | 设置的值。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 268 行定义.
参考 libMesh::closed() , 以及 libMesh::initialized().
|
overridevirtual |
一个复制赋值运算符
v | 要复制的 NumericVector 对象。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 282 行定义.
|
overridevirtual |
设置 (*this)(i) = v(i) 对于向量的每个条目。
v | 另一个向量。 |
Case 1: The vector is the same size of The global vector. Only add the local components.
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 316 行定义.
|
overridevirtual |
计算该向量与另一个向量的逐点除法。
执行逐点(分量间)除法操作 , 并将结果存储在该向量中。
vec1 | 被除数的输入向量。 |
vec2 | 除数的输入向量。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 422 行定义.
|
overridevirtual |
比较该向量与另一个向量的全局相对差异。
如果两个向量在给定的全局相对阈值 threshold
下等效,则返回-1,否则返回首个不等效的索引, 其中相对差异定义为 。
other_vector | 要比较的另一个向量。 |
threshold | 允许的全局相对差异阈值(可选,默认值为 TOLERANCE)。 |
执行逐点(分量间)乘积操作 ,并将结果存储在该向量中。
vec1 | 第一个输入向量。 |
vec2 | 第二个输入向量。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 415 行定义.
|
inlinevirtualinherited |
打印本地向量的内容,默认输出到 libMesh::out 流。
os | 输出流,用于指定输出位置(可选,默认为 libMesh::out)。 |
在文件 numeric_vector.h 第 1121 行定义.
|
inlineinherited |
在文件 numeric_vector.h 第 1103 行定义.
参考 std::imag(), libMesh::initialized() , 以及 std::real().
|
inlinevirtualinherited |
打印全局向量的内容,默认输出到 libMesh::out 流。
os | 输出流,用于指定输出位置(可选,默认为 libMesh::out)。 |
在文件 numeric_vector.h 第 1158 行定义.
|
inlineinherited |
在文件 numeric_vector.h 第 1136 行定义.
|
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,则内容将被打印到屏幕上。
name | 用于指定输出文件名的可选参数(默认为空)。 |
被 libMesh::PetscVector< T > 重载.
在文件 numeric_vector.h 第 859 行定义.
|
inherited |
检查该向量是否能够用于全局操作。
在文件 numeric_vector.C 第 416 行定义.
参考 libMesh::closed() , 以及 libMesh::initialized().
参考自 libMesh::NumericVector< T >::add_vector(), libMesh::NumericVector< T >::compatible() , 以及 libMesh::NumericVector< T >::insert().
|
overridevirtual |
计算每个向量条目的分量倒数, 。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 141 行定义.
|
overridevirtual |
缩放向量的每个元素。
factor | 缩放因子。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 230 行定义.
|
inlineoverridevirtual |
设置 v(i)
= value
。 请注意,此方法的库实现是线程安全的, 例如,将在写入向量之前锁定 _numeric_vector_mutex
。
i | 要设置的条目的索引。 |
value | 要设置的值。 |
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 483 行定义.
|
inlineoverridevirtual |
获取向量的大小。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 439 行定义.
参考自 libMesh::EigenSparseVector< T >::operator=().
|
virtualinherited |
获取指定条目的向量的 -范数,即指定条目的绝对值之和。
indices | 指定的索引集合。 |
在文件 numeric_vector.C 第 306 行定义.
参考 std::abs(), std::norm() , 以及 libMesh::Real.
|
virtualinherited |
获取指定条目的向量的 -范数,即指定条目平方和的平方根。
indices | 指定的索引集合。 |
在文件 numeric_vector.C 第 323 行定义.
参考 std::norm(), libMesh::TensorTools::norm_sq(), libMesh::Real , 以及 std::sqrt().
|
virtualinherited |
获取指定条目的向量的最大绝对值,即指定条目的 -范数。
indices | 指定的索引集合。 |
在文件 numeric_vector.C 第 340 行定义.
参考 std::abs(), std::norm() , 以及 libMesh::Real.
|
overridevirtual |
获取向量中所有值的总和。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.C 第 37 行定义.
参考 libMesh::closed() , 以及 libMesh::initialized().
|
inlineoverridevirtual |
交换该向量的内容与向量 v
的内容。子类应提供足够的间接性以使此操作成为 O(1) 的头部交换操作。
v | 要交换内容的向量。 |
重载 libMesh::NumericVector< T > .
在文件 eigen_sparse_vector.h 第 526 行定义.
参考 libMesh::libMeshPrivateData::_is_initialized , 以及 libMesh::EigenSparseVector< T >::swap().
参考自 libMesh::EigenSparseVector< T >::swap().
|
inlineinherited |
获取向量的类型。
在文件 numeric_vector.h 第 166 行定义.
参考 libMesh::NumericVector< T >::_type.
参考自 libMesh::DofMap::constrain_element_residual(), libMesh::DofMap::enforce_adjoint_constraints_exactly(), libMesh::DofMap::enforce_constraints_exactly(), libMesh::DofMap::enforce_constraints_on_residual(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::DofMap::heterogeneously_constrain_element_jacobian_and_residual(), libMesh::DofMap::heterogeneously_constrain_element_residual(), libMesh::DistributedVector< T >::init(), libMesh::EigenSparseVector< T >::init(), libMesh::EpetraVector< T >::init(), libMesh::LaspackVector< T >::init() , 以及 libMesh::PetscVector< T >::localize().
|
inlineinherited |
获取向量的类型。
在文件 numeric_vector.h 第 173 行定义.
参考 libMesh::NumericVector< T >::_type.
|
inline |
References to the underlying Eigen data types.
在文件 eigen_sparse_vector.h 第 243 行定义.
参考 libMesh::EigenSparseVector< T >::_vec.
|
inline |
在文件 eigen_sparse_vector.h 第 244 行定义.
参考 libMesh::EigenSparseVector< T >::_vec.
|
inlineoverridevirtual |
将所有条目设置为零。等同于 v
= 0,但更明显且更快。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 404 行定义.
参考 libMesh::closed() , 以及 libMesh::initialized().
|
inlineoverridevirtual |
返回一个智能指针,指向具有相同类型、大小和分区的此向量的副本,但所有条目都为零。
实现了 libMesh::NumericVector< T >.
在文件 eigen_sparse_vector.h 第 416 行定义.
|
friend |
在文件 eigen_sparse_vector.h 第 257 行定义.
|
friend |
Make other Eigen datatypes friends.
在文件 eigen_sparse_vector.h 第 256 行定义.
|
staticprotectedinherited |
Actually holds the data.
在文件 reference_counter.h 第 124 行定义.
|
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 |
用于跟踪向量的值在在一些或全部处理器上进行插入或添加值操作后是否在所有处理器上保持一致的标志。
在文件 numeric_vector.h 第 913 行定义.
参考自 libMesh::NumericVector< T >::closed(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::DistributedVector< T >::localize(), libMesh::DistributedVector< T >::operator=() , 以及 libMesh::PetscVector< T >::PetscVector().
|
protectedinherited |
在调用 init() 后设置为 true。
在文件 numeric_vector.h 第 918 行定义.
参考自 libMesh::PetscVector< T >::create_subvector(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::NumericVector< T >::initialized(), libMesh::DistributedVector< T >::localize(), libMesh::DistributedVector< T >::operator=() , 以及 libMesh::PetscVector< T >::PetscVector().
|
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 |
用于执行线程安全操作的互斥锁。
在文件 numeric_vector.h 第 928 行定义.
|
protectedinherited |
向量的类型。
在文件 numeric_vector.h 第 923 行定义.
参考自 libMesh::DistributedVector< T >::DistributedVector(), libMesh::EigenSparseVector< T >::EigenSparseVector(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::PetscVector< T >::init(), libMesh::LaspackVector< T >::LaspackVector(), libMesh::PetscVector< T >::PetscVector() , 以及 libMesh::NumericVector< T >::type().
|
private |
Actual Eigen::SparseVector<> we are wrapping.
在文件 eigen_sparse_vector.h 第 251 行定义.
参考自 libMesh::EigenSparseVector< T >::add(), libMesh::EigenSparseVector< T >::add_vector(), libMesh::EigenSparseVector< T >::add_vector_transpose(), libMesh::EigenSparseVector< T >::dot(), libMesh::EigenSparseMatrix< T >::get_diagonal(), libMesh::EigenSparseVector< T >::operator+=(), libMesh::EigenSparseVector< T >::operator-=(), libMesh::EigenSparseVector< T >::operator=() , 以及 libMesh::EigenSparseVector< T >::vec().