| 
    DOLFIN
    
   DOLFIN C++ interface 
   | 
 
This class defines a common interface for vectors. More...
#include <GenericVector.h>


Public Member Functions | |
| virtual | ~GenericVector () | 
| Destructor.  | |
| virtual void | init (const TensorLayout &tensor_layout) | 
| virtual std::size_t | rank () const | 
| Return tensor rank (number of dimensions)  | |
| virtual std::size_t | size (std::size_t dim) const | 
| Return size of given dimension.  | |
| virtual std::pair< std::int64_t, std::int64_t > | local_range (std::size_t dim) const | 
| Return local ownership range.  | |
| virtual void | get (double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) const | 
| Get block of values using global indices.  | |
| virtual void | get_local (double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) const | 
| Get block of values using local indices.  | |
| virtual void | set (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) | 
| Set block of values using global indices.  | |
| virtual void | set_local (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) | 
| Set block of values using local indices.  | |
| virtual void | add (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) | 
| Add block of values using global indices.  | |
| virtual void | add_local (const double *block, const dolfin::la_index *num_rows, const dolfin::la_index *const *rows) | 
| Add block of values using local indices.  | |
| virtual void | add (const double *block, const std::vector< ArrayView< const dolfin::la_index >> &rows) | 
| Add block of values using global indices.  | |
| virtual void | add_local (const double *block, const std::vector< ArrayView< const dolfin::la_index >> &rows) | 
| Add block of values using local indices.  | |
| virtual void | zero ()=0 | 
| Set all entries to zero and keep any sparse structure.  | |
| virtual void | apply (std::string mode)=0 | 
| Finalize assembly of tensor.  | |
| virtual std::string | str (bool verbose) const =0 | 
| Return informal string representation (pretty-print)  | |
| virtual std::shared_ptr< GenericVector > | copy () const =0 | 
| Return copy of vector.  | |
| virtual void | init (std::size_t N)=0 | 
| Initialize vector to global size N.  | |
| virtual void | init (std::pair< std::size_t, std::size_t > range)=0 | 
| Initialize vector with given local ownership range.  | |
| virtual void | init (std::pair< std::size_t, std::size_t > range, const std::vector< std::size_t > &local_to_global_map, const std::vector< la_index > &ghost_indices)=0 | 
| virtual std::size_t | size () const =0 | 
| Return global size of vector.  | |
| virtual std::size_t | local_size () const =0 | 
| Return local size of vector.  | |
| virtual std::pair< std::int64_t, std::int64_t > | local_range () const =0 | 
| Return local ownership range of a vector.  | |
| virtual bool | owns_index (std::size_t i) const =0 | 
| Determine whether global vector index is owned by this process.  | |
| virtual void | get (double *block, std::size_t m, const dolfin::la_index *rows) const =0 | 
| virtual void | get_local (double *block, std::size_t m, const dolfin::la_index *rows) const =0 | 
| virtual void | set (const double *block, std::size_t m, const dolfin::la_index *rows)=0 | 
| Set block of values using global indices.  | |
| virtual void | set_local (const double *block, std::size_t m, const dolfin::la_index *rows)=0 | 
| Set block of values using local indices.  | |
| virtual void | add (const double *block, std::size_t m, const dolfin::la_index *rows)=0 | 
| Add block of values using global indices.  | |
| virtual void | add_local (const double *block, std::size_t m, const dolfin::la_index *rows)=0 | 
| Add block of values using local indices.  | |
| virtual void | get_local (std::vector< double > &values) const =0 | 
| Get all values on local process.  | |
| virtual void | set_local (const std::vector< double > &values)=0 | 
| Set all values on local process.  | |
| virtual void | add_local (const Array< double > &values)=0 | 
| Add values to each entry on local process.  | |
| virtual void | gather (GenericVector &x, const std::vector< dolfin::la_index > &indices) const =0 | 
| virtual void | gather (std::vector< double > &x, const std::vector< dolfin::la_index > &indices) const =0 | 
| Gather entries (given by global indices) into x.  | |
| virtual void | gather_on_zero (std::vector< double > &x) const =0 | 
| Gather all entries into x on process 0.  | |
| virtual void | axpy (double a, const GenericVector &x)=0 | 
| Add multiple of given vector (AXPY operation)  | |
| virtual void | abs ()=0 | 
| Replace all entries in the vector by their absolute values.  | |
| virtual double | inner (const GenericVector &x) const =0 | 
| Return inner product with given vector.  | |
| virtual double | norm (std::string norm_type) const =0 | 
| Return norm of vector.  | |
| virtual double | min () const =0 | 
| Return minimum value of vector.  | |
| virtual double | max () const =0 | 
| Return maximum value of vector.  | |
| virtual double | sum () const =0 | 
| Return sum of vector.  | |
| virtual double | sum (const Array< std::size_t > &rows) const =0 | 
| std::shared_ptr< GenericVector > | operator+ (const GenericVector &x) | 
| Sum two vectors (returns a new vector)  | |
| std::shared_ptr< GenericVector > | operator+ (double a) | 
| Add scalar to a vector (returns a new vector)  | |
| std::shared_ptr< GenericVector > | operator* (double a) | 
| Multiply vector by a scalar (returns a new vector)  | |
| virtual const GenericVector & | operator*= (double a)=0 | 
| Multiply vector by given number.  | |
| virtual const GenericVector & | operator*= (const GenericVector &x)=0 | 
| Multiply vector by another vector pointwise.  | |
| virtual const GenericVector & | operator/= (double a)=0 | 
| Divide vector by given number.  | |
| virtual const GenericVector & | operator+= (const GenericVector &x)=0 | 
| Add given vector.  | |
| virtual const GenericVector & | operator+= (double a)=0 | 
| Add number to all components of a vector.  | |
| virtual const GenericVector & | operator-= (const GenericVector &x)=0 | 
| Subtract given vector.  | |
| virtual const GenericVector & | operator-= (double a)=0 | 
| Subtract number from all components of a vector.  | |
| virtual const GenericVector & | operator= (const GenericVector &x)=0 | 
| Assignment operator.  | |
| virtual const GenericVector & | operator= (double a)=0 | 
| Assignment operator.  | |
| virtual double | operator[] (dolfin::la_index i) const | 
| Get value of given entry.  | |
| virtual double | getitem (dolfin::la_index i) const | 
| Get value of given entry.  | |
| virtual void | setitem (dolfin::la_index i, double value) | 
  Public Member Functions inherited from dolfin::GenericTensor | |
| virtual | ~GenericTensor () | 
| Destructor.  | |
| virtual bool | empty () const =0 | 
| Return true if empty.  | |
| virtual GenericLinearAlgebraFactory & | factory () const =0 | 
| Return linear algebra backend factory.  | |
  Public Member Functions inherited from dolfin::LinearAlgebraObject | |
| virtual const LinearAlgebraObject * | instance () const | 
| Return concrete instance / unwrap (const version)  | |
| virtual LinearAlgebraObject * | instance () | 
| Return concrete instance / unwrap (non-const version)  | |
| virtual std::shared_ptr< const LinearAlgebraObject > | shared_instance () const | 
| Return concrete shared ptr instance / unwrap (const version)  | |
| virtual std::shared_ptr< LinearAlgebraObject > | shared_instance () | 
| Return concrete shared ptr instance / unwrap (non-const version)  | |
| virtual MPI_Comm | mpi_comm () const =0 | 
| Return MPI communicator.  | |
  Public Member Functions inherited from dolfin::Variable | |
| Variable () | |
| Create unnamed variable.  | |
| Variable (const std::string name, const std::string label) | |
| Create variable with given name and label.  | |
| Variable (const Variable &variable) | |
| Copy constructor.  | |
| virtual | ~Variable () | 
| Destructor.  | |
| const Variable & | operator= (const Variable &variable) | 
| Assignment operator.  | |
| void | rename (const std::string name, const std::string label) | 
| Rename variable.  | |
| std::string | name () const | 
| Return name.  | |
| std::string | label () const | 
| Return label (description)  | |
| std::size_t | id () const | 
Additional Inherited Members | |
  Public Attributes inherited from dolfin::Variable | |
| Parameters | parameters | 
| Parameters.  | |
This class defines a common interface for vectors.
      
  | 
  pure virtual | 
Gather entries (given by global indices) into local vector x
Implemented in dolfin::EigenVector, dolfin::Vector, dolfin::PETScVector, and dolfin::TpetraVector.
      
  | 
  pure virtual | 
Get block of values using global indices (values must all live on the local process, ghosts cannot be accessed)
Implemented in dolfin::EigenVector, dolfin::PETScVector, dolfin::TpetraVector, and dolfin::Vector.
      
  | 
  pure virtual | 
Get block of values using local indices (values must all live on the local process, ghost are accessible)
Implemented in dolfin::EigenVector, dolfin::PETScVector, dolfin::Vector, and dolfin::TpetraVector.
      
  | 
  inlinevirtual | 
Initialize zero tensor using sparsity pattern FIXME: This needs to be implemented on backend side! Remove it!
Implements dolfin::GenericTensor.
      
  | 
  pure virtual | 
Initialise vector with given ownership range and with ghost values FIXME: Reimplement using init(const TensorLayout&) and deprecate
Implemented in dolfin::EigenVector, dolfin::PETScVector, dolfin::TpetraVector, and dolfin::Vector.
      
  | 
  inlinevirtual | 
Set given entry to value. apply("insert") should be called before using using the object.
      
  | 
  pure virtual | 
Return sum of selected rows in vector. Repeated entries are only summed once.
Implemented in dolfin::EigenVector, dolfin::Vector, dolfin::PETScVector, and dolfin::TpetraVector.
 1.8.13