此类提供了对Trilinos Epetra_Vector对象的友好接口。所有重写的虚拟函数在numeric_vector.h中都有文档。 更多...
#include <trilinos_epetra_vector.h>
Public 类型 | |
typedef T | value_type |
Public 成员函数 | |
EpetraVector (const Parallel::Communicator &comm, const ParallelType type=AUTOMATIC) | |
构造函数。创建一个维度为0的虚拟矢量。 更多... | |
EpetraVector (const Parallel::Communicator &comm, const numeric_index_type n, const ParallelType type=AUTOMATIC) | |
构造函数。将维度设置为n并初始化所有元素为零。 更多... | |
EpetraVector (const Parallel::Communicator &comm, const numeric_index_type n, const numeric_index_type n_local, const ParallelType type=AUTOMATIC) | |
构造函数。将本地维度设置为n_local,全局维度设置为n,并初始化所有元素为零。 更多... | |
EpetraVector (const Parallel::Communicator &comm, const numeric_index_type N, const numeric_index_type n_local, const std::vector< numeric_index_type > &ghost, const ParallelType type=AUTOMATIC) | |
构造函数。将本地维度设置为n_local,全局维度设置为n,并为ghost参数指定的索引保留内存。 更多... | |
EpetraVector (Epetra_Vector &v, const Parallel::Communicator &comm) | |
构造函数。创建一个EpetraVector,假设您已经有一个有效的Epetra Vec对象。 在这种情况下,v不会在EpetraVector析构函数销毁时被销毁。这允许保留v的所有权在原始创建者手中, 并提供与EpetraVector的附加功能。 更多... | |
EpetraVector (EpetraVector &&)=delete | |
由于此类手动管理Epetra_Vector的生命周期,因此我们不希望生成任何自动生成的复制/移动函数, 并且无法默认生成析构函数。 更多... | |
EpetraVector (const EpetraVector &)=delete | |
EpetraVector & | operator= (const EpetraVector &)=delete |
EpetraVector & | operator= (EpetraVector &&)=delete |
virtual void | close () override |
关闭矢量,使其无法再次修改。 更多... | |
virtual void | clear () noexceptoverride |
清除矢量,析构函数中会调用此函数,因此不应抛出异常。 更多... | |
virtual void | zero () override |
将所有元素置零。 更多... | |
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 type=AUTOMATIC) override |
初始化矢量。 更多... | |
virtual void | init (const numeric_index_type N, const bool fast=false, const ParallelType type=AUTOMATIC) override |
初始化矢量。 更多... | |
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 |
初始化矢量。 更多... | |
virtual void | init (const NumericVector< T > &other, const bool fast=false) override |
初始化矢量,使用其他矢量进行初始化。 更多... | |
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 |
从std::vector复制元素。 更多... | |
virtual Real | min () const override |
获取矢量中的最小值。 更多... | |
virtual Real | max () const override |
获取矢量中的最大值。 更多... | |
virtual T | sum () const override |
计算矢量中所有元素的总和。 更多... | |
virtual Real | l1_norm () const override |
计算矢量的L1范数。 更多... | |
virtual Real | l2_norm () const override |
计算矢量的L2范数。 更多... | |
virtual Real | linfty_norm () const override |
计算矢量的L∞范数。 更多... | |
virtual numeric_index_type | size () const override |
获取矢量的全局大小。 更多... | |
virtual numeric_index_type | local_size () const override |
获取矢量的本地大小。 更多... | |
virtual numeric_index_type | first_local_index () const override |
获取矢量的第一个本地索引。 更多... | |
virtual numeric_index_type | last_local_index () const override |
获取矢量的最后一个本地索引。 更多... | |
virtual T | operator() (const numeric_index_type i) const override |
获取矢量中索引i处的值。 更多... | |
virtual NumericVector< T > & | operator+= (const NumericVector< T > &v) override |
将矢量与另一个矢量相加并将结果存储在当前矢量中。 更多... | |
virtual NumericVector< T > & | operator-= (const NumericVector< T > &v) override |
将矢量与另一个矢量相减并将结果存储在当前矢量中。 更多... | |
virtual NumericVector< T > & | operator*= (const NumericVector< T > &v) override |
将矢量与另一个矢量逐元素相乘并将结果存储在当前矢量中。 更多... | |
virtual NumericVector< T > & | operator/= (const NumericVector< T > &v) override |
将矢量与另一个矢量逐元素相除并将结果存储在当前矢量中。 更多... | |
virtual void | reciprocal () override |
计算当前矢量的逐元素倒数。 更多... | |
virtual void | conjugate () override |
计算当前矢量的逐元素共轭。 更多... | |
virtual void | set (const numeric_index_type i, const T value) override |
设置索引i处的值为value。 更多... | |
virtual void | add (const numeric_index_type i, const T value) override |
将索引i处的值增加value。 更多... | |
virtual void | add (const T s) override |
将矢量中的所有元素增加s。 更多... | |
virtual void | add (const NumericVector< T > &v) override |
将矢量与另一个矢量相加并将结果存储在当前矢量中。 更多... | |
virtual void | add (const T a, const NumericVector< T > &v) override |
将矢量与另一个矢量的逐元素乘积与标量a相加并将结果存储在当前矢量中。 更多... | |
virtual void | add_vector (const T *v, const std::vector< numeric_index_type > &dof_indices) override |
使用特定的自由度索引添加一个值数组到当前矢量中。 更多... | |
virtual void | add_vector (const NumericVector< T > &v, const SparseMatrix< T > &A) override |
使用稀疏矩阵A的乘积将另一个矢量v添加到当前矢量中。 更多... | |
virtual void | add_vector_transpose (const NumericVector< T > &v, const SparseMatrix< T > &A) override |
使用稀疏矩阵A的转置乘积将另一个矢量v添加到当前矢量中。 更多... | |
virtual void | insert (const T *v, const std::vector< numeric_index_type > &dof_indices) override |
使用特定的自由度索引将一个值数组插入到当前矢量中。 更多... | |
virtual void | scale (const T factor) override |
缩放矢量的所有元素。 更多... | |
virtual void | abs () override |
计算矢量的绝对值。 更多... | |
virtual T | dot (const NumericVector< T > &v) const override |
计算当前矢量与另一个矢量的点积。 更多... | |
virtual void | localize (std::vector< T > &v_local) const override |
将当前矢量的值本地化到一个本地矢量中。 更多... | |
virtual void | localize (NumericVector< T > &v_local) const override |
将当前矢量的值本地化到另一个矢量的相应位置。 更多... | |
virtual void | localize (NumericVector< T > &v_local, const std::vector< numeric_index_type > &send_list) const override |
将当前矢量的部分值本地化到另一个矢量的相应位置。 更多... | |
virtual void | localize (std::vector< T > &v_local, const std::vector< numeric_index_type > &indices) const override |
将当前矢量的部分值本地化到本地矢量的相应位置。 更多... | |
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 |
将指定范围内的部分值本地化到另一个矢量的相应位置。 更多... | |
virtual void | localize_to_one (std::vector< T > &v_local, const processor_id_type proc_id=0) const override |
将所有值本地化到一个本地矢量中,仅保留一个处理器上的值。 更多... | |
virtual void | pointwise_mult (const NumericVector< T > &vec1, const NumericVector< T > &vec2) override |
计算当前矢量与另一个矢量的逐元素乘积。 更多... | |
virtual void | create_subvector (NumericVector< T > &subvector, const std::vector< numeric_index_type > &rows) const override |
创建当前矢量的子矢量,包含指定行的值。 更多... | |
virtual void | swap (NumericVector< T > &v) override |
交换当前矢量与另一个矢量的值。 更多... | |
virtual std::size_t | max_allowed_id () const override |
获取允许的最大ID大小。 更多... | |
Epetra_Vector * | vec () |
返回原始的 Epetra_Vector 指针。 更多... | |
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. 更多... | |
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。 更多... | |
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 | pointwise_divide (const NumericVector< T > &vec1, const NumericVector< T > &vec2)=0 |
计算该向量与另一个向量的逐点除法。 更多... | |
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,则内容将被打印到屏幕上。 更多... | |
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 成员函数 | |
int | SumIntoGlobalValues (int numIDs, const int *GIDs, const double *values) |
将值累积到向量中,将它们添加到指定索引已存在的任何值中。 更多... | |
int | SumIntoGlobalValues (const Epetra_IntSerialDenseVector &GIDs, const Epetra_SerialDenseVector &values) |
将值累积到向量中,将它们添加到指定 GID 已存在的任何值中。 更多... | |
int | ReplaceGlobalValues (int numIDs, const int *GIDs, const double *values) |
将值复制到向量中,覆盖指定索引已存在的任何值。 更多... | |
int | ReplaceGlobalValues (const Epetra_IntSerialDenseVector &GIDs, const Epetra_SerialDenseVector &values) |
将值复制到向量中,替换指定 GID 已存在的任何值。 更多... | |
int | SumIntoGlobalValues (int numIDs, const int *GIDs, const int *numValuesPerID, const double *values) |
将值累积到向量中,将它们添加到指定索引已存在的任何值中。 更多... | |
int | ReplaceGlobalValues (int numIDs, const int *GIDs, const int *numValuesPerID, const double *values) |
将值复制到向量中,替换指定索引已存在的任何值。 更多... | |
int | GlobalAssemble (Epetra_CombineMode mode=Add) |
将所有重叠/共享数据收集到由 Map 在构造函数中传递给该向量定义的非重叠分区中。 从其他处理器导入的数据以“sumInto”或累积操作存储在拥有处理器上。这是一种集体方法, 每个处理器在任何处理器完成它之前都必须进入它。 更多... | |
void | setIgnoreNonLocalEntries (bool flag) |
设置是否应忽略非本地数据值。 更多... | |
void | FEoperatorequals (const EpetraVector &source) |
从另一个 EpetraVector 对象中复制操作符。 更多... | |
int | inputValues (int numIDs, const int *GIDs, const double *values, bool accumulate) |
输入值到向量中,覆盖或累积到指定索引的已存在的任何值。 更多... | |
int | inputValues (int numIDs, const int *GIDs, const int *numValuesPerID, const double *values, bool accumulate) |
输入值到向量中,替换或累积到指定全局 ID 的已存在的任何值。 更多... | |
int | inputNonlocalValue (int GID, double value, bool accumulate) |
输入非本地值到向量中,覆盖或累积到指定 GID 的已存在的任何值。 更多... | |
int | inputNonlocalValues (int GID, int numValues, const double *values, bool accumulate) |
输入非本地值到向量中,覆盖或累积到指定 GID 的已存在的任何值。 更多... | |
void | destroyNonlocalData () |
销毁非本地数据。 更多... | |
Private 属性 | |
Epetra_Vector * | _vec |
用于保存向量条目的实际 Epetra 向量数据类型。 更多... | |
std::unique_ptr< Epetra_Map > | _map |
持有分布式映射。 更多... | |
bool | _destroy_vec_on_exit |
此布尔值只应在接受 Epetra Vec 对象的构造函数中设置为 false。 更多... | |
int | myFirstID_ |
保存向量的第一个全局 ID。 更多... | |
int | myNumIDs_ |
保存向量的全局 ID 数量。 更多... | |
double * | myCoefs_ |
保存系数的指针数组。 更多... | |
int * | nonlocalIDs_ |
非本地 ID 数组。 更多... | |
int * | nonlocalElementSize_ |
非本地元素大小数组。 更多... | |
int | numNonlocalIDs_ |
非本地 ID 数量。 更多... | |
int | allocatedNonlocalLength_ |
已分配的非本地长度。 更多... | |
double ** | nonlocalCoefs_ |
非本地系数的指针数组。 更多... | |
unsigned char | last_edit |
跟踪上次对此向量的写入操作是“无”(0)还是“累积”(1)还是“添加”(2), 以便我们可以决定如何进行 GlobalAssemble()。 更多... | |
bool | ignoreNonLocalEntries_ |
是否忽略非本地数据值。 更多... | |
此类提供了对Trilinos Epetra_Vector对象的友好接口。所有重写的虚拟函数在numeric_vector.h中都有文档。
在文件 trilinos_epetra_vector.h 第 63 行定义.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
在文件 reference_counter.h 第 119 行定义.
typedef T libMesh::EpetraVector< T >::value_type |
在文件 trilinos_epetra_vector.h 第 66 行定义.
|
inlineexplicit |
构造函数。创建一个维度为0的虚拟矢量。
comm | 通信器 |
type | 并行类型(默认为AUTOMATIC) |
在文件 trilinos_epetra_vector.h 第 804 行定义.
参考 libMesh::NumericVector< T >::_type , 以及 libMesh::NumericVector< T >::type().
|
inlineexplicit |
构造函数。将维度设置为n并初始化所有元素为零。
comm | 通信器 |
n | 全局维度 |
type | 并行类型(默认为AUTOMATIC) |
在文件 trilinos_epetra_vector.h 第 826 行定义.
参考 libMesh::EpetraVector< T >::init().
|
inline |
构造函数。将本地维度设置为n_local,全局维度设置为n,并初始化所有元素为零。
comm | 通信器 |
n | 全局维度 |
n_local | 本地维度 |
type | 并行类型(默认为AUTOMATIC) |
在文件 trilinos_epetra_vector.h 第 850 行定义.
参考 libMesh::EpetraVector< T >::init().
|
inline |
构造函数。将本地维度设置为n_local,全局维度设置为n,并为ghost参数指定的索引保留内存。
comm | 通信器 |
N | 全局维度 |
n_local | 本地维度 |
ghost | 需要保留内存的索引 |
type | 并行类型(默认为AUTOMATIC) |
在文件 trilinos_epetra_vector.h 第 916 行定义.
参考 libMesh::EpetraVector< T >::init().
|
inline |
构造函数。创建一个EpetraVector,假设您已经有一个有效的Epetra Vec对象。 在这种情况下,v不会在EpetraVector析构函数销毁时被销毁。这允许保留v的所有权在原始创建者手中, 并提供与EpetraVector的附加功能。
v | 指向现有Epetra_Vector对象的引用 |
comm | 通信器 |
在文件 trilinos_epetra_vector.h 第 875 行定义.
参考 libMesh::NumericVector< T >::_is_closed, libMesh::NumericVector< T >::_is_initialized, libMesh::EpetraVector< T >::_map, libMesh::NumericVector< T >::_type, libMesh::EpetraVector< T >::_vec, libMesh::EpetraVector< T >::myCoefs_, libMesh::EpetraVector< T >::myFirstID_ , 以及 libMesh::EpetraVector< T >::myNumIDs_.
|
delete |
由于此类手动管理Epetra_Vector的生命周期,因此我们不希望生成任何自动生成的复制/移动函数, 并且无法默认生成析构函数。
|
delete |
|
overridevirtual |
计算矢量的绝对值。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 325 行定义.
|
overridevirtual |
将索引i处的值增加value。
i | 索引 |
value | 要增加的值 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 214 行定义.
|
overridevirtual |
将矢量中的所有元素增加s。
s | 要增加的值 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 271 行定义.
|
overridevirtual |
将矢量与另一个矢量相加并将结果存储在当前矢量中。
v | 另一个矢量 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 285 行定义.
|
overridevirtual |
将矢量与另一个矢量的逐元素乘积与标量a相加并将结果存储在当前矢量中。
a | 标量 |
v | 另一个矢量 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 292 行定义.
参考 libMesh::EpetraVector< T >::_vec , 以及 libMesh::EpetraVector< T >::size().
|
overridevirtual |
使用特定的自由度索引添加一个值数组到当前矢量中。
v | 值数组 |
dof_indices | 自由度索引 |
重载 libMesh::NumericVector< T > .
在文件 trilinos_epetra_vector.C 第 230 行定义.
参考 libMesh::numeric_trilinos_cast().
|
overridevirtual |
使用稀疏矩阵A的乘积将另一个矢量v添加到当前矢量中。
v | 另一个矢量 |
A | 稀疏矩阵A |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 245 行定义.
参考 libMesh::EpetraVector< T >::_vec , 以及 libMesh::EpetraVector< T >::zero_clone().
|
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的转置乘积将另一个矢量v添加到当前矢量中。
v | 另一个矢量 |
A | 稀疏矩阵A |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 262 行定义.
|
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().
|
inlineoverridevirtualnoexcept |
清除矢量,析构函数中会调用此函数,因此不应抛出异常。
重载 libMesh::NumericVector< T > .
在文件 trilinos_epetra_vector.h 第 1065 行定义.
参考 libMesh::libMeshPrivateData::_is_initialized , 以及 libMesh::initialized().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
关闭矢量,使其无法再次修改。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 1041 行定义.
参考自 libMesh::EpetraVector< T >::localize().
|
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 |
|
overridevirtual |
创建当前矢量的子矢量,包含指定行的值。
subvector | 子矢量 |
rows | 指定行的索引列表 |
重载 libMesh::NumericVector< T > .
在文件 trilinos_epetra_vector.C 第 581 行定义.
|
private |
销毁非本地数据。
在文件 trilinos_epetra_vector.C 第 915 行定义.
|
staticinherited |
在文件 reference_counter.C 第 100 行定义.
参考 libMesh::ReferenceCounter::_enable_print_counter.
|
overridevirtual |
计算当前矢量与另一个矢量的点积。
v | 另一个矢量 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 332 行定义.
参考 libMesh::EpetraVector< T >::_vec.
|
inlinevirtualinherited |
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
在文件 reference_counter.C 第 94 行定义.
参考 libMesh::ReferenceCounter::_enable_print_counter.
|
private |
从另一个 EpetraVector 对象中复制操作符。
source | 源 EpetraVector 对象。 |
在文件 trilinos_epetra_vector.C 第 887 行定义.
参考 libMesh::EpetraVector< T >::_vec, libMesh::EpetraVector< T >::allocatedNonlocalLength_, libMesh::EpetraVector< T >::nonlocalCoefs_, libMesh::EpetraVector< T >::nonlocalElementSize_, libMesh::EpetraVector< T >::nonlocalIDs_ , 以及 libMesh::EpetraVector< T >::numNonlocalIDs_.
|
inlineoverridevirtual |
获取矢量的第一个本地索引。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 1142 行定义.
|
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().
|
private |
将所有重叠/共享数据收集到由 Map 在构造函数中传递给该向量定义的非重叠分区中。 从其他处理器导入的数据以“sumInto”或累积操作存储在拥有处理器上。这是一种集体方法, 每个处理器在任何处理器完成它之前都必须进入它。
mode | 聚合模式(默认为 Add)。 |
在文件 trilinos_epetra_vector.C 第 841 行定义.
|
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_local | 本地维度 |
fast | 是否启用快速初始化 |
type | 并行类型(默认为AUTOMATIC) |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 960 行定义.
参考 libMesh::libMeshPrivateData::_is_initialized , 以及 libMesh::zero.
参考自 libMesh::EpetraVector< T >::EpetraVector() , 以及 libMesh::EpetraVector< T >::localize().
|
inlineoverridevirtual |
初始化矢量。
N | 全局维度 |
fast | 是否启用快速初始化 |
type | 并行类型(默认为AUTOMATIC) |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 1030 行定义.
|
inlineoverridevirtual |
初始化矢量。
N | 全局维度 |
n_local | 本地维度 |
ghost | 需要保留内存的索引 |
fast | 是否启用快速初始化 |
type | 并行类型(默认为AUTOMATIC) |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 1016 行定义.
|
overridevirtual |
初始化矢量,使用其他矢量进行初始化。
other | 源矢量 |
fast | 是否启用快速初始化 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 941 行定义.
参考 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().
|
private |
输入非本地值到向量中,覆盖或累积到指定 GID 的已存在的任何值。
GID | 全局 ID。 |
value | 输入的值。 |
accumulate | 如果为 true,则将值累积到已存在的值中。 |
在文件 trilinos_epetra_vector.C 第 739 行定义.
|
private |
输入非本地值到向量中,覆盖或累积到指定 GID 的已存在的任何值。
GID | 全局 ID。 |
numValues | 值的数量。 |
values | 包含系数值的数组。 |
accumulate | 如果为 true,则将值累积到已存在的值中。 |
在文件 trilinos_epetra_vector.C 第 782 行定义.
参考 libMesh::err.
|
private |
输入值到向量中,覆盖或累积到指定索引的已存在的任何值。
numIDs | 全局 ID 的数量。 |
GIDs | 包含全局 ID 的数组。 |
values | 包含系数值的数组。 |
accumulate | 如果为 true,则将值累积到已存在的值中。 |
在文件 trilinos_epetra_vector.C 第 659 行定义.
|
private |
输入值到向量中,替换或累积到指定全局 ID 的已存在的任何值。
numIDs | 全局 ID 的数量。 |
GIDs | 包含全局 ID 的数组。 |
numValuesPerID | 包含每个全局 ID 对应值的数量的数组。 |
values | 包含系数值的数组。 |
accumulate | 如果为 true,则将值累积到已存在的值中。 |
在文件 trilinos_epetra_vector.C 第 696 行定义.
|
overridevirtual |
使用特定的自由度索引将一个值数组插入到当前矢量中。
v | 值数组 |
dof_indices | 自由度索引 |
重载 libMesh::NumericVector< T > .
在文件 trilinos_epetra_vector.C 第 304 行定义.
参考 libMesh::numeric_trilinos_cast().
|
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 |
计算矢量的L1范数。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 69 行定义.
参考 libMesh::closed() , 以及 libMesh::Real.
|
overridevirtual |
计算矢量的L2范数。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 81 行定义.
参考 libMesh::closed() , 以及 libMesh::Real.
|
inherited |
获取 -范数的向量差值
, 其中
是
this。
other_vec | 另一个数值向量。 |
在文件 numeric_vector.C 第 363 行定义.
参考 std::norm(), libMesh::TensorTools::norm_sq(), libMesh::Real , 以及 std::sqrt().
|
inlineoverridevirtual |
获取矢量的最后一个本地索引。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 1153 行定义.
|
overridevirtual |
计算矢量的L∞范数。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 93 行定义.
参考 libMesh::closed() , 以及 libMesh::Real.
|
virtualinherited |
比较该向量与另一个向量的局部相对差异。
如果两个向量在给定的局部相对阈值 abs
(a[i]-b[i])/max(a[i],b[i]) 下等效,则返回-1,否则返回首个不等效的索引。
other_vector | 要比较的另一个向量。 |
threshold | 允许的局部相对差异阈值(可选,默认值为 TOLERANCE)。 |
在文件 numeric_vector.C 第 137 行定义.
参考 std::abs().
|
inlineoverridevirtual |
获取矢量的本地大小。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 1133 行定义.
|
overridevirtual |
将当前矢量的值本地化到一个本地矢量中。
v_local | 存储本地化值的矢量 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 532 行定义.
参考自 libMesh::EpetraVector< T >::localize().
|
overridevirtual |
将当前矢量的值本地化到另一个矢量的相应位置。
v_local | 存储本地化值的矢量 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 420 行定义.
参考 libMesh::EpetraVector< T >::_vec.
|
overridevirtual |
将当前矢量的部分值本地化到另一个矢量的相应位置。
v_local | 存储本地化值的矢量 |
send_list | 本地化的部分值的索引列表 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 434 行定义.
|
overridevirtual |
将当前矢量的部分值本地化到本地矢量的相应位置。
v_local | 存储本地化值的矢量 |
indices | 本地化的部分值的索引列表 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 456 行定义.
|
overridevirtual |
将指定范围内的部分值本地化到另一个矢量的相应位置。
first_local_idx | 第一个本地索引 |
last_local_idx | 最后一个本地索引 |
send_list | 本地化的部分值的索引列表 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 495 行定义.
参考 libMesh::EpetraVector< T >::close(), libMesh::EpetraVector< T >::init(), libMesh::EpetraVector< T >::localize() , 以及 libMesh::EpetraVector< T >::set().
|
overridevirtual |
将所有值本地化到一个本地矢量中,仅保留一个处理器上的值。
v_local | 存储本地化值的矢量 |
proc_id | 用于本地化的处理器ID |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 555 行定义.
|
inlineoverridevirtual |
获取矢量中的最大值。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 1191 行定义.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
获取矢量中的最小值。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 1176 行定义.
|
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 >.
在文件 trilinos_epetra_vector.h 第 1163 行定义.
|
overridevirtual |
将矢量与另一个矢量逐元素相乘并将结果存储在当前矢量中。
v | 另一个矢量 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 131 行定义.
参考 libMesh::closed() , 以及 libMesh::NumericVector< T >::size().
|
inlineinherited |
将向量缩放为 a
, 。等价于
u.scale(a)。
a | 缩放因子。 |
在文件 numeric_vector.h 第 463 行定义.
参考 libMesh::NumericVector< T >::scale().
|
overridevirtual |
将矢量与另一个矢量相加并将结果存储在当前矢量中。
v | 另一个矢量 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 106 行定义.
|
overridevirtual |
将矢量与另一个矢量相减并将结果存储在当前矢量中。
v | 另一个矢量 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 119 行定义.
|
overridevirtual |
将矢量与另一个矢量逐元素相除并将结果存储在当前矢量中。
v | 另一个矢量 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 146 行定义.
参考 libMesh::closed() , 以及 libMesh::NumericVector< T >::size().
|
inlineinherited |
将向量缩放为 1/a
, 。等价于
u.scale
(1.
/a)。
a | 缩放因子。 |
在文件 numeric_vector.h 第 481 行定义.
参考 libMesh::NumericVector< T >::scale().
|
delete |
|
delete |
|
overridevirtual |
将矢量中的所有元素设置为标量值s。
s | 标量值 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 357 行定义.
|
overridevirtual |
从其他矢量复制元素。
v | 源矢量 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 368 行定义.
|
overridevirtual |
从std::vector复制元素。
v | 源std::vector |
Case 1: The vector is the same size of The global vector. Only add the local components.
Case 2: The vector is the same size as our local piece. Insert directly to the local piece.
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 383 行定义.
|
pure virtualinherited |
计算该向量与另一个向量的逐点除法。
执行逐点(分量间)除法操作 , 并将结果存储在该向量中。
vec1 | 被除数的输入向量。 |
vec2 | 除数的输入向量。 |
在 libMesh::PetscVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T > , 以及 libMesh::DistributedVector< T > 内被实现.
|
overridevirtual |
计算当前矢量与另一个矢量的逐元素乘积。
vec1 | 另一个矢量 |
vec2 | 另一个矢量 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 345 行定义.
参考 libMesh::EpetraVector< T >::_vec.
|
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 >.
在文件 trilinos_epetra_vector.C 第 178 行定义.
参考 std::abs().
|
private |
将值复制到向量中,覆盖指定索引已存在的任何值。
numIDs | 全局 ID 的数量。 |
GIDs | 包含全局 ID 的数组。 |
values | 包含系数值的数组。 |
在文件 trilinos_epetra_vector.C 第 628 行定义.
|
private |
将值复制到向量中,替换指定 GID 已存在的任何值。
GIDs | 包含全局 ID 的数组,必须与伴随的 values 数组的长度相同。 |
values | 包含系数值的数组,必须与伴随的 GIDs 数组的长度相同。 |
在文件 trilinos_epetra_vector.C 第 637 行定义.
|
private |
将值复制到向量中,替换指定索引已存在的任何值。
numIDs | 全局 ID 的数量。 |
GIDs | 包含全局 ID 的数组。 |
numValuesPerID | 包含每个全局 ID 对应值的数量的数组。 |
values | 包含系数值的数组。 |
在文件 trilinos_epetra_vector.C 第 649 行定义.
|
overridevirtual |
缩放矢量的所有元素。
factor | 缩放因子 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 319 行定义.
|
overridevirtual |
设置索引i处的值为value。
i | 索引 |
value | 要设置的值 |
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.C 第 162 行定义.
参考自 libMesh::EpetraVector< T >::localize().
|
inlineprivate |
设置是否应忽略非本地数据值。
flag | 如果为 true,则忽略非本地数据值。 |
在文件 trilinos_epetra_vector.h 第 668 行定义.
参考 libMesh::EpetraVector< T >::ignoreNonLocalEntries_.
|
inlineoverridevirtual |
获取矢量的全局大小。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 1122 行定义.
参考自 libMesh::EpetraVector< T >::add().
|
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 >.
在文件 trilinos_epetra_vector.C 第 50 行定义.
|
private |
将值累积到向量中,将它们添加到指定索引已存在的任何值中。
numIDs | 全局 ID 的数量。 |
GIDs | 包含全局 ID 的数组。 |
values | 包含系数值的数组。 |
在文件 trilinos_epetra_vector.C 第 597 行定义.
|
private |
将值累积到向量中,将它们添加到指定 GID 已存在的任何值中。
GIDs | 包含全局 ID 的数组,必须与伴随的 values 数组的长度相同。 |
values | 包含系数值的数组,必须与伴随的 GIDs 数组的长度相同。 |
在文件 trilinos_epetra_vector.C 第 606 行定义.
|
private |
将值累积到向量中,将它们添加到指定索引已存在的任何值中。
numIDs | 全局 ID 的数量。 |
GIDs | 包含全局 ID 的数组。 |
numValuesPerID | 包含每个全局 ID 对应值的数量的数组。 |
values | 包含系数值的数组。 |
在文件 trilinos_epetra_vector.C 第 618 行定义.
|
inlineoverridevirtual |
交换当前矢量与另一个矢量的值。
v | 另一个矢量 |
重载 libMesh::NumericVector< T > .
在文件 trilinos_epetra_vector.h 第 1206 行定义.
参考 libMesh::EpetraVector< T >::_destroy_vec_on_exit, libMesh::EpetraVector< T >::_map, libMesh::EpetraVector< T >::_vec, libMesh::EpetraVector< T >::allocatedNonlocalLength_, libMesh::EpetraVector< T >::ignoreNonLocalEntries_, libMesh::EpetraVector< T >::last_edit, libMesh::EpetraVector< T >::myCoefs_, libMesh::EpetraVector< T >::myFirstID_, libMesh::EpetraVector< T >::myNumIDs_, libMesh::EpetraVector< T >::nonlocalCoefs_, libMesh::EpetraVector< T >::nonlocalElementSize_, libMesh::EpetraVector< T >::nonlocalIDs_, libMesh::EpetraVector< T >::numNonlocalIDs_ , 以及 libMesh::NumericVector< 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 |
返回原始的 Epetra_Vector 指针。
在文件 trilinos_epetra_vector.h 第 553 行定义.
参考 libMesh::EpetraVector< T >::_vec.
参考自 libMesh::EpetraMatrix< T >::get_diagonal().
|
inlineoverridevirtual |
将所有元素置零。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 1087 行定义.
参考 libMesh::closed() , 以及 libMesh::initialized().
|
inlineoverridevirtual |
创建零克隆矢量。
实现了 libMesh::NumericVector< T >.
在文件 trilinos_epetra_vector.h 第 1099 行定义.
|
staticprotectedinherited |
Actually holds the data.
在文件 reference_counter.h 第 124 行定义.
|
private |
此布尔值只应在接受 Epetra Vec 对象的构造函数中设置为 false。
在文件 trilinos_epetra_vector.h 第 570 行定义.
|
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().
|
private |
持有分布式映射。
在文件 trilinos_epetra_vector.h 第 565 行定义.
参考自 libMesh::EpetraVector< T >::EpetraVector() , 以及 libMesh::EpetraVector< T >::swap().
|
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 |
用于保存向量条目的实际 Epetra 向量数据类型。
在文件 trilinos_epetra_vector.h 第 560 行定义.
参考自 libMesh::EpetraVector< T >::add(), libMesh::EpetraVector< T >::add_vector(), libMesh::EpetraVector< T >::dot(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::EpetraVector< T >::FEoperatorequals(), libMesh::EpetraVector< T >::localize(), libMesh::EpetraVector< T >::pointwise_mult(), libMesh::EpetraVector< T >::swap() , 以及 libMesh::EpetraVector< T >::vec().
|
private |
已分配的非本地长度。
在文件 trilinos_epetra_vector.h 第 778 行定义.
参考自 libMesh::EpetraVector< T >::FEoperatorequals() , 以及 libMesh::EpetraVector< T >::swap().
|
private |
是否忽略非本地数据值。
在文件 trilinos_epetra_vector.h 第 794 行定义.
参考自 libMesh::EpetraVector< T >::setIgnoreNonLocalEntries() , 以及 libMesh::EpetraVector< T >::swap().
|
private |
跟踪上次对此向量的写入操作是“无”(0)还是“累积”(1)还是“添加”(2), 以便我们可以决定如何进行 GlobalAssemble()。
在文件 trilinos_epetra_vector.h 第 789 行定义.
|
private |
保存系数的指针数组。
在文件 trilinos_epetra_vector.h 第 758 行定义.
参考自 libMesh::EpetraVector< T >::EpetraVector() , 以及 libMesh::EpetraVector< T >::swap().
|
private |
保存向量的第一个全局 ID。
在文件 trilinos_epetra_vector.h 第 748 行定义.
参考自 libMesh::EpetraVector< T >::EpetraVector() , 以及 libMesh::EpetraVector< T >::swap().
|
private |
保存向量的全局 ID 数量。
在文件 trilinos_epetra_vector.h 第 753 行定义.
参考自 libMesh::EpetraVector< T >::EpetraVector() , 以及 libMesh::EpetraVector< T >::swap().
|
private |
非本地系数的指针数组。
在文件 trilinos_epetra_vector.h 第 783 行定义.
参考自 libMesh::EpetraVector< T >::FEoperatorequals() , 以及 libMesh::EpetraVector< T >::swap().
|
private |
非本地元素大小数组。
在文件 trilinos_epetra_vector.h 第 768 行定义.
参考自 libMesh::EpetraVector< T >::FEoperatorequals() , 以及 libMesh::EpetraVector< T >::swap().
|
private |
非本地 ID 数组。
在文件 trilinos_epetra_vector.h 第 763 行定义.
参考自 libMesh::EpetraVector< T >::FEoperatorequals() , 以及 libMesh::EpetraVector< T >::swap().
|
private |
非本地 ID 数量。
在文件 trilinos_epetra_vector.h 第 773 行定义.
参考自 libMesh::EpetraVector< T >::FEoperatorequals() , 以及 libMesh::EpetraVector< T >::swap().