Panzer
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
disc-fe
src
Panzer_BlockedVector_Write_GlobalEvaluationData.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ***********************************************************************
3
//
4
// Panzer: A partial differential equation assembly
5
// engine for strongly coupled complex multiphysics systems
6
// Copyright (2011) Sandia Corporation
7
//
8
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9
// the U.S. Government retains certain rights in this software.
10
//
11
// Redistribution and use in source and binary forms, with or without
12
// modification, are permitted provided that the following conditions are
13
// met:
14
//
15
// 1. Redistributions of source code must retain the above copyright
16
// notice, this list of conditions and the following disclaimer.
17
//
18
// 2. Redistributions in binary form must reproduce the above copyright
19
// notice, this list of conditions and the following disclaimer in the
20
// documentation and/or other materials provided with the distribution.
21
//
22
// 3. Neither the name of the Corporation nor the names of the
23
// contributors may be used to endorse or promote products derived from
24
// this software without specific prior written permission.
25
//
26
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
//
38
// Questions? Contact Roger P. Pawlowski (rppawlo@sandia.gov) and
39
// Eric C. Cyr (eccyr@sandia.gov)
40
// ***********************************************************************
41
// @HEADER
42
43
#ifndef __Panzer_BlockedVector_Write_GlobalEvaluationData_hpp__
44
#define __Panzer_BlockedVector_Write_GlobalEvaluationData_hpp__
45
47
//
48
// Include Files
49
//
51
52
// Panzer
53
#include "
Panzer_WriteVector_GlobalEvaluationData.hpp
"
54
56
//
57
// Forward Declarations
58
//
60
61
namespace
Thyra
62
{
63
template
<
typename
>
class
DefaultProductVectorSpace
;
64
}
65
66
namespace
panzer
67
{
//
72
class
BlockedVector_Write_GlobalEvaluationData
//
73
:
//
74
public
WriteVector_GlobalEvaluationData
//
75
{
76
public
:
77
81
BlockedVector_Write_GlobalEvaluationData
();
82
88
BlockedVector_Write_GlobalEvaluationData
(
89
const
BlockedVector_Write_GlobalEvaluationData
& src);
90
102
BlockedVector_Write_GlobalEvaluationData
(
103
const
Teuchos::RCP<
const
Thyra::VectorSpaceBase<double>
> ghostedSpace,
104
const
Teuchos::RCP<
const
Thyra::VectorSpaceBase<double>
> ownedSpace,
105
const
std::vector<Teuchos::RCP<WriteVector_GlobalEvaluationData>>&
106
gedBlocks);
107
111
virtual
~BlockedVector_Write_GlobalEvaluationData
()
112
{
113
}
// end of Destructor
114
130
void
131
initialize
(
132
const
Teuchos::RCP<
const
Thyra::VectorSpaceBase<double>
>& ghostedSpace,
133
const
Teuchos::RCP<
const
Thyra::VectorSpaceBase<double>
>& ownedSpace,
134
const
std::vector<Teuchos::RCP<WriteVector_GlobalEvaluationData>>&
135
gedBlocks);
136
142
virtual
bool
143
isInitialized
()
const
144
{
145
return
isInitialized_
;
146
}
// end of isInitialized()
147
156
virtual
void
157
ghostToGlobal
(
158
int
mem);
159
165
virtual
void
166
initializeData
();
167
174
virtual
void
175
setOwnedVector
(
176
const
Teuchos::RCP<
Thyra::VectorBase<double>
>& ownedVector);
177
183
virtual
Teuchos::RCP<Thyra::VectorBase<double>>
184
getOwnedVector
()
const
;
185
191
virtual
Teuchos::RCP<Thyra::VectorBase<double>>
192
getGhostedVector
()
const
;
193
199
size_t
200
getBlockCount
()
const
201
{
202
return
gedBlocks_
.size();
203
}
// end of getBlockCount()
204
210
Teuchos::RCP<WriteVector_GlobalEvaluationData>
211
getGEDBlock
(
212
int
i)
213
{
214
return
gedBlocks_
[i];
215
}
// end of getGEDBlock()
216
222
Teuchos::RCP<const WriteVector_GlobalEvaluationData>
223
getGEDBlock
(
224
int
i)
const
225
{
226
return
gedBlocks_
[i];
227
}
// end of getGEDBlock()
228
236
bool
237
requiresDirichletAdjustment
()
const
238
{
239
return
false
;
240
}
// end of requiresDirichletAdjustment()
241
242
private
:
243
248
bool
isInitialized_
;
249
253
std::vector<Teuchos::RCP<WriteVector_GlobalEvaluationData>>
gedBlocks_
;
254
258
Teuchos::RCP<Thyra::VectorBase<double>>
ownedVector_
;
259
263
Teuchos::RCP<const Thyra::DefaultProductVectorSpace<double>>
264
ghostedSpace_
;
265
266
};
// end of class BlockedVector_Write_GlobalEvaluationData
267
268
}
// end of namespace panzer
269
270
#endif
// __Panzer_BlockedVector_Write_GlobalEvaluationData_hpp__
Panzer_WriteVector_GlobalEvaluationData.hpp
Thyra::DefaultProductVectorSpace
Definition
Panzer_BlockedVector_ReadOnly_GlobalEvaluationData.hpp:63
Thyra::VectorBase
Thyra::VectorSpaceBase
Definition
Panzer_ThyraObjFactory.hpp:52
panzer::BlockedVector_Write_GlobalEvaluationData::isInitialized_
bool isInitialized_
A flag indicating whether or not the object has been initialized.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.hpp:248
panzer::BlockedVector_Write_GlobalEvaluationData::getGhostedVector
virtual Teuchos::RCP< Thyra::VectorBase< double > > getGhostedVector() const
Get the ghosted vector.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.cpp:217
panzer::BlockedVector_Write_GlobalEvaluationData::requiresDirichletAdjustment
bool requiresDirichletAdjustment() const
Determine if a Dirichlet adjustment is necessary.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.hpp:237
panzer::BlockedVector_Write_GlobalEvaluationData::ghostToGlobal
virtual void ghostToGlobal(int mem)
Communicate the ghosted data to the owned vector.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.cpp:141
panzer::BlockedVector_Write_GlobalEvaluationData::gedBlocks_
std::vector< Teuchos::RCP< WriteVector_GlobalEvaluationData > > gedBlocks_
A vector of the GlobalEvaluationData blocks.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.hpp:253
panzer::BlockedVector_Write_GlobalEvaluationData::getBlockCount
size_t getBlockCount() const
How many blocks do we have?
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.hpp:200
panzer::BlockedVector_Write_GlobalEvaluationData::BlockedVector_Write_GlobalEvaluationData
BlockedVector_Write_GlobalEvaluationData()
Default Constructor.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.cpp:66
panzer::BlockedVector_Write_GlobalEvaluationData::initialize
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.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.cpp:109
panzer::BlockedVector_Write_GlobalEvaluationData::isInitialized
virtual bool isInitialized() const
Is this object initialized?
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.hpp:143
panzer::BlockedVector_Write_GlobalEvaluationData::initializeData
virtual void initializeData()
Initialize internal data for communication.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.cpp:160
panzer::BlockedVector_Write_GlobalEvaluationData::ghostedSpace_
Teuchos::RCP< const Thyra::DefaultProductVectorSpace< double > > ghostedSpace_
The vector space corresponding to the ghosted vector.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.hpp:264
panzer::BlockedVector_Write_GlobalEvaluationData::setOwnedVector
virtual void setOwnedVector(const Teuchos::RCP< Thyra::VectorBase< double > > &ownedVector)
Set the owned vector.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.cpp:178
panzer::BlockedVector_Write_GlobalEvaluationData::~BlockedVector_Write_GlobalEvaluationData
virtual ~BlockedVector_Write_GlobalEvaluationData()
Destructor.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.hpp:111
panzer::BlockedVector_Write_GlobalEvaluationData::getOwnedVector
virtual Teuchos::RCP< Thyra::VectorBase< double > > getOwnedVector() const
Get the owned vector.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.cpp:205
panzer::BlockedVector_Write_GlobalEvaluationData::ownedVector_
Teuchos::RCP< Thyra::VectorBase< double > > ownedVector_
The owned vector.
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.hpp:258
panzer::BlockedVector_Write_GlobalEvaluationData::getGEDBlock
Teuchos::RCP< WriteVector_GlobalEvaluationData > getGEDBlock(int i)
Get the i-th block (non const version).
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.hpp:211
panzer::BlockedVector_Write_GlobalEvaluationData::getGEDBlock
Teuchos::RCP< const WriteVector_GlobalEvaluationData > getGEDBlock(int i) const
Get the i-th block (const version).
Definition
Panzer_BlockedVector_Write_GlobalEvaluationData.hpp:223
panzer::WriteVector_GlobalEvaluationData::WriteVector_GlobalEvaluationData
WriteVector_GlobalEvaluationData()
Default constructor, set combine mode to sum right away.
Definition
Panzer_WriteVector_GlobalEvaluationData.hpp:72
Thyra
Definition
Panzer_GatherSolution_BlockedEpetra_decl.hpp:79
panzer
Computes .
Definition
Panzer_BasisValues_Evaluator_decl.hpp:54
Generated by
1.17.0