Panzer  Version of the Day
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node > Class Template Reference

#include <Panzer_UniqueGlobalIndexer_EpetraUtilities.hpp>

Public Member Functions

 ArrayToFieldVectorEpetra (const Teuchos::RCP< const UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT > > &ugi)
 
template<typename ScalarT , typename ArrayT >
Teuchos::RCP< Epetra_MultiVector > getGhostedDataVector (const std::string &fieldName, const std::map< std::string, ArrayT > &data) const
 
template<typename ScalarT , typename ArrayT >
Teuchos::RCP< Epetra_MultiVector > getDataVector (const std::string &fieldName, const std::map< std::string, ArrayT > &data) const
 
Teuchos::RCP< const Epetra_Map > getFieldMap (const std::string &fieldName) const
 
Teuchos::RCP< const Epetra_Map > getFieldMap (int fieldNum) const
 

Protected Types

typedef Epetra_IntVector IntVector
 
typedef Epetra_MultiVector MultiVector
 
typedef Epetra_BlockMap Map
 

Protected Member Functions

void buildFieldVector (const Epetra_IntVector &source) const
 build unghosted field vector from ghosted field vector More...
 

Protected Attributes

Teuchos::RCP< const UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT > > ugi_
 DOF mapping. More...
 
Teuchos::RCP< const IntVectorgh_reducedFieldVector_
 
Teuchos::RCP< const IntVectorgh_fieldVector_
 ghosted reduced field vector More...
 
std::map< int, Teuchos::RCP< const Map > > gh_reducedFieldMaps_
 ghosted field vector More...
 
std::map< int, Teuchos::RCP< const Map > > gh_fieldMaps_
 Maps for each field (as needed) More...
 
Teuchos::RCP< const IntVectorfieldVector_
 Maps for each field (as needed) More...
 
std::map< int, Teuchos::RCP< const Map > > fieldMaps_
 (unghosted) field vector (as needed) More...
 

Private Member Functions

 ArrayToFieldVectorEpetra ()
 Maps for each field (as needed) More...
 
 ArrayToFieldVectorEpetra (const ArrayToFieldVectorEpetra &)
 

Detailed Description

template<typename LocalOrdinalT, typename GlobalOrdinalT, typename Node>
class panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >

This class assists in mapping arrays of field data to field vectors.

Definition at line 161 of file Panzer_UniqueGlobalIndexer_EpetraUtilities.hpp.

Member Typedef Documentation

◆ IntVector

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
typedef Epetra_IntVector panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::IntVector
protected

◆ MultiVector

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
typedef Epetra_MultiVector panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::MultiVector
protected

◆ Map

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
typedef Epetra_BlockMap panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::Map
protected

Constructor & Destructor Documentation

◆ ArrayToFieldVectorEpetra() [1/3]

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::ArrayToFieldVectorEpetra ( const Teuchos::RCP< const UniqueGlobalIndexer< LocalOrdinalT, GlobalOrdinalT > > &  ugi)

Construct information for the unique global indexer. Notice that this requires global communication.

Definition at line 246 of file Panzer_UniqueGlobalIndexer_EpetraUtilities_impl.hpp.

◆ ArrayToFieldVectorEpetra() [2/3]

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::ArrayToFieldVectorEpetra ( )
private

Maps for each field (as needed)

◆ ArrayToFieldVectorEpetra() [3/3]

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::ArrayToFieldVectorEpetra ( const ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node > &  )
private

Member Function Documentation

◆ getGhostedDataVector()

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
template<typename ScalarT , typename ArrayT >
Teuchos::RCP< Epetra_MultiVector > panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::getGhostedDataVector ( const std::string &  fieldName,
const std::map< std::string, ArrayT > &  data 
) const

Get a Tpetra vector containing the data ordered according to the ordering from UGI::getOwnedAndGhostedIndices.

Parameters
[in]fieldNameName of field this data is from
[in]dataArray of data
Returns
Returns a vector populated with the data. This vector is related to the UGI::getOwnedAndGhostedIndices.

Definition at line 257 of file Panzer_UniqueGlobalIndexer_EpetraUtilities_impl.hpp.

◆ getDataVector()

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
template<typename ScalarT , typename ArrayT >
Teuchos::RCP< Epetra_MultiVector > panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::getDataVector ( const std::string &  fieldName,
const std::map< std::string, ArrayT > &  data 
) const

Get a Tpetra vector containing the data ordered according to the ordering from UGI::getOwnedIndices.

Parameters
[in]fieldNameName of field this data is from
[in]dataArray of data
Returns
Returns a vector populated with the data. This vector is related to the UGI::getOwnedIndices.

Definition at line 329 of file Panzer_UniqueGlobalIndexer_EpetraUtilities_impl.hpp.

◆ getFieldMap() [1/2]

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
Teuchos::RCP< const Epetra_Map > panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::getFieldMap ( const std::string &  fieldName) const

Build a map that contains only global IDs associated with a particular field. This serves to go from a unique vector of all fields, to a vector containing the uniquely owned global ids for a single field.

Definition at line 386 of file Panzer_UniqueGlobalIndexer_EpetraUtilities_impl.hpp.

◆ getFieldMap() [2/2]

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
Teuchos::RCP< const Epetra_Map > panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::getFieldMap ( int  fieldNum) const

Build a map that contains only global IDs associated with a particular field. This serves to go from a unique vector of all fields, to a vector containing the uniquely owned global ids for a single field.

Definition at line 394 of file Panzer_UniqueGlobalIndexer_EpetraUtilities_impl.hpp.

◆ buildFieldVector()

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
void panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::buildFieldVector ( const Epetra_IntVector &  source) const
protected

build unghosted field vector from ghosted field vector

Definition at line 358 of file Panzer_UniqueGlobalIndexer_EpetraUtilities_impl.hpp.

Member Data Documentation

◆ ugi_

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
Teuchos::RCP<const UniqueGlobalIndexer<LocalOrdinalT,GlobalOrdinalT> > panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::ugi_
protected

DOF mapping.

Definition at line 217 of file Panzer_UniqueGlobalIndexer_EpetraUtilities.hpp.

◆ gh_reducedFieldVector_

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
Teuchos::RCP<const IntVector> panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::gh_reducedFieldVector_
protected

◆ gh_fieldVector_

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
Teuchos::RCP<const IntVector> panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::gh_fieldVector_
protected

ghosted reduced field vector

Definition at line 220 of file Panzer_UniqueGlobalIndexer_EpetraUtilities.hpp.

◆ gh_reducedFieldMaps_

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
std::map<int,Teuchos::RCP<const Map> > panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::gh_reducedFieldMaps_
mutableprotected

ghosted field vector

Definition at line 222 of file Panzer_UniqueGlobalIndexer_EpetraUtilities.hpp.

◆ gh_fieldMaps_

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
std::map<int,Teuchos::RCP<const Map> > panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::gh_fieldMaps_
mutableprotected

Maps for each field (as needed)

Definition at line 223 of file Panzer_UniqueGlobalIndexer_EpetraUtilities.hpp.

◆ fieldVector_

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
Teuchos::RCP<const IntVector> panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::fieldVector_
mutableprotected

Maps for each field (as needed)

Definition at line 225 of file Panzer_UniqueGlobalIndexer_EpetraUtilities.hpp.

◆ fieldMaps_

template<typename LocalOrdinalT , typename GlobalOrdinalT , typename Node >
std::map<int,Teuchos::RCP<const Map> > panzer::ArrayToFieldVectorEpetra< LocalOrdinalT, GlobalOrdinalT, Node >::fieldMaps_
mutableprotected

(unghosted) field vector (as needed)

Definition at line 226 of file Panzer_UniqueGlobalIndexer_EpetraUtilities.hpp.


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