43#ifndef __Panzer_GlobalIndexer_EpetraUtilities_decl_hpp__
44#define __Panzer_GlobalIndexer_EpetraUtilities_decl_hpp__
49#include <unordered_map>
52#include <Epetra_Vector.h>
53#include <Epetra_IntVector.h>
54#include <Epetra_MultiVector.h>
74Teuchos::RCP<Epetra_IntVector>
87Teuchos::RCP<const Epetra_IntVector>
89 const Teuchos::RCP<const Epetra_IntVector> & reducedVec=Teuchos::null);
105 std::vector<int> & fieldNumbers,
106 const Teuchos::RCP<const Epetra_IntVector> & reducedVec=Teuchos::null);
120template <
typename ScalarT,
typename ArrayT>
135Teuchos::RCP<const Epetra_BlockMap>
157 template <
typename ScalarT,
typename ArrayT>
158 Teuchos::RCP<Epetra_MultiVector>
159 getGhostedDataVector(
const std::string & fieldName,
const std::map<std::string,ArrayT> & data)
const;
170 template <
typename ScalarT,
typename ArrayT>
171 Teuchos::RCP<Epetra_MultiVector>
172 getDataVector(
const std::string & fieldName,
const std::map<std::string,ArrayT> & data)
const;
178 Teuchos::RCP<const Epetra_Map>
185 Teuchos::RCP<const Epetra_Map>
197 Teuchos::RCP<const GlobalIndexer>
ugi_;
Teuchos::RCP< const GlobalIndexer > ugi_
DOF mapping.
ArrayToFieldVectorEpetra(const ArrayToFieldVectorEpetra &)
std::map< int, Teuchos::RCP< const Map > > gh_reducedFieldMaps_
ghosted field vector
Teuchos::RCP< const IntVector > gh_reducedFieldVector_
std::map< int, Teuchos::RCP< const Map > > gh_fieldMaps_
Maps for each field (as needed)
ArrayToFieldVectorEpetra()
Maps for each field (as needed)
void buildFieldVector(const Epetra_IntVector &source) const
build unghosted field vector from ghosted field vector
Teuchos::RCP< const Epetra_Map > getFieldMap(const std::string &fieldName) const
Teuchos::RCP< const IntVector > gh_fieldVector_
ghosted reduced field vector
Teuchos::RCP< Epetra_MultiVector > getGhostedDataVector(const std::string &fieldName, const std::map< std::string, ArrayT > &data) const
ArrayToFieldVectorEpetra(const Teuchos::RCP< const GlobalIndexer > &ugi)
Epetra_MultiVector MultiVector
Teuchos::RCP< const IntVector > fieldVector_
Maps for each field (as needed)
std::map< int, Teuchos::RCP< const Map > > fieldMaps_
(unghosted) field vector (as needed)
Teuchos::RCP< Epetra_MultiVector > getDataVector(const std::string &fieldName, const std::map< std::string, ArrayT > &data) const
Epetra_IntVector IntVector
Teuchos::RCP< const Epetra_Map > getFieldMap(int fieldNum) const
void updateGhostedDataReducedVectorEpetra(const std::string &fieldName, const std::string blockId, const GlobalIndexer &ugi, const ArrayT &data, Epetra_MultiVector &dataVector)
Teuchos::RCP< const Epetra_IntVector > buildGhostedFieldVectorEpetra(const GlobalIndexer &ugi, const Teuchos::RCP< const Epetra_IntVector > &reducedVec=Teuchos::null)
Teuchos::RCP< const Epetra_BlockMap > getFieldMapEpetra(int fieldNum, const Epetra_IntVector &fieldVector)
Teuchos::RCP< Epetra_IntVector > buildGhostedFieldReducedVectorEpetra(const GlobalIndexer &ugi)