Stokhos Development
Loading...
Searching...
No Matches
Stokhos::ProductEpetraVector Class Reference

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

#include <Stokhos_ProductEpetraVector.hpp>

Inheritance diagram for Stokhos::ProductEpetraVector:
Collaboration diagram for Stokhos::ProductEpetraVector:

Public Types

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

Public Member Functions

 ProductEpetraVector ()
 Default constructor.
 ProductEpetraVector (const Teuchos::RCP< const Epetra_BlockMap > &block_map)
 Create a container with container map block_map.
 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.
 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.
 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.
 ProductEpetraVector (const ProductEpetraVector &v)
 Copy constructor.
virtual ~ProductEpetraVector ()
 Destructor.
ProductEpetraVectoroperator= (const ProductEpetraVector &v)
 Assignment.
ProductEpetraVectoroperator= (const Epetra_Vector &v)
 Assignment.
void assignToBlockVector (Epetra_Vector &v) const
 Assignment.
void assignFromBlockVector (const Epetra_Vector &v)
 Assignment.
Teuchos::RCP< const Epetra_BlockMap > coefficientMap () const
 Get coefficient map.
Teuchos::RCP< const Epetra_BlockMap > productMap () const
 Get product map.
Teuchos::RCP< const EpetraExt::MultiComm > productComm () const
 Get product comm.
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.
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.
void resetCoefficients (Epetra_DataAccess CV, const Epetra_Vector &block_vector)
 Reset vector cofficients.
Teuchos::RCP< EpetraExt::BlockVector > getBlockVector ()
 Get block vector.
Teuchos::RCP< const EpetraExt::BlockVector > getBlockVector () const
 Get block vector.
void setBlockVector (const Teuchos::RCP< EpetraExt::BlockVector > &block_vec)
 Set block vector.
void sumAll ()
 Sum coefficients across processors, storing result in this.
Public Member Functions inherited from Stokhos::ProductContainer< Epetra_Vector >
 ProductContainer ()
 Default constructor.
virtual ~ProductContainer ()
 Destructor.
ProductContaineroperator= (const ProductContainer &)
 Assignment.
void reset (const Teuchos::RCP< const Epetra_BlockMap > &map)
 Resize to new map map.
void resize (const Teuchos::RCP< const Epetra_BlockMap > &map)
 Resize to map map.
void reserve (ordinal_type sz)
 Reserve space for a size sz container.
ordinal_type size () const
 Return size.
Teuchos::RCP< const Epetra_BlockMap > map () const
 Return container map.
const Teuchos::Array< Teuchos::RCP< Epetra_Vector > > & getCoefficients () const
 Return array of coefficients.
Teuchos::RCP< Epetra_Vector > getCoeffPtr (ordinal_type i)
 Return ref-count pointer to coefficient i.
void setCoeffPtr (ordinal_type i, const Teuchos::RCP< Epetra_Vector > &c)
 Set coefficient i to c.
Epetra_Vector & operator[] (ordinal_type i)
 Array access.
void init (const value_type &val)
 Initialize coefficients.
bool myGID (int i) const
 Return whether global index i resides on this processor.
std::ostream & print (std::ostream &os) const
 Print polynomial.

Protected Attributes

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

Detailed Description

A container class for products of Epetra_Vector's.

Constructor & Destructor Documentation

◆ ProductEpetraVector() [1/6]

◆ ProductEpetraVector() [2/6]

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

Create a container with container map block_map.

References Stokhos::ProductContainer< Epetra_Vector >::ProductContainer().

◆ ProductEpetraVector() [3/6]

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.

References bv, coeff_map, product_comm, product_map, Stokhos::ProductContainer< Epetra_Vector >::ProductContainer(), Stokhos::ProductContainer< Epetra_Vector >::setCoeffPtr(), and Stokhos::ProductContainer< Epetra_Vector >::size().

◆ ProductEpetraVector() [4/6]

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.

References bv, coeff_map, product_comm, product_map, Stokhos::ProductContainer< Epetra_Vector >::ProductContainer(), Stokhos::ProductContainer< Epetra_Vector >::setCoeffPtr(), and Stokhos::ProductContainer< Epetra_Vector >::size().

◆ ProductEpetraVector() [5/6]

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.

References bv, coeff_map, product_comm, product_map, Stokhos::ProductContainer< Epetra_Vector >::ProductContainer(), Stokhos::ProductContainer< Epetra_Vector >::setCoeffPtr(), and Stokhos::ProductContainer< Epetra_Vector >::size().

◆ ProductEpetraVector() [6/6]

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

Copy constructor.

NOTE: This is a shallow copy

References bv, coeff_map, product_comm, product_map, and Stokhos::ProductContainer< Epetra_Vector >::ProductContainer().

Member Function Documentation

◆ assignFromBlockVector()

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

◆ assignToBlockVector()

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

◆ coefficientMap()

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

Get coefficient map.

References coeff_map.

◆ getBlockVector() [1/2]

◆ getBlockVector() [2/2]

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

Get block vector.

References bv.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ productComm()

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

Get product comm.

References product_comm.

◆ productMap()

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

Get product map.

References product_map.

◆ reset() [1/2]

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() [2/2]

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 )

◆ resetCoefficients()

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

◆ setBlockVector()

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

◆ sumAll()

void Stokhos::ProductEpetraVector::sumAll ( )

Sum coefficients across processors, storing result in this.

This is only appropriate for local-replicated parallel maps

References Stokhos::ProductContainer< Epetra_Vector >::coeff_, coeff_map, Stokhos::ProductContainer< Epetra_Vector >::map_, and Stokhos::ProductContainer< Epetra_Vector >::size().

Member Data Documentation

◆ bv

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

◆ coeff_map

◆ product_comm

◆ product_map


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