42 #ifndef STOKHOS_PRODUCT_EPETRA_MULTI_VECTOR_HPP 43 #define STOKHOS_PRODUCT_EPETRA_MULTI_VECTOR_HPP 47 #include "Epetra_BlockMap.h" 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,
113 Epetra_DataAccess CV,
114 const Epetra_MultiVector& block_vector);
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,
175 const Epetra_MultiVector& block_vector);
185 const Teuchos::RCP<EpetraExt::BlockMultiVector>& block_vec);
199 Teuchos::RCP<EpetraExt::BlockMultiVector>
bv;
205 #endif // STOKHOS_PRODUCT_EPETRA_MULTI_VECTOR_HPP
Teuchos::RCP< const EpetraExt::MultiComm > product_comm
Product multi-level communicator.
const IndexType num_vectors
double value_type
Typename of values.
Teuchos::RCP< EpetraExt::BlockMultiVector > bv
Block vector storing coefficients.
Teuchos::RCP< const EpetraExt::MultiComm > productComm() const
Get product comm.
ProductEpetraMultiVector()
Default constructor.
ProductEpetraMultiVector & operator=(const ProductEpetraMultiVector &v)
Assignment.
int ordinal_type
Typename of ordinals.
Top-level namespace for Stokhos classes and functions.
Teuchos::RCP< const Epetra_BlockMap > coefficientMap() const
Get coefficient map.
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.
A container class storing products of Epetra_MultiVector's.
Teuchos::RCP< EpetraExt::BlockMultiVector > getBlockMultiVector()
Get block vector.
A product (in the mathematical sense) container class whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor.
Teuchos::RCP< const Epetra_BlockMap > coeff_map
Product map of block vector.
virtual ~ProductEpetraMultiVector()
Destructor.
int numVectors() const
Get number of vectors.
Teuchos::RCP< const Epetra_BlockMap > productMap() const
Get product map.
void setBlockMultiVector(const Teuchos::RCP< EpetraExt::BlockMultiVector > &block_vec)
Set block vector.
void resetCoefficients(Epetra_DataAccess CV, const Epetra_MultiVector &block_vector)
Reset vector cofficients.
Teuchos::RCP< const Epetra_BlockMap > product_map
Product map of block vector.
void assignFromBlockMultiVector(const Epetra_MultiVector &v)
Assignment.
void assignToBlockMultiVector(Epetra_MultiVector &v) const
Assignment.