|
| | HypreParVector () |
| | Default constructor, no underlying hypre_ParVector is created.
|
| |
| | HypreParVector (MPI_Comm comm, HYPRE_BigInt glob_size, HYPRE_BigInt *col) |
| | Creates vector with given global size and parallel partitioning of the rows/columns given by col.
|
| |
| | HypreParVector (MPI_Comm comm, HYPRE_BigInt glob_size, real_t *data_, HYPRE_BigInt *col, bool is_device_ptr=false) |
| | Creates vector with given global size, partitioning of the columns, and data.
|
| |
| | HypreParVector (MPI_Comm comm, HYPRE_BigInt glob_size, Vector &base, int offset, HYPRE_BigInt *col) |
| | Creates a vector that uses the data of the Vector base, starting at the given offset.
|
| |
| | HypreParVector (const HypreParVector &y) |
| | Creates a deep copy of y.
|
| |
| | HypreParVector (HypreParVector &&other) |
| | Move constructor for HypreParVector. "Steals" data from its argument.
|
| |
| | HypreParVector (const HypreParMatrix &A, int transpose=0) |
| | Creates vector compatible with (i.e. in the domain of) A or A^T.
|
| |
| | HypreParVector (HYPRE_ParVector y) |
| | Creates vector wrapping y.
|
| |
| | HypreParVector (ParFiniteElementSpace *pfes) |
| | Create a true dof parallel vector on a given ParFiniteElementSpace.
|
| |
| HypreParVector | CreateCompatibleVector () const |
| | Constructs a HypreParVector compatible with the calling vector.
|
| |
| MPI_Comm | GetComm () const |
| | MPI communicator.
|
| |
| void | WrapHypreParVector (hypre_ParVector *y, bool owner=true) |
| | Converts hypre's format to HypreParVector.
|
| |
| const HYPRE_BigInt * | Partitioning () const |
| | Returns the parallel row/column partitioning.
|
| |
| MFEM_DEPRECATED HYPRE_BigInt * | Partitioning () |
| | Returns a non-const pointer to the parallel row/column partitioning. Deprecated in favor of HypreParVector::Partitioning() const.
|
| |
| HYPRE_BigInt | GlobalSize () const |
| | Returns the global number of rows.
|
| |
| | 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 vector.
|
| |
| void | SetOwnership (int own) |
| | Sets ownership of the internal hypre_ParVector.
|
| |
| int | GetOwnership () const |
| | Gets ownership of the internal hypre_ParVector.
|
| |
| Vector * | GlobalVector () const |
| | Returns the global vector in each processor.
|
| |
| HypreParVector & | operator= (real_t d) |
| | Set constant values.
|
| |
| HypreParVector & | operator= (const HypreParVector &y) |
| | Define '=' for hypre vectors.
|
| |
| HypreParVector & | operator= (HypreParVector &&y) |
| | Move assignment.
|
| |
| void | SetData (real_t *data_) |
| | Sets the data of the Vector and the hypre_ParVector to data_.
|
| |
| void | HypreRead () const |
| | Prepare the HypreParVector for read access in hypre's device memory space, HYPRE_MEMORY_DEVICE.
|
| |
| void | HypreReadWrite () |
| | Prepare the HypreParVector for read and write access in hypre's device memory space, HYPRE_MEMORY_DEVICE.
|
| |
| void | HypreWrite () |
| | Prepare the HypreParVector for write access in hypre's device memory space, HYPRE_MEMORY_DEVICE.
|
| |
| void | WrapMemoryRead (const Memory< real_t > &mem) |
| | Replace the HypreParVector's data with the given Memory, mem, and prepare the vector for read access in hypre's device memory space, HYPRE_MEMORY_DEVICE.
|
| |
| void | WrapMemoryReadWrite (Memory< real_t > &mem) |
| | Replace the HypreParVector's data with the given Memory, mem, and prepare the vector for read and write access in hypre's device memory space, HYPRE_MEMORY_DEVICE.
|
| |
| void | WrapMemoryWrite (Memory< real_t > &mem) |
| | Replace the HypreParVector's data with the given Memory, mem, and prepare the vector for write access in hypre's device memory space, HYPRE_MEMORY_DEVICE.
|
| |
| HYPRE_Int | Randomize (HYPRE_Int seed) |
| | Set random values.
|
| |
| void | Print (const std::string &fname) const |
| | Prints the locally owned rows in parallel.
|
| |
| void | Read (MPI_Comm comm, const std::string &fname) |
| | Reads a HypreParVector from files saved with HypreParVector::Print.
|
| |
| | ~HypreParVector () |
| | Calls hypre's destroy function.
|
| |
| virtual const real_t * | Read (bool on_dev=true) const |
| | Shortcut for mfem::Read(vec.GetMemory(), vec.Size(), on_dev).
|
| |
| | Vector () |
| |
| | Vector (const Vector &) |
| | Copy constructor. Allocates a new data array and copies the data.
|
| |
| | Vector (Vector &&v) |
| | Move constructor. "Steals" data from its argument.
|
| |
| | Vector (int s) |
| | Creates vector of size s.
|
| |
| | Vector (real_t *data_, int size_) |
| | Creates a vector referencing an array of doubles, owned by someone else.
|
| |
| | Vector (Vector &base, int base_offset, int size_) |
| | Create a Vector referencing a sub-vector of the Vector base starting at the given offset, base_offset, and size size_.
|
| |
| | Vector (int size_, MemoryType mt) |
| | Create a Vector of size size_ using MemoryType mt.
|
| |
| | Vector (int size_, MemoryType h_mt, MemoryType d_mt) |
| | Create a Vector of size size_ using host MemoryType h_mt and device MemoryType d_mt.
|
| |
| template<typename CT , int N> |
| | Vector (const CT(&values)[N]) |
| | Create a vector from a statically sized C-style array of convertible type.
|
| |
| template<typename CT , typename std::enable_if< std::is_convertible< CT, real_t >::value, bool >::type = true> |
| | Vector (std::initializer_list< CT > values) |
| | Create a vector using a braced initializer list.
|
| |
| virtual void | UseDevice (bool use_dev) const |
| | Enable execution of Vector operations using the mfem::Device.
|
| |
| virtual bool | UseDevice () const |
| | Return the device flag of the Memory object used by the Vector.
|
| |
| void | Load (std::istream **in, int np, int *dim) |
| | Reads a vector from multiple files.
|
| |
| void | Load (std::istream &in, int Size) |
| | Load a vector from an input stream.
|
| |
| void | Load (std::istream &in) |
| | Load a vector from an input stream, reading the size from the stream.
|
| |
| void | SetSize (int s) |
| | Resize the vector to size s.
|
| |
| void | SetSize (int s, MemoryType mt) |
| | Resize the vector to size s using MemoryType mt.
|
| |
| void | SetSize (int s, const Vector &v) |
| | Resize the vector to size s using the MemoryType of v.
|
| |
| void | SetData (real_t *d) |
| |
| void | SetDataAndSize (real_t *d, int s) |
| | Set the Vector data and size.
|
| |
| void | NewDataAndSize (real_t *d, int s) |
| | Set the Vector data and size, deleting the old data, if owned.
|
| |
| void | NewMemoryAndSize (const Memory< real_t > &mem, int s, bool own_mem) |
| | Reset the Vector to use the given external Memory mem and size s.
|
| |
| void | MakeRef (Vector &base, int offset, int size) |
| | Reset the Vector to be a reference to a sub-vector of base.
|
| |
| void | MakeRef (Vector &base, int offset) |
| | Reset the Vector to be a reference to a sub-vector of base without changing its current size.
|
| |
| void | MakeDataOwner () const |
| | Set the Vector data (host pointer) ownership flag.
|
| |
| void | Destroy () |
| | Destroy a vector.
|
| |
| void | DeleteDevice (bool copy_to_host=true) |
| | Delete the device pointer, if owned. If copy_to_host is true and the data is valid only on device, move it to host before deleting. Invalidates the device memory.
|
| |
| int | Size () const |
| | Returns the size of the vector.
|
| |
| int | Capacity () const |
| | Return the size of the currently allocated data array.
|
| |
| real_t * | GetData () const |
| | Return a pointer to the beginning of the Vector data.
|
| |
| MFEM_DEPRECATED | operator real_t * () |
| | Conversion to double *. Deprecated.
|
| |
| MFEM_DEPRECATED | operator const real_t * () const |
| | Conversion to const double *. Deprecated.
|
| |
| real_t * | begin () |
| | STL-like begin.
|
| |
| real_t * | end () |
| | STL-like end.
|
| |
| const real_t * | begin () const |
| | STL-like begin (const version).
|
| |
| const real_t * | end () const |
| | STL-like end (const version).
|
| |
| Memory< real_t > & | GetMemory () |
| | Return a reference to the Memory object used by the Vector.
|
| |
| const Memory< real_t > & | GetMemory () const |
| | Return a reference to the Memory object used by the Vector, const version.
|
| |
| void | SyncMemory (const Vector &v) const |
| | Update the memory location of the vector to match v.
|
| |
| void | SyncAliasMemory (const Vector &v) const |
| | Update the alias memory location of the vector to match v.
|
| |
| bool | OwnsData () const |
| | Read the Vector data (host pointer) ownership flag.
|
| |
| void | StealData (real_t **p) |
| | Changes the ownership of the data; after the call the Vector is empty.
|
| |
| real_t * | StealData () |
| | Changes the ownership of the data; after the call the Vector is empty.
|
| |
| real_t & | Elem (int i) |
| | Access Vector entries. Index i = 0 .. size-1.
|
| |
| const real_t & | Elem (int i) const |
| | Read only access to Vector entries. Index i = 0 .. size-1.
|
| |
| real_t & | operator() (int i) |
| | Access Vector entries using () for 0-based indexing.
|
| |
| const real_t & | operator() (int i) const |
| | Read only access to Vector entries using () for 0-based indexing.
|
| |
| real_t & | operator[] (int i) |
| | Access Vector entries using [] for 0-based indexing.
|
| |
| const real_t & | operator[] (int i) const |
| | Read only access to Vector entries using [] for 0-based indexing.
|
| |
| real_t | operator* (const real_t *v) const |
| |
| real_t | operator* (const Vector &v) const |
| | Return the inner-product.
|
| |
| Vector & | operator= (const real_t *v) |
| | Copy Size() entries from v.
|
| |
| Vector & | operator= (const Vector &v) |
| | Copy assignment.
|
| |
| Vector & | operator= (Vector &&v) |
| | Move assignment.
|
| |
| Vector & | operator= (real_t value) |
| | Redefine '=' for vector = constant.
|
| |
| Vector & | operator*= (real_t c) |
| |
| Vector & | operator*= (const Vector &v) |
| | Component-wise scaling: (*this)(i) *= v(i)
|
| |
| Vector & | operator/= (real_t c) |
| |
| Vector & | operator/= (const Vector &v) |
| | Component-wise division: (*this)(i) /= v(i)
|
| |
| Vector & | operator-= (real_t c) |
| |
| Vector & | operator-= (const Vector &v) |
| |
| Vector & | operator+= (real_t c) |
| |
| Vector & | operator+= (const Vector &v) |
| |
| Vector & | Add (const real_t a, const Vector &Va) |
| | (*this) += a * Va
|
| |
| Vector & | Set (const real_t a, const Vector &x) |
| | (*this) = a * x
|
| |
| void | SetVector (const Vector &v, int offset) |
| |
| void | AddSubVector (const Vector &v, int offset) |
| |
| void | Neg () |
| | (*this) = -(*this)
|
| |
| void | Reciprocal () |
| | (*this)(i) = 1.0 / (*this)(i)
|
| |
| void | Swap (Vector &other) |
| | Swap the contents of two Vectors.
|
| |
| void | cross3D (const Vector &vin, Vector &vout) const |
| |
| void | median (const Vector &lo, const Vector &hi) |
| | v = median(v,lo,hi) entrywise. Implementation assumes lo <= hi.
|
| |
| void | GetSubVector (const Array< int > &dofs, Vector &elemvect) const |
| | Extract entries listed in dofs to the output Vector elemvect.
|
| |
| void | GetSubVector (const Array< int > &dofs, real_t *elem_data) const |
| | Extract entries listed in dofs to the output array elem_data.
|
| |
| void | SetSubVector (const Array< int > &dofs, const real_t value) |
| | Set the entries listed in dofs to the given value.
|
| |
| void | SetSubVector (const Array< int > &dofs, const Vector &elemvect) |
| | Set the entries listed in dofs to the values given in the elemvect Vector. Negative dof values cause the -dof-1 position in this Vector to receive the -val from elemvect.
|
| |
| void | SetSubVector (const Array< int > &dofs, real_t *elem_data) |
| | Set the entries listed in dofs to the values given the , elem_data array. Negative dof values cause the -dof-1 position in this Vector to receive the -val from elem_data.
|
| |
| void | AddElementVector (const Array< int > &dofs, const Vector &elemvect) |
| | Add elements of the elemvect Vector to the entries listed in dofs. Negative dof values cause the -dof-1 position in this Vector to add the -val from elemvect.
|
| |
| void | AddElementVector (const Array< int > &dofs, real_t *elem_data) |
| | Add elements of the elem_data array to the entries listed in dofs. Negative dof values cause the -dof-1 position in this Vector to add the -val from elem_data.
|
| |
| void | AddElementVector (const Array< int > &dofs, const real_t a, const Vector &elemvect) |
| | Add times the elements of the elemvect Vector to the entries listed in dofs. Negative dof values cause the -dof-1 position in this Vector to add the -a*val from elemvect.
|
| |
| void | SetSubVectorComplement (const Array< int > &dofs, const real_t val) |
| | Set all vector entries NOT in the dofs Array to the given val.
|
| |
| void | Print (std::ostream &out=mfem::out, int width=8) const |
| | Prints vector to stream out.
|
| |
| void | Print (adios2stream &out, const std::string &variable_name) const |
| |
| void | Print_HYPRE (std::ostream &out) const |
| | Prints vector to stream out in HYPRE_Vector format.
|
| |
| void | PrintMathematica (std::ostream &out=mfem::out) const |
| | Prints vector as a List for importing into Mathematica.
|
| |
| void | PrintHash (std::ostream &out) const |
| | Print the Vector size and hash of its data.
|
| |
| void | Randomize (int seed=0) |
| | Set random values in the vector.
|
| |
| real_t | Norml2 () const |
| | Returns the l2 norm of the vector.
|
| |
| real_t | Normlinf () const |
| | Returns the l_infinity norm of the vector.
|
| |
| real_t | Norml1 () const |
| | Returns the l_1 norm of the vector.
|
| |
| real_t | Normlp (real_t p) const |
| | Returns the l_p norm of the vector.
|
| |
| real_t | Max () const |
| | Returns the maximal element of the vector.
|
| |
| real_t | Min () const |
| | Returns the minimal element of the vector.
|
| |
| real_t | Sum () const |
| | Return the sum of the vector entries.
|
| |
| real_t | DistanceSquaredTo (const real_t *p) const |
| | Compute the square of the Euclidean distance to another vector.
|
| |
| real_t | DistanceSquaredTo (const Vector &p) const |
| | Compute the square of the Euclidean distance to another vector.
|
| |
| real_t | DistanceTo (const real_t *p) const |
| | Compute the Euclidean distance to another vector.
|
| |
| real_t | DistanceTo (const Vector &p) const |
| | Compute the Euclidean distance to another vector.
|
| |
| int | CheckFinite () const |
| | Count the number of entries in the Vector for which isfinite is false, i.e. the entry is a NaN or +/-Inf.
|
| |
| virtual | ~Vector () |
| | Destroys vector.
|
| |
| virtual const real_t * | HostRead () const |
| | Shortcut for mfem::Read(vec.GetMemory(), vec.Size(), false).
|
| |
| virtual real_t * | Write (bool on_dev=true) |
| | Shortcut for mfem::Write(vec.GetMemory(), vec.Size(), on_dev).
|
| |
| virtual real_t * | HostWrite () |
| | Shortcut for mfem::Write(vec.GetMemory(), vec.Size(), false).
|
| |
| virtual real_t * | ReadWrite (bool on_dev=true) |
| | Shortcut for mfem::ReadWrite(vec.GetMemory(), vec.Size(), on_dev).
|
| |
| virtual real_t * | HostReadWrite () |
| | Shortcut for mfem::ReadWrite(vec.GetMemory(), vec.Size(), false).
|
| |