Panzer Version of the Day
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > Class Template Reference

#include <Panzer_TpetraVector_ReadOnly_GlobalEvaluationData.hpp>

Inheritance diagram for panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >:
Inheritance graph
[legend]

Public Types

typedef Tpetra::Vector< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > VectorType
 
typedef Tpetra::Map< LocalOrdinalT, GlobalOrdinalT, NodeT > MapType
 
typedef Tpetra::Import< LocalOrdinalT, GlobalOrdinalT, NodeT > ImportType
 

Public Member Functions

 TpetraVector_ReadOnly_GlobalEvaluationData ()
 Default constructor.
 
 TpetraVector_ReadOnly_GlobalEvaluationData (const TpetraVector_ReadOnly_GlobalEvaluationData &src)
 
 TpetraVector_ReadOnly_GlobalEvaluationData (const Teuchos::RCP< const ImportType > &importer, const Teuchos::RCP< const MapType > &ghostedMap, const Teuchos::RCP< const MapType > &ownedMap)
 
void useConstantValues (const std::vector< GlobalOrdinalT > &indices, double value)
 
void initialize (const Teuchos::RCP< const ImportType > &importer, const Teuchos::RCP< const MapType > &ghostedMap, const Teuchos::RCP< const MapType > &ownedMap)
 
virtual void globalToGhost (int mem)
 
virtual void initializeData ()
 Clear out the ghosted vector.
 
virtual void ghostToGlobal (int)
 For this class this method does nothing.
 
virtual bool requiresDirichletAdjustment () const
 Nothing to do (its read only)
 
void setOwnedVector_Tpetra (const Teuchos::RCP< const VectorType > &ownedVector)
 Set the owned vector (Tpetra version)
 
Teuchos::RCP< const VectorTypegetOwnedVector_Tpetra () const
 Get the owned vector (Tpetra version)
 
Teuchos::RCP< VectorTypegetGhostedVector_Tpetra () const
 Get the ghosted vector (Tpetra version)
 
void setOwnedVector (const Teuchos::RCP< const Thyra::VectorBase< double > > &ownedVector)
 Set the owned vector (Thyra version)
 
Teuchos::RCP< const Thyra::VectorBase< double > > getOwnedVector () const
 Get the owned vector (Thyra version)
 
Teuchos::RCP< Thyra::VectorBase< double > > getGhostedVector () const
 Get the ghosted vector (Thyra version)
 
bool isInitialized () const
 Is this object initialized.
 
void print (std::ostream &os) const
 Diagnostic function.
 
- Public Member Functions inherited from panzer::ReadOnlyVector_GlobalEvaluationData
virtual ~ReadOnlyVector_GlobalEvaluationData ()
 Virtual d.
 
virtual bool isInitialized () const =0
 Is this object initialized.
 
virtual void globalToGhost (int mem)=0
 
virtual void ghostToGlobal (int)
 
virtual void setOwnedVector (const Teuchos::RCP< const Thyra::VectorBase< double > > &ownedVector)=0
 Set the owned vector.
 
virtual Teuchos::RCP< const Thyra::VectorBase< double > > getOwnedVector () const =0
 Get the owned vector.
 
virtual Teuchos::RCP< Thyra::VectorBase< double > > getGhostedVector () const =0
 Get the ghosted vector.
 
- Public Member Functions inherited from panzer::GlobalEvaluationData
virtual ~GlobalEvaluationData ()=0
 
virtual void ghostToGlobal (int mem)=0
 
virtual void globalToGhost (int mem)=0
 
virtual bool requiresDirichletAdjustment () const =0
 
virtual void initializeData ()=0
 
virtual void print (std::ostream &os) const
 Diagnostic function for determinning what's in this object.
 

Private Types

typedef std::pair< std::vector< GlobalOrdinalT >, double > FilteredGlobalPair
 
typedef std::pair< std::vector< LocalOrdinalT >, double > FilteredLocalPair
 

Private Attributes

bool isInitialized_
 
Teuchos::RCP< const MapTypeghostedMap_
 
Teuchos::RCP< const MapTypeownedMap_
 
Teuchos::RCP< const Thyra::VectorSpaceBase< double > > ghostedSpace_
 
Teuchos::RCP< const Thyra::VectorSpaceBase< double > > ownedSpace_
 
Teuchos::RCP< const ImportTypeimporter_
 
Teuchos::RCP< VectorTypeghostedVector_
 
Teuchos::RCP< const VectorTypeownedVector_
 
std::vector< FilteredGlobalPairglobalFilteredPairs_
 
std::vector< FilteredLocalPairfilteredPairs_
 

Detailed Description

template<typename ScalarT, typename LocalOrdinalT, typename GlobalOrdinalT, typename NodeT = panzer::TpetraNodeType>
class panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >

This class provides a boundary exchange communication mechanism for vectors. Not this provides a "read only" (RO) interface for parameters (so vectors are write protected).

Definition at line 65 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData.hpp.

Member Typedef Documentation

◆ VectorType

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef Tpetra::Vector<ScalarT,LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::VectorType

◆ MapType

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef Tpetra::Map<LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::MapType

◆ ImportType

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef Tpetra::Import<LocalOrdinalT,GlobalOrdinalT,NodeT> panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ImportType

◆ FilteredGlobalPair

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef std::pair<std::vector<GlobalOrdinalT>,double> panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::FilteredGlobalPair
private

◆ FilteredLocalPair

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
typedef std::pair<std::vector<LocalOrdinalT>,double> panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::FilteredLocalPair
private

Constructor & Destructor Documentation

◆ TpetraVector_ReadOnly_GlobalEvaluationData() [1/3]

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::TpetraVector_ReadOnly_GlobalEvaluationData ( )
inline

Default constructor.

Definition at line 72 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData.hpp.

◆ TpetraVector_ReadOnly_GlobalEvaluationData() [2/3]

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::TpetraVector_ReadOnly_GlobalEvaluationData ( const TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT > &  src)
inline

◆ TpetraVector_ReadOnly_GlobalEvaluationData() [3/3]

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::TpetraVector_ReadOnly_GlobalEvaluationData ( const Teuchos::RCP< const ImportType > &  importer,
const Teuchos::RCP< const MapType > &  ghostedMap,
const Teuchos::RCP< const MapType > &  ownedMap 
)
inline

Initialize this object with some Tpetra communication objects. This method must be called before an object of this type can be used.

Parameters
[in]importerImporter for doing communication from the owned to the ghosted vector.
[in]ghostedMapMap describing the ghosted vector.
[in]ownedMapMap describing the ghosted vector.

Definition at line 86 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData.hpp.

Member Function Documentation

◆ useConstantValues()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::useConstantValues ( const std::vector< GlobalOrdinalT > &  indices,
double  value 
)

Choose a few GIDs and instead of zeroing them out in the ghosted vector set them to a specified value. Note that this is only useful for GIDs in the ghosted map that are not in the owned map.

This must be called before initialize. Also note that no attempt to synchronize these values a crossed processor is made. So its up to the user to be consistent.

Definition at line 54 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData_impl.hpp.

◆ initialize()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
void panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::initialize ( const Teuchos::RCP< const ImportType > &  importer,
const Teuchos::RCP< const MapType > &  ghostedMap,
const Teuchos::RCP< const MapType > &  ownedMap 
)

Initialize this object with some Tpetra communication objects. This method must be called before an object of this type can be used.

Parameters
[in]importerImporter for doing communication from the owned to the ghosted vector.
[in]ghostedMapMap describing the ghosted vector.
[in]ownedMapMap describing the ghosted vector.

Definition at line 69 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData_impl.hpp.

◆ globalToGhost()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::globalToGhost ( int  mem)
virtual

For this class, this method does the halo exchange for the vector.

Implements panzer::ReadOnlyVector_GlobalEvaluationData.

Definition at line 112 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData_impl.hpp.

◆ initializeData()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::initializeData
virtual

Clear out the ghosted vector.

Implements panzer::GlobalEvaluationData.

Definition at line 129 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData_impl.hpp.

◆ ghostToGlobal()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
virtual void panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostToGlobal ( int  )
inlinevirtual

For this class this method does nothing.

Reimplemented from panzer::ReadOnlyVector_GlobalEvaluationData.

Definition at line 121 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData.hpp.

◆ requiresDirichletAdjustment()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
virtual bool panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::requiresDirichletAdjustment ( ) const
inlinevirtual

Nothing to do (its read only)

Implements panzer::GlobalEvaluationData.

Definition at line 124 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData.hpp.

◆ setOwnedVector_Tpetra()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::setOwnedVector_Tpetra ( const Teuchos::RCP< const VectorType > &  ownedVector)

Set the owned vector (Tpetra version)

Definition at line 152 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData_impl.hpp.

◆ getOwnedVector_Tpetra()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const typename TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::VectorType > panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getOwnedVector_Tpetra

Get the owned vector (Tpetra version)

Definition at line 161 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData_impl.hpp.

◆ getGhostedVector_Tpetra()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< typename TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::VectorType > panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedVector_Tpetra

Get the ghosted vector (Tpetra version)

Definition at line 170 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData_impl.hpp.

◆ setOwnedVector()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::setOwnedVector ( const Teuchos::RCP< const Thyra::VectorBase< double > > &  ownedVector)
virtual

Set the owned vector (Thyra version)

Implements panzer::ReadOnlyVector_GlobalEvaluationData.

Definition at line 181 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData_impl.hpp.

◆ getOwnedVector()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< const Thyra::VectorBase< double > > panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getOwnedVector
virtual

Get the owned vector (Thyra version)

Implements panzer::ReadOnlyVector_GlobalEvaluationData.

Definition at line 192 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData_impl.hpp.

◆ getGhostedVector()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
Teuchos::RCP< Thyra::VectorBase< double > > panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::getGhostedVector
virtual

Get the ghosted vector (Thyra version)

Implements panzer::ReadOnlyVector_GlobalEvaluationData.

Definition at line 202 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData_impl.hpp.

◆ isInitialized()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
bool panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::isInitialized ( ) const
inlinevirtual

Is this object initialized.

Implements panzer::ReadOnlyVector_GlobalEvaluationData.

Definition at line 145 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData.hpp.

◆ print()

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT >
void panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::print ( std::ostream &  os) const
virtual

Diagnostic function.

Reimplemented from panzer::GlobalEvaluationData.

Definition at line 213 of file Panzer_TpetraVector_ReadOnly_GlobalEvaluationData_impl.hpp.

Member Data Documentation

◆ isInitialized_

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
bool panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::isInitialized_
private

◆ ghostedMap_

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<const MapType> panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostedMap_
private

◆ ownedMap_

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<const MapType> panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ownedMap_
private

◆ ghostedSpace_

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<const Thyra::VectorSpaceBase<double> > panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostedSpace_
private

◆ ownedSpace_

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<const Thyra::VectorSpaceBase<double> > panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ownedSpace_
private

◆ importer_

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<const ImportType> panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::importer_
private

◆ ghostedVector_

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<VectorType> panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ghostedVector_
private

◆ ownedVector_

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
Teuchos::RCP<const VectorType> panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::ownedVector_
private

◆ globalFilteredPairs_

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
std::vector<FilteredGlobalPair> panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::globalFilteredPairs_
private

◆ filteredPairs_

template<typename ScalarT , typename LocalOrdinalT , typename GlobalOrdinalT , typename NodeT = panzer::TpetraNodeType>
std::vector<FilteredLocalPair> panzer::TpetraVector_ReadOnly_GlobalEvaluationData< ScalarT, LocalOrdinalT, GlobalOrdinalT, NodeT >::filteredPairs_
private

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