50 #include "Epetra_Import.h" 
   56 #include "Thyra_EpetraThyraWrappers.hpp" 
   57 #include "Thyra_SpmdVectorBase.hpp" 
   58 #include "Thyra_SpmdVectorSpaceBase.hpp" 
   59 #include "Thyra_VectorBase.hpp" 
   60 #include "Thyra_VectorSpaceBase.hpp" 
   72     const std::vector<int>& indices,
 
   75     using std::logic_error;
 
   77       "EpetraVector_ReadOnly_GlobalEvaluationData has been initialized; "     \
 
   78       "cannot call \"useConstantValues()\"!");
 
  103     using Thyra::create_Vector;
 
  104     using Thyra::create_VectorSpace;
 
  126       for (
size_t j(0); j < gids.size(); ++j)
 
  129         int lid = ghostedMap->
LID(gids[j]);
 
  154     using std::logic_error;
 
  156     using Thyra::get_Epetra_Vector;
 
  158       "EpetraVector_ReadOnly_GlobalEvaluationData::globalToGhost():  Owned "  \
 
  159       "vector has not been set; can't perform the halo exchange!")
 
  180     using std::logic_error;
 
  184       "EpetraVector_ReadOnly_GlobalEvaluationData has not been initialized, " \
 
  185       "cannot call \"initializeData()\"!");
 
  192       for (
size_t j(0); j < lids.size(); ++j)
 
  220     using std::logic_error;
 
  221     using Thyra::create_Vector;
 
  223       "EpetraVector_ReadOnly_GlobalEvaluationData::"                          \
 
  224       "setOwnedVector_Epetra():  This object hasn't yet been initialized.")
 
  238     using std::logic_error;
 
  240       "EpetraVector_ReadOnly_GlobalEvaluationData::"                          \
 
  241       "getGhostedVector_Epetra():  This object hasn't yet been initialized.")
 
  243       "EpetraVector_ReadOnly_GlobalEvaluationData::"                          \
 
  244       "getGhostedVector_Epetra():  The ghosted vector is just a null RCP.")
 
  259     using std::logic_error;
 
  261       "EpetraVector_ReadOnly_GlobalEvaluationData::setOwnedVector():  This "  \
 
  262       "object hasn't yet been initialized.")
 
  276     using std::logic_error;
 
  278       "EpetraVector_ReadOnly_GlobalEvaluationData::getOwnedVector():  This "  \
 
  279       "object hasn't yet been initialized.")
 
  292     using std::logic_error;
 
  293     using Thyra::create_Vector;
 
  295       "EpetraVector_ReadOnly_GlobalEvaluationData::getGhostedVector():  "     \
 
  296       "This object hasn't yet been initialized.")
 
  298       "EpetraVector_ReadOnly_GlobalEvaluationData::getGhostedVector():  The " \
 
  299       "ghosted vector is just a null RCP.")
 
  311     std::ostream& os)
 const 
  315     const string tab(
"    ");
 
  317        << tab << 
"EpetraVector_ReadOnly_GlobalEvaluationData" << endl
 
virtual void globalToGhost(int mem=0)
Communicate the owned data to the ghosted vector. 
 
VectorToViewTraits< VectorType >::View getView(typename VectorToViewTraits< VectorType >::ThyraVector &v)
 
Teuchos::RCP< const Epetra_Import > importer_
The importer used to communicate between the owned and ghosted vectors. 
 
VectorToViewTraits< const Epetra_Vector >::View getView< const Epetra_Vector >(typename VectorToViewTraits< const Epetra_Vector >::ThyraVector &v)
 
panzer::kokkos_utils::VectorToViewTraits< Epetra_Vector >::View ghostedView_
The Kokkos::View of the ghosted vector. 
 
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
 
void setOwnedVector_Epetra(const Teuchos::RCP< const Epetra_Vector > &ownedVector)
Set the owned vector (Epetra version). 
 
VectorToViewTraits< Epetra_Vector >::View getView< Epetra_Vector >(typename VectorToViewTraits< Epetra_Vector >::ThyraVector &v)
 
void useConstantValues(const std::vector< int > &indices, double value)
Choose a few GIDs and, instead of zeroing them out in the ghosted vector, set them to a specified val...
 
Kokkos::View< const LO **, PHX::Device > lids
 
virtual void initializeData()
Clear out the ghosted vector. 
 
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
 
Teuchos::RCP< Epetra_Vector > getGhostedVector_Epetra() const 
Get the ghosted vector (Epetra version). 
 
Teuchos::RCP< Epetra_Vector > ghostedVector_
The ghosted vector. 
 
virtual void ghostToGlobal(int mem=0)
Communicate the ghosted data to the owned vector. 
 
Teuchos::RCP< const Thyra::VectorBase< double > > ownedVector_
The owned vector. 
 
void setOwnedVector(const Teuchos::RCP< const Thyra::VectorBase< double >> &ownedVector)
Set the owned vector (Thyra version). 
 
panzer::kokkos_utils::VectorToViewTraits< const Epetra_Vector >::View ownedView_
The Kokkos::View of the owned vector. 
 
std::vector< FilteredPair > filteredPairs_
The list of filtered pairs, used to initialize values on the ghostedVector_. 
 
void print(std::ostream &os) const 
Print the object. 
 
Teuchos::RCP< const Thyra::VectorSpaceBase< double > > ownedSpace_
The vector space corresponding to the owned vector. 
 
Teuchos::RCP< const Thyra::VectorSpaceBase< double > > ghostedSpace_
The vector space corresponding to the ghosted vector. 
 
std::pair< std::vector< int >, double > FilteredPair
A list of global IDs (which will be translated to local IDs), paired with a value to be assigned in t...
 
Teuchos::RCP< Thyra::VectorBase< double > > getGhostedVector() const 
Get the ghosted vector (Thyra version). 
 
Teuchos::RCP< const Epetra_Map > ownedMap_
The map corresponding to the owned vector. 
 
bool isInitialized_
A flag indicating whether or not the object has been initialized. 
 
Teuchos::RCP< const Thyra::VectorBase< double > > getOwnedVector() const 
Get the owned vector (Thyra version). 
 
Teuchos::RCP< const Epetra_Map > ghostedMap_
The map corresponding to the ghosted vector. 
 
void initialize(const Teuchos::RCP< const Epetra_Import > &importer, const Teuchos::RCP< const Epetra_Map > &ghostedMap, const Teuchos::RCP< const Epetra_Map > &ownedMap)
Initialize this object with some Epetra communication objects.