42#ifndef STOKHOS_PRODUCT_EPETRA_MULTI_VECTOR_HPP
43#define STOKHOS_PRODUCT_EPETRA_MULTI_VECTOR_HPP
48#include "EpetraExt_MultiComm.h"
49#include "EpetraExt_BlockMultiVector.h"
77 const Teuchos::RCP<const Epetra_BlockMap>& block_map);
85 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
86 const Teuchos::RCP<const Epetra_BlockMap>&
coeff_map,
87 const Teuchos::RCP<const EpetraExt::MultiComm>&
product_comm,
98 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
99 const Teuchos::RCP<const Epetra_BlockMap>&
coeff_map,
100 const Teuchos::RCP<const Epetra_BlockMap>&
product_map,
101 const Teuchos::RCP<const EpetraExt::MultiComm>&
product_comm,
109 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
110 const Teuchos::RCP<const Epetra_BlockMap>&
coeff_map,
111 const Teuchos::RCP<const Epetra_BlockMap>&
product_map,
112 const Teuchos::RCP<const EpetraExt::MultiComm>&
product_comm,
144 Teuchos::RCP<const Epetra_BlockMap>
productMap()
const;
147 Teuchos::RCP<const EpetraExt::MultiComm>
productComm()
const;
157 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
158 const Teuchos::RCP<const Epetra_BlockMap>&
coeff_map,
159 const Teuchos::RCP<const EpetraExt::MultiComm>&
product_comm,
167 const Teuchos::RCP<const Epetra_BlockMap>& block_map,
168 const Teuchos::RCP<const Epetra_BlockMap>&
coeff_map,
169 const Teuchos::RCP<const Epetra_BlockMap>&
product_map,
170 const Teuchos::RCP<const EpetraExt::MultiComm>&
product_comm,
185 const Teuchos::RCP<EpetraExt::BlockMultiVector>& block_vec);
199 Teuchos::RCP<EpetraExt::BlockMultiVector>
bv;
A product (in the mathematical sense) container class whose coefficients are vectors,...
A container class storing products of Epetra_MultiVector's.
Teuchos::RCP< const Epetra_BlockMap > coeff_map
Product map of block vector.
Teuchos::RCP< const Epetra_BlockMap > product_map
Product map of block vector.
Teuchos::RCP< const EpetraExt::MultiComm > product_comm
Product multi-level communicator.
int numVectors() const
Get number of vectors.
Teuchos::RCP< EpetraExt::BlockMultiVector > bv
Block vector storing coefficients.
void assignFromBlockMultiVector(const Epetra_MultiVector &v)
Assignment.
int ordinal_type
Typename of ordinals.
virtual ~ProductEpetraMultiVector()
Destructor.
ProductEpetraMultiVector & operator=(const ProductEpetraMultiVector &v)
Assignment.
void resetCoefficients(Epetra_DataAccess CV, const Epetra_MultiVector &block_vector)
Reset vector cofficients.
void setBlockMultiVector(const Teuchos::RCP< EpetraExt::BlockMultiVector > &block_vec)
Set block vector.
Teuchos::RCP< const Epetra_BlockMap > productMap() const
Get product map.
double value_type
Typename of values.
Teuchos::RCP< EpetraExt::BlockMultiVector > getBlockMultiVector()
Get block vector.
void assignToBlockMultiVector(Epetra_MultiVector &v) const
Assignment.
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, int num_vectors)
Reset to a new size.
ProductEpetraMultiVector()
Default constructor.
Teuchos::RCP< const EpetraExt::MultiComm > productComm() const
Get product comm.
Teuchos::RCP< const Epetra_BlockMap > coefficientMap() const
Get coefficient map.
Top-level namespace for Stokhos classes and functions.