|
IFEM
90A354
|
Class for representing a set of system vectors in PETSc format. More...
#include <PETScMatrix.h>


Public Member Functions | |
| PETScVectors (const PETScMatrix &A, int nvec) | |
| Constructor creating a set of system vectors. More... | |
| ~PETScVectors () | |
| Destructor frees up the dynamically allocated vectors. | |
| LinAlg::MatrixType | getType () const override |
| Returns the vector type. | |
| SystemVector * | copy () const override |
| Creates a copy of the system vector and returns a pointer to it. | |
| size_t | dim () const override |
| Returns the dimension of the system vector. | |
| void | redim (size_t) override |
| Sets the dimension of the system vector. | |
| Real * | getPtr () override |
| Access through pointer. | |
| const Real * | getRef () const override |
| Reference through pointer. | |
| const Vector & | vec () const override |
| Reference to underlying utl::vector. | |
| void | init (Real) override |
| Initializes the vector to a given scalar value. | |
| void | mult (Real) override |
| Multiplication with a scalar. | |
| void | add (const SystemVector &, Real) override |
| Addition of another system vector to this one. | |
| Real | L1norm () const override |
| L1-norm of the vector. | |
| Real | L2norm () const override |
| L2-norm of the vector. | |
| Real | Linfnorm () const override |
| Linfinity-norm of the vector. | |
| void | assemble (const Vectors &vecs, const IntVec &meqn, int=0) override |
| Adds element vectors into the system vector. More... | |
| Vec | get (size_t idx) |
| Returns a particular vector. More... | |
| size_t | size () const |
| Returns number of vectors. | |
Public Member Functions inherited from SystemVector | |
| virtual | ~SystemVector () |
| Empty destructor. | |
| virtual void | resize (size_t n, bool=false) |
| Resizes the vector to length n. | |
| bool | empty () const |
| Checks if the vector is empty. | |
| SystemVector & | copy (const SystemVector &x) |
| Copies entries from input vector x into *this. | |
| virtual bool | endAssembly () |
| Finalizes the system vector assembly. | |
| virtual void | dump (std::ostream &, LinAlg::StorageFormat, const char *=nullptr) const |
| Dumps the system vector on a specified format. | |
Private Attributes | |
| size_t | myDim |
| Global dimension of vectors. | |
| std::vector< Vec > | vectors |
| Array of vectors. | |
| const PETScMatrix & | myA |
| Reference to matrix vectors are associated with. | |
Additional Inherited Members | |
Static Public Member Functions inherited from SystemVector | |
| static SystemVector * | create (const ProcessAdm *adm, LinAlg::MatrixType vtype) |
| Static method creating a vector of the given type. | |
Protected Member Functions inherited from SystemVector | |
| SystemVector () | |
| The default constructor is protected to allow sub-classes only. | |
| virtual std::ostream & | write (std::ostream &os) const |
| Writes the system vector to the given output stream. | |
Class for representing a set of system vectors in PETSc format.
Used for solving systems with multiple RHS vectors.
| PETScVectors::PETScVectors | ( | const PETScMatrix & | A, |
| int | nvec | ||
| ) |
Constructor creating a set of system vectors.
| A | Matrix with vector layout to use |
| nvec | Number of RHS vectors |
References PETScMatrix::getMatrix(), myDim, size(), and vectors.
Adds element vectors into the system vector.
| [in] | vecs | The element vectors |
| [in] | meqn | Matrix of element equation numbers (0 based) |
Implements SystemVector.
References PETScMatrix::getDD(), DomainDecomposition::getGlobalEq(), myA, and vectors.
|
inline |
Returns a particular vector.
| idx | Index of vector to return |
References vectors.
Referenced by PETScMatrix::solveMultipleRhs().