MFEM v2.0
|
Wrapper for hypre's parallel vector class. More...
#include <hypre.hpp>
Public Member Functions | |
HypreParVector (int glob_size, int *col) | |
HypreParVector (int glob_size, double *_data, int *col) | |
HypreParVector (const HypreParVector &y) | |
Creates vector compatible with y. | |
HypreParVector (HYPRE_ParVector y) | |
Creates vector wrapping y. | |
operator hypre_ParVector * () const | |
Typecasting to hypre's hypre_ParVector*. | |
operator HYPRE_ParVector () const | |
Typecasting to hypre's HYPRE_ParVector, a.k.a. void *. | |
hypre_ParVector * | StealParVector () |
Changes the ownership of the the vector. | |
Vector * | GlobalVector () |
Returns the global vector in each processor. | |
HypreParVector & | operator= (double d) |
Set constant values. | |
HypreParVector & | operator= (const HypreParVector &y) |
Define '=' for hypre vectors. | |
void | SetData (double *_data) |
int | Randomize (int seed) |
Set random values. | |
void | Print (const char *fname) |
Prints the locally owned rows in parallel. | |
~HypreParVector () | |
Calls hypre's destroy function. | |
Private Attributes | |
int | own_ParVector |
hypre_ParVector * | x |
The actual object. | |
Friends | |
class | HypreParMatrix |
HypreParVector::HypreParVector | ( | int | glob_size, |
int * | col | ||
) |
Creates vector with given global size and partitioning of the columns. Processor P owns columns [col[P],col[P+1])
HypreParVector::HypreParVector | ( | int | glob_size, |
double * | _data, | ||
int * | col | ||
) |
Creates vector with given global size, partitioning of the columns, and data. The data must be allocated and destroyed outside.
HypreParVector::HypreParVector | ( | const HypreParVector & | y | ) |
Creates vector compatible with y.
HypreParVector::HypreParVector | ( | HYPRE_ParVector | y | ) |
Creates vector wrapping y.
HypreParVector::~HypreParVector | ( | ) |
Calls hypre's destroy function.
Vector* HypreParVector::GlobalVector | ( | ) |
Returns the global vector in each processor.
HypreParVector::operator HYPRE_ParVector | ( | ) | const |
Typecasting to hypre's HYPRE_ParVector, a.k.a. void *.
HypreParVector::operator hypre_ParVector * | ( | ) | const |
Typecasting to hypre's hypre_ParVector*.
HypreParVector& HypreParVector::operator= | ( | double | d | ) |
Set constant values.
Reimplemented from Vector.
HypreParVector& HypreParVector::operator= | ( | const HypreParVector & | y | ) |
Define '=' for hypre vectors.
void HypreParVector::Print | ( | const char * | fname | ) |
Prints the locally owned rows in parallel.
int HypreParVector::Randomize | ( | int | seed | ) |
Set random values.
Reimplemented from Vector.
void HypreParVector::SetData | ( | double * | _data | ) |
Sets the data of the Vector and the hypre_ParVector to _data. Must be used only for HypreParVectors that do not own the data, e.g. created with the constructor: HypreParVector(int glob_size, double *_data, int *col).
Reimplemented from Vector.
hypre_ParVector* HypreParVector::StealParVector | ( | ) | [inline] |
Changes the ownership of the the vector.
Definition at line 51 of file hypre.hpp.
References own_ParVector, and x.
friend class HypreParMatrix [friend] |
int HypreParVector::own_ParVector [private] |
Definition at line 27 of file hypre.hpp.
Referenced by StealParVector().
hypre_ParVector* HypreParVector::x [private] |