Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap > Class Template Reference

An overlap aware block vector. More...

#include <overlappingblockvector.hh>

Inheritance diagram for Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >:
Inheritance graph

Public Member Functions

 OverlappingBlockVector (const Overlap &overlap)
 Given a domestic overlap object, create an overlapping block vector coherent to it. More...
 
 OverlappingBlockVector (const OverlappingBlockVector &obv)
 Copy constructor. More...
 
 OverlappingBlockVector ()
 Default constructor. More...
 
OverlappingBlockVectoroperator= (const OverlappingBlockVector &obv)
 Assignment operator. More...
 
void assignAddBorder (const BlockVector &nativeBlockVector)
 Assign an overlapping block vector from a non-overlapping one, border entries are added. More...
 
void assign (const BlockVector &nativeBlockVector)
 Assign an overlapping block vector from a non-overlapping one, border entries are assigned using their respective master ranks. More...
 
void assignTo (BlockVector &nativeBlockVector) const
 Assign the local values to a non-overlapping block vector. More...
 
void sync ()
 Syncronize all values of the block vector from their master process. More...
 
void syncAdd ()
 Syncronize all values of the block vector by adding up the values of all peer ranks. More...
 
void syncAddBorder ()
 Syncronize all values of the block vector from the master rank, but add up the entries on the border. More...
 
void print () const
 

Detailed Description

template<class FieldVector, class Overlap>
class Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >

An overlap aware block vector.

Constructor & Destructor Documentation

template<class FieldVector , class Overlap >
Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::OverlappingBlockVector ( const Overlap &  overlap)
inline

Given a domestic overlap object, create an overlapping block vector coherent to it.

template<class FieldVector , class Overlap >
Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::OverlappingBlockVector ( const OverlappingBlockVector< FieldVector, Overlap > &  obv)
inline

Copy constructor.

template<class FieldVector , class Overlap >
Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::OverlappingBlockVector ( )
inline

Default constructor.

Member Function Documentation

template<class FieldVector , class Overlap >
void Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::assign ( const BlockVector &  nativeBlockVector)
inline

Assign an overlapping block vector from a non-overlapping one, border entries are assigned using their respective master ranks.

References Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::sync().

template<class FieldVector , class Overlap >
void Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::assignAddBorder ( const BlockVector &  nativeBlockVector)
inline

Assign an overlapping block vector from a non-overlapping one, border entries are added.

References Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::syncAddBorder().

template<class FieldVector , class Overlap >
void Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::assignTo ( BlockVector &  nativeBlockVector) const
inline

Assign the local values to a non-overlapping block vector.

template<class FieldVector , class Overlap >
OverlappingBlockVector& Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::operator= ( const OverlappingBlockVector< FieldVector, Overlap > &  obv)
inline

Assignment operator.

template<class FieldVector , class Overlap >
void Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::print ( ) const
inline
template<class FieldVector , class Overlap >
void Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::sync ( )
inline

Syncronize all values of the block vector from their master process.

Referenced by Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::assign().

template<class FieldVector , class Overlap >
void Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::syncAdd ( )
inline

Syncronize all values of the block vector by adding up the values of all peer ranks.

template<class FieldVector , class Overlap >
void Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::syncAddBorder ( )
inline

Syncronize all values of the block vector from the master rank, but add up the entries on the border.

Referenced by Ewoms::Linear::OverlappingBlockVector< FieldVector, Overlap >::assignAddBorder().


The documentation for this class was generated from the following file: