Panzer  Version of the Day
Panzer_BlockedVector_ReadOnly_GlobalEvaluationData.hpp
Go to the documentation of this file.
1 #ifndef __Panzer_BlockedVector_ReadOnly_GlobalEvaluationData_hpp__
2 #define __Panzer_BlockedVector_ReadOnly_GlobalEvaluationData_hpp__
3 
5 
6 namespace Thyra {
7  // forward declaration
8  template <typename> class DefaultProductVectorSpace;
9 }
10 
11 namespace panzer {
12 
17 public:
18 
20 
22 
24  const Teuchos::RCP<const Thyra::VectorSpaceBase<double> > ownedSpace,
25  const std::vector<Teuchos::RCP<ReadOnlyVector_GlobalEvaluationData> > & gedBlocks);
26 
29 
39  void initialize(const Teuchos::RCP<const Thyra::VectorSpaceBase<double> > & ghostedSpace,
40  const Teuchos::RCP<const Thyra::VectorSpaceBase<double> > & ownedSpace,
41  const std::vector<Teuchos::RCP<ReadOnlyVector_GlobalEvaluationData> > & gedBlocks);
42 
44  virtual bool isInitialized() const { return isInitialized_; }
45 
49  virtual void globalToGhost(int mem);
50 
52  virtual void initializeData();
53 
55  virtual void setOwnedVector(const Teuchos::RCP<const Thyra::VectorBase<double> > & ownedVector);
56 
58  virtual Teuchos::RCP<const Thyra::VectorBase<double> > getOwnedVector() const;
59 
61  virtual Teuchos::RCP<Thyra::VectorBase<double> > getGhostedVector() const;
62 
64  size_t getBlockCount() const
65  { return gedBlocks_.size(); }
66 
68  Teuchos::RCP<ReadOnlyVector_GlobalEvaluationData> getGEDBlock(int i)
69  { return gedBlocks_[i]; }
70 
72  Teuchos::RCP<const ReadOnlyVector_GlobalEvaluationData> getGEDBlock(int i) const
73  { return gedBlocks_[i]; }
74 
76  bool requiresDirichletAdjustment() const { return false; }
77 
78 private:
79 
81 
82  std::vector<Teuchos::RCP<ReadOnlyVector_GlobalEvaluationData> > gedBlocks_;
83 
84  Teuchos::RCP<const Thyra::VectorBase<double> > ownedVector_;
85 
86  Teuchos::RCP<const Thyra::DefaultProductVectorSpace<double> > ghostedSpace_;
87 };
88 
89 }
90 
91 #endif
Teuchos::RCP< ReadOnlyVector_GlobalEvaluationData > getGEDBlock(int i)
Get GED block (non const version)
virtual Teuchos::RCP< Thyra::VectorBase< double > > getGhostedVector() const
Get the ghosted vector.
virtual void setOwnedVector(const Teuchos::RCP< const Thyra::VectorBase< double > > &ownedVector)
Set the owned vector.
std::vector< Teuchos::RCP< ReadOnlyVector_GlobalEvaluationData > > gedBlocks_
PHX::MDField< ScalarT > vector
virtual void initializeData()
Initialize internal data for communication (clear the ghosted vector)
void initialize(const Teuchos::RCP< const Thyra::VectorSpaceBase< double > > &ghostedSpace, const Teuchos::RCP< const Thyra::VectorSpaceBase< double > > &ownedSpace, const std::vector< Teuchos::RCP< ReadOnlyVector_GlobalEvaluationData > > &gedBlocks)
Teuchos::RCP< const Thyra::DefaultProductVectorSpace< double > > ghostedSpace_
Teuchos::RCP< const ReadOnlyVector_GlobalEvaluationData > getGEDBlock(int i) const
Get GED block (const version)
virtual Teuchos::RCP< const Thyra::VectorBase< double > > getOwnedVector() const
Get the owned vector.