Panzer
Version of the Day
|
This class encapsulates the needs of a gather operation to do a // halo exchange for blocked vectors. //. More...
#include <Panzer_BlockedVector_Write_GlobalEvaluationData.hpp>
Public Member Functions | |
BlockedVector_Write_GlobalEvaluationData () | |
Default Constructor. More... | |
BlockedVector_Write_GlobalEvaluationData (const BlockedVector_Write_GlobalEvaluationData &src) | |
Copy Constructor. More... | |
BlockedVector_Write_GlobalEvaluationData (const Teuchos::RCP< const Thyra::VectorSpaceBase< double >> ghostedSpace, const Teuchos::RCP< const Thyra::VectorSpaceBase< double >> ownedSpace, const std::vector< Teuchos::RCP< WriteVector_GlobalEvaluationData >> &gedBlocks) | |
Initializing Constructor. More... | |
virtual | ~BlockedVector_Write_GlobalEvaluationData () |
Destructor. More... | |
void | initialize (const Teuchos::RCP< const Thyra::VectorSpaceBase< double >> &ghostedSpace, const Teuchos::RCP< const Thyra::VectorSpaceBase< double >> &ownedSpace, const std::vector< Teuchos::RCP< WriteVector_GlobalEvaluationData >> &gedBlocks) |
Initialize this object using the sub-GlobalEvaluationData objects. More... | |
virtual bool | isInitialized () const |
Is this object initialized? More... | |
virtual void | ghostToGlobal (int mem) |
Communicate the ghosted data to the owned vector. More... | |
virtual void | initializeData () |
Initialize internal data for communication. More... | |
virtual void | setOwnedVector (const Teuchos::RCP< Thyra::VectorBase< double >> &ownedVector) |
Set the owned vector. More... | |
virtual Teuchos::RCP < Thyra::VectorBase< double > > | getOwnedVector () const |
Get the owned vector. More... | |
virtual Teuchos::RCP < Thyra::VectorBase< double > > | getGhostedVector () const |
Get the ghosted vector. More... | |
size_t | getBlockCount () const |
How many blocks do we have? More... | |
Teuchos::RCP < WriteVector_GlobalEvaluationData > | getGEDBlock (int i) |
Get the i -th block (non const version). More... | |
Teuchos::RCP< const WriteVector_GlobalEvaluationData > | getGEDBlock (int i) const |
Get the i -th block (const version). More... | |
bool | requiresDirichletAdjustment () const |
Determine if a Dirichlet adjustment is necessary. More... | |
Public Member Functions inherited from panzer::WriteVector_GlobalEvaluationData | |
WriteVector_GlobalEvaluationData () | |
Default constructor, set combine mode to sum right away. More... | |
virtual | ~WriteVector_GlobalEvaluationData () |
Virtual d. More... | |
void | setCombineMode (CombineMode cm) |
Allow the user to set the combine mode (at any time) More... | |
CombineMode | getCombineMode () const |
Get the combine mode, to be used by sub classes. More... | |
virtual void | globalToGhost (int) |
virtual void | setOwnedVector (const Teuchos::RCP< Thyra::VectorBase< double > > &ownedVector)=0 |
Set the owned vector. More... | |
double & | operator[] (const int &lid) |
Element access. More... | |
Public Member Functions inherited from panzer::GlobalEvaluationData | |
virtual | ~GlobalEvaluationData ()=0 |
virtual void | print (std::ostream &os) const |
Diagnostic function for determinning what's in this object. More... | |
Private Attributes | |
bool | isInitialized_ |
A flag indicating whether or not the object has been initialized. More... | |
std::vector< Teuchos::RCP < WriteVector_GlobalEvaluationData > > | gedBlocks_ |
A vector of the GlobalEvaluationData blocks. More... | |
Teuchos::RCP < Thyra::VectorBase< double > > | ownedVector_ |
The owned vector. More... | |
Teuchos::RCP< const Thyra::DefaultProductVectorSpace < double > > | ghostedSpace_ |
The vector space corresponding to the ghosted vector. More... | |
Additional Inherited Members | |
Public Types inherited from panzer::WriteVector_GlobalEvaluationData | |
enum | CombineMode { CM_Sum, CM_Max, CM_Min, CM_Insert } |
when you gho from ghost to global, combine with a particular mode More... | |
Protected Attributes inherited from panzer::WriteVector_GlobalEvaluationData | |
panzer::kokkos_utils::VectorToViewTraits < Epetra_Vector >::View | ownedView_ |
The Kokkos::View of the owned vector. More... | |
panzer::kokkos_utils::VectorToViewTraits < Epetra_Vector >::View | ghostedView_ |
The Kokkos::View of the ghosted vector. More... | |
This class encapsulates the needs of a gather operation to do a // halo exchange for blocked vectors. //.
// JMG: What all needs to change for this class?
Definition at line 72 of file Panzer_BlockedVector_Write_GlobalEvaluationData.hpp.
panzer::BlockedVector_Write_GlobalEvaluationData::BlockedVector_Write_GlobalEvaluationData | ( | ) |
Default Constructor.
Definition at line 66 of file Panzer_BlockedVector_Write_GlobalEvaluationData.cpp.
panzer::BlockedVector_Write_GlobalEvaluationData::BlockedVector_Write_GlobalEvaluationData | ( | const BlockedVector_Write_GlobalEvaluationData & | src | ) |
Copy Constructor.
[in] | src | The object to be copied. |
Definition at line 77 of file Panzer_BlockedVector_Write_GlobalEvaluationData.cpp.
panzer::BlockedVector_Write_GlobalEvaluationData::BlockedVector_Write_GlobalEvaluationData | ( | const Teuchos::RCP< const Thyra::VectorSpaceBase< double >> | ghostedSpace, |
const Teuchos::RCP< const Thyra::VectorSpaceBase< double >> | ownedSpace, | ||
const std::vector< Teuchos::RCP< WriteVector_GlobalEvaluationData >> & | gedBlocks | ||
) |
Initializing Constructor.
[in] | ghostedSpace | A DefaultProductVectorSpace corresponding to the ghosted vector. |
[in] | ownedSpace | A DefaultProductVectorSpace corresponding to the owned vector. It's currently ignored, but it's included for future changes. |
[in] | gedBlocks | GlobalEvaluationData objects that handle each block of the vector. |
Definition at line 91 of file Panzer_BlockedVector_Write_GlobalEvaluationData.cpp.
|
inlinevirtual |
Destructor.
Definition at line 111 of file Panzer_BlockedVector_Write_GlobalEvaluationData.hpp.
void panzer::BlockedVector_Write_GlobalEvaluationData::initialize | ( | const Teuchos::RCP< const Thyra::VectorSpaceBase< double >> & | ghostedSpace, |
const Teuchos::RCP< const Thyra::VectorSpaceBase< double >> & | ownedSpace, | ||
const std::vector< Teuchos::RCP< WriteVector_GlobalEvaluationData >> & | gedBlocks | ||
) |
Initialize this object using the sub-GlobalEvaluationData
objects.
You must specify the owned and ghosted spaces. At completion, isInitialized_
will be set to true
.
[in] | ghostedSpace | A DefaultProductVectorSpace corresponding to the ghosted vector. |
[in] | ownedSpace | A DefaultProductVectorSpace corresponding to the owned vector. It's currently ignored, but it's included for future changes. |
[in] | gedBlocks | GlobalEvaluationData objects that handle each block of the vector. |
Definition at line 109 of file Panzer_BlockedVector_Write_GlobalEvaluationData.cpp.
|
inlinevirtual |
Is this object initialized?
Implements panzer::WriteVector_GlobalEvaluationData.
Definition at line 143 of file Panzer_BlockedVector_Write_GlobalEvaluationData.hpp.
|
virtual |
Communicate the ghosted data to the owned vector.
For this class, this method does the halo exchange for the vector.
[in] | mem | Not needed for this class, but part of the GlobalEvaluationData interface. |
Implements panzer::WriteVector_GlobalEvaluationData.
Definition at line 141 of file Panzer_BlockedVector_Write_GlobalEvaluationData.cpp.
|
virtual |
Initialize internal data for communication.
This clears out the ghosted vector. // JMG: Is this right?
Implements panzer::GlobalEvaluationData.
Definition at line 160 of file Panzer_BlockedVector_Write_GlobalEvaluationData.cpp.
|
virtual |
Set the owned vector.
[in] | ownedVector | A Thyra::VectorBase<double> that you would like to set as the owned vector. |
Definition at line 178 of file Panzer_BlockedVector_Write_GlobalEvaluationData.cpp.
|
virtual |
Get the owned vector.
Thyra::VectorBase<double>
. Implements panzer::WriteVector_GlobalEvaluationData.
Definition at line 205 of file Panzer_BlockedVector_Write_GlobalEvaluationData.cpp.
|
virtual |
Get the ghosted vector.
Thyra::VectorBase<double>
. Implements panzer::WriteVector_GlobalEvaluationData.
Definition at line 217 of file Panzer_BlockedVector_Write_GlobalEvaluationData.cpp.
|
inline |
How many blocks do we have?
GlobalEvaluationData
object. Definition at line 200 of file Panzer_BlockedVector_Write_GlobalEvaluationData.hpp.
|
inline |
Get the i
-th block (non const version).
i
-th GlobalEvaluationData
block. Definition at line 211 of file Panzer_BlockedVector_Write_GlobalEvaluationData.hpp.
|
inline |
Get the i
-th block (const version).
i
-th GlobalEvaluationData
block. Definition at line 223 of file Panzer_BlockedVector_Write_GlobalEvaluationData.hpp.
|
inlinevirtual |
Determine if a Dirichlet adjustment is necessary.
For this class, there's nothing to do because it's read-only.
Implements panzer::GlobalEvaluationData.
Definition at line 237 of file Panzer_BlockedVector_Write_GlobalEvaluationData.hpp.
|
private |
A flag indicating whether or not the object has been initialized.
Definition at line 248 of file Panzer_BlockedVector_Write_GlobalEvaluationData.hpp.
|
private |
A vector
of the GlobalEvaluationData
blocks.
Definition at line 253 of file Panzer_BlockedVector_Write_GlobalEvaluationData.hpp.
|
private |
The owned vector.
Definition at line 258 of file Panzer_BlockedVector_Write_GlobalEvaluationData.hpp.
|
private |
The vector space corresponding to the ghosted vector.
Definition at line 264 of file Panzer_BlockedVector_Write_GlobalEvaluationData.hpp.