Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
Stokhos::ProductEpetraVector Class Reference

A container class for products of Epetra_Vector's. More...

#include <Stokhos_ProductEpetraVector.hpp>

Inheritance diagram for Stokhos::ProductEpetraVector:
Inheritance graph
[legend]

Public Types

typedef double value_type
 Typename of values. More...
 
typedef int ordinal_type
 Typename of ordinals. More...
 
- Public Types inherited from Stokhos::ProductContainer< Epetra_Vector >
typedef
Stokhos::ProductContainerTraits
< Epetra_Vector
traits_type
 Typename of traits. More...
 
typedef traits_type::value_type value_type
 Typename of values. More...
 
typedef traits_type::ordinal_type ordinal_type
 Typename of ordinals. More...
 

Public Member Functions

 ProductEpetraVector ()
 Default constructor. More...
 
 ProductEpetraVector (const Teuchos::RCP< const Epetra_BlockMap > &block_map)
 Create a container with container map block_map. More...
 
 ProductEpetraVector (const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_BlockMap > &coeff_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm)
 Create a container with container map block_map where each coefficient is generated from the supplied coefficient map coeff_map. More...
 
 ProductEpetraVector (const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_BlockMap > &coeff_map, const Teuchos::RCP< const Epetra_BlockMap > &product_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm)
 Create a container with container map block_map where each coefficient is generated from the supplied coefficient map coeff_map. More...
 
 ProductEpetraVector (const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_BlockMap > &coeff_map, const Teuchos::RCP< const Epetra_BlockMap > &product_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm, Epetra_DataAccess CV, const Epetra_Vector &block_vector)
 Create a container with container map block_map where each coefficient is given by the supplied block vector. More...
 
 ProductEpetraVector (const ProductEpetraVector &v)
 Copy constructor. More...
 
virtual ~ProductEpetraVector ()
 Destructor. More...
 
ProductEpetraVectoroperator= (const ProductEpetraVector &v)
 Assignment. More...
 
ProductEpetraVectoroperator= (const Epetra_Vector &v)
 Assignment. More...
 
void assignToBlockVector (Epetra_Vector &v) const
 Assignment. More...
 
void assignFromBlockVector (const Epetra_Vector &v)
 Assignment. More...
 
Teuchos::RCP< const
Epetra_BlockMap
coefficientMap () const
 Get coefficient map. More...
 
Teuchos::RCP< const
Epetra_BlockMap
productMap () const
 Get product map. More...
 
Teuchos::RCP< const
EpetraExt::MultiComm > 
productComm () const
 Get product comm. More...
 
void reset (const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_BlockMap > &coeff_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm)
 Reset to a new size. More...
 
void reset (const Teuchos::RCP< const Epetra_BlockMap > &block_map, const Teuchos::RCP< const Epetra_BlockMap > &coeff_map, const Teuchos::RCP< const Epetra_BlockMap > &product_map, const Teuchos::RCP< const EpetraExt::MultiComm > &product_comm)
 Reset to a new size. More...
 
void resetCoefficients (Epetra_DataAccess CV, const Epetra_Vector &block_vector)
 Reset vector cofficients. More...
 
Teuchos::RCP
< EpetraExt::BlockVector > 
getBlockVector ()
 Get block vector. More...
 
Teuchos::RCP< const
EpetraExt::BlockVector > 
getBlockVector () const
 Get block vector. More...
 
void setBlockVector (const Teuchos::RCP< EpetraExt::BlockVector > &block_vec)
 Set block vector. More...
 
void sumAll ()
 Sum coefficients across processors, storing result in this. More...
 
- Public Member Functions inherited from Stokhos::ProductContainer< Epetra_Vector >
 ProductContainer ()
 Default constructor. More...
 
 ProductContainer (const Teuchos::RCP< const Epetra_BlockMap > &map)
 Create a container with container map map. More...
 
 ProductContainer (const Teuchos::RCP< const Epetra_BlockMap > &map, const typename traits_type::cloner_type &cloner)
 Create a container container map map where each coefficient is generated through a clone operation as implemented by the traits class for the coefficient. More...
 
 ProductContainer (const ProductContainer &)
 Copy constructor. More...
 
virtual ~ProductContainer ()
 Destructor. More...
 
ProductContaineroperator= (const ProductContainer &)
 Assignment. More...
 
void reset (const Teuchos::RCP< const Epetra_BlockMap > &map)
 Resize to new map map. More...
 
void reset (const Teuchos::RCP< const Epetra_BlockMap > &map, const typename traits_type::cloner_type &cloner)
 Resize to new map map and create coefficients from cloner. More...
 
void resize (const Teuchos::RCP< const Epetra_BlockMap > &map)
 Resize to map map. More...
 
void reserve (ordinal_type sz)
 Reserve space for a size sz container. More...
 
ordinal_type size () const
 Return size. More...
 
Teuchos::RCP< const
Epetra_BlockMap
map () const
 Return container map. More...
 
const Teuchos::Array
< Teuchos::RCP< Epetra_Vector > > & 
getCoefficients () const
 Return array of coefficients. More...
 
Teuchos::Array< Teuchos::RCP
< Epetra_Vector > > & 
getCoefficients ()
 Return array of coefficients. More...
 
Teuchos::RCP< Epetra_VectorgetCoeffPtr (ordinal_type i)
 Return ref-count pointer to coefficient i. More...
 
Teuchos::RCP< const Epetra_VectorgetCoeffPtr (ordinal_type i) const
 Return ref-count pointer to constant coefficient i. More...
 
void setCoeffPtr (ordinal_type i, const Teuchos::RCP< Epetra_Vector > &c)
 Set coefficient i to c. More...
 
Epetra_Vectoroperator[] (ordinal_type i)
 Array access. More...
 
const Epetra_Vectoroperator[] (ordinal_type i) const
 Array access. More...
 
void init (const value_type &val)
 Initialize coefficients. More...
 
bool myGID (int i) const
 Return whether global index i resides on this processor. More...
 
std::ostream & print (std::ostream &os) const
 Print polynomial. More...
 

Protected Attributes

Teuchos::RCP< const
Epetra_BlockMap
coeff_map
 Product map of block vector. More...
 
Teuchos::RCP< const
EpetraExt::MultiComm > 
product_comm
 Product multi-level communicator. More...
 
Teuchos::RCP< const
Epetra_BlockMap
product_map
 Product map of block vector. More...
 
Teuchos::RCP
< EpetraExt::BlockVector > 
bv
 Block vector storing coefficients. More...
 
- Protected Attributes inherited from Stokhos::ProductContainer< Epetra_Vector >
Teuchos::RCP< const
Epetra_BlockMap
map_
 Container map. More...
 
Teuchos::Array< Teuchos::RCP
< Epetra_Vector > > 
coeff_
 Array of polynomial coefficients. More...
 

Detailed Description

A container class for products of Epetra_Vector's.

Definition at line 24 of file Stokhos_ProductEpetraVector.hpp.

Member Typedef Documentation

Typename of values.

Definition at line 29 of file Stokhos_ProductEpetraVector.hpp.

Typename of ordinals.

Definition at line 32 of file Stokhos_ProductEpetraVector.hpp.

Constructor & Destructor Documentation

Stokhos::ProductEpetraVector::ProductEpetraVector ( )

Default constructor.

Use with care! Generally you will want to call reset() before using any of the methods on this class.

Definition at line 15 of file Stokhos_ProductEpetraVector.cpp.

Stokhos::ProductEpetraVector::ProductEpetraVector ( const Teuchos::RCP< const Epetra_BlockMap > &  block_map)

Create a container with container map block_map.

Definition at line 21 of file Stokhos_ProductEpetraVector.cpp.

Stokhos::ProductEpetraVector::ProductEpetraVector ( const Teuchos::RCP< const Epetra_BlockMap > &  block_map,
const Teuchos::RCP< const Epetra_BlockMap > &  coeff_map,
const Teuchos::RCP< const EpetraExt::MultiComm > &  product_comm 
)

Create a container with container map block_map where each coefficient is generated from the supplied coefficient map coeff_map.

Definition at line 27 of file Stokhos_ProductEpetraVector.cpp.

Stokhos::ProductEpetraVector::ProductEpetraVector ( const Teuchos::RCP< const Epetra_BlockMap > &  block_map,
const Teuchos::RCP< const Epetra_BlockMap > &  coeff_map,
const Teuchos::RCP< const Epetra_BlockMap > &  product_map,
const Teuchos::RCP< const EpetraExt::MultiComm > &  product_comm 
)

Create a container with container map block_map where each coefficient is generated from the supplied coefficient map coeff_map.

Definition at line 42 of file Stokhos_ProductEpetraVector.cpp.

Stokhos::ProductEpetraVector::ProductEpetraVector ( const Teuchos::RCP< const Epetra_BlockMap > &  block_map,
const Teuchos::RCP< const Epetra_BlockMap > &  coeff_map,
const Teuchos::RCP< const Epetra_BlockMap > &  product_map,
const Teuchos::RCP< const EpetraExt::MultiComm > &  product_comm,
Epetra_DataAccess  CV,
const Epetra_Vector block_vector 
)

Create a container with container map block_map where each coefficient is given by the supplied block vector.

Definition at line 58 of file Stokhos_ProductEpetraVector.cpp.

Stokhos::ProductEpetraVector::ProductEpetraVector ( const ProductEpetraVector v)

Copy constructor.

NOTE: This is a shallow copy

Definition at line 76 of file Stokhos_ProductEpetraVector.cpp.

Stokhos::ProductEpetraVector::~ProductEpetraVector ( )
virtual

Destructor.

Definition at line 86 of file Stokhos_ProductEpetraVector.cpp.

Member Function Documentation

Stokhos::ProductEpetraVector & Stokhos::ProductEpetraVector::operator= ( const ProductEpetraVector v)

Assignment.

NOTE: This is a shallow copy

Definition at line 90 of file Stokhos_ProductEpetraVector.cpp.

Stokhos::ProductEpetraVector & Stokhos::ProductEpetraVector::operator= ( const Epetra_Vector v)

Assignment.

Definition at line 101 of file Stokhos_ProductEpetraVector.cpp.

void Stokhos::ProductEpetraVector::assignToBlockVector ( Epetra_Vector v) const

Assignment.

Definition at line 116 of file Stokhos_ProductEpetraVector.cpp.

void Stokhos::ProductEpetraVector::assignFromBlockVector ( const Epetra_Vector v)

Assignment.

Definition at line 131 of file Stokhos_ProductEpetraVector.cpp.

Teuchos::RCP< const Epetra_BlockMap > Stokhos::ProductEpetraVector::coefficientMap ( ) const

Get coefficient map.

Definition at line 146 of file Stokhos_ProductEpetraVector.cpp.

Teuchos::RCP< const Epetra_BlockMap > Stokhos::ProductEpetraVector::productMap ( ) const

Get product map.

Definition at line 152 of file Stokhos_ProductEpetraVector.cpp.

Teuchos::RCP< const EpetraExt::MultiComm > Stokhos::ProductEpetraVector::productComm ( ) const

Get product comm.

Definition at line 158 of file Stokhos_ProductEpetraVector.cpp.

void Stokhos::ProductEpetraVector::reset ( const Teuchos::RCP< const Epetra_BlockMap > &  block_map,
const Teuchos::RCP< const Epetra_BlockMap > &  coeff_map,
const Teuchos::RCP< const EpetraExt::MultiComm > &  product_comm 
)

Reset to a new size.

This resizes array to fit new size.

Definition at line 164 of file Stokhos_ProductEpetraVector.cpp.

void Stokhos::ProductEpetraVector::reset ( const Teuchos::RCP< const Epetra_BlockMap > &  block_map,
const Teuchos::RCP< const Epetra_BlockMap > &  coeff_map,
const Teuchos::RCP< const Epetra_BlockMap > &  product_map,
const Teuchos::RCP< const EpetraExt::MultiComm > &  product_comm 
)

Reset to a new size.

This resizes array to fit new size.

Definition at line 182 of file Stokhos_ProductEpetraVector.cpp.

void Stokhos::ProductEpetraVector::resetCoefficients ( Epetra_DataAccess  CV,
const Epetra_Vector block_vector 
)

Reset vector cofficients.

Definition at line 198 of file Stokhos_ProductEpetraVector.cpp.

Teuchos::RCP< EpetraExt::BlockVector > Stokhos::ProductEpetraVector::getBlockVector ( )

Get block vector.

Definition at line 208 of file Stokhos_ProductEpetraVector.cpp.

Teuchos::RCP< const EpetraExt::BlockVector > Stokhos::ProductEpetraVector::getBlockVector ( ) const

Get block vector.

Definition at line 215 of file Stokhos_ProductEpetraVector.cpp.

void Stokhos::ProductEpetraVector::setBlockVector ( const Teuchos::RCP< EpetraExt::BlockVector > &  block_vec)

Set block vector.

Definition at line 222 of file Stokhos_ProductEpetraVector.cpp.

void Stokhos::ProductEpetraVector::sumAll ( )

Sum coefficients across processors, storing result in this.

This is only appropriate for local-replicated parallel maps

Definition at line 231 of file Stokhos_ProductEpetraVector.cpp.

Member Data Documentation

Teuchos::RCP<const Epetra_BlockMap> Stokhos::ProductEpetraVector::coeff_map
protected

Product map of block vector.

Definition at line 154 of file Stokhos_ProductEpetraVector.hpp.

Teuchos::RCP<const EpetraExt::MultiComm> Stokhos::ProductEpetraVector::product_comm
protected

Product multi-level communicator.

Definition at line 157 of file Stokhos_ProductEpetraVector.hpp.

Teuchos::RCP<const Epetra_BlockMap> Stokhos::ProductEpetraVector::product_map
protected

Product map of block vector.

Definition at line 160 of file Stokhos_ProductEpetraVector.hpp.

Teuchos::RCP<EpetraExt::BlockVector> Stokhos::ProductEpetraVector::bv
protected

Block vector storing coefficients.

Definition at line 163 of file Stokhos_ProductEpetraVector.hpp.


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