Thyra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
core
src
support
operator_vector
adapter_support
Thyra_SpmdVectorSpaceDefaultBase_decl.hpp
1
// @HEADER
2
// *****************************************************************************
3
// Thyra: Interfaces and Support for Abstract Numerical Algorithms
4
//
5
// Copyright 2004 NTESS and the Thyra contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef THYRA_SPMD_VECTOR_SPACE_BASE_DECL_HPP
11
#define THYRA_SPMD_VECTOR_SPACE_BASE_DECL_HPP
12
13
#include "Thyra_SpmdVectorSpaceBase.hpp"
14
#include "Thyra_ScalarProdVectorSpaceBase_decl.hpp"
15
16
namespace
Thyra {
17
60
template
<
class
Scalar>
61
class
SpmdVectorSpaceDefaultBase
62
:
virtual
public
SpmdVectorSpaceBase
<Scalar>
63
,
virtual
public
ScalarProdVectorSpaceBase
<Scalar>
64
{
65
public
:
66
68
SpmdVectorSpaceDefaultBase
();
69
72
83
Ordinal
localOffset
()
const
;
84
109
Ordinal
mapCode
()
const
;
110
112
bool
isLocallyReplicated
()
const
;
113
115
118
119
std::string
description
()
const
;
121
124
127
Ordinal
dim
()
const
;
128
131
Teuchos::RCP< const VectorSpaceFactoryBase<Scalar>
>
smallVecSpcFcty
()
const
;
132
157
bool
isCompatible
(
const
VectorSpaceBase<Scalar>
& vecSpc)
const
;
158
160
161
protected
:
162
190
virtual
void
updateState
(
const
Ordinal globalDim,
191
const
bool
isLocallyReplicated
=
false
);
192
193
private
:
194
195
// //////////////////////////////////////
196
// Private data members
197
198
Ordinal mapCode_;
// < 0 is a flag that everything needs initialized
199
Ordinal defaultLocalOffset_;
200
Ordinal defaultGlobalDim_;
201
Ordinal localSubDim_;
202
bool
isLocallyReplicated_;
203
204
Teuchos::RCP< const VectorSpaceFactoryBase<Scalar>
> smallVecSpcFcty_;
205
206
};
// end class SpmdVectorSpaceDefaultBase
207
208
}
// end namespace Thyra
209
210
#endif
// THYRA_SPMD_VECTOR_SPACE_BASE_DECL_HPP
Teuchos::RCP
Thyra::ScalarProdVectorSpaceBase::ScalarProdVectorSpaceBase
ScalarProdVectorSpaceBase()
Construct to use dot product as the default.
Definition
Thyra_ScalarProdVectorSpaceBase_def.hpp:26
Thyra::SpmdVectorSpaceBase
Base abstract VectorSpaceBase class for all SPMD-based vector spaces.
Definition
Thyra_SpmdVectorSpaceBase_decl.hpp:100
Thyra::SpmdVectorSpaceDefaultBase::updateState
virtual void updateState(const Ordinal globalDim, const bool isLocallyReplicated=false)
This function must be called whenever the state of this changes and some internal state must be updat...
Definition
Thyra_SpmdVectorSpaceDefaultBase_def.hpp:133
Thyra::SpmdVectorSpaceDefaultBase::description
std::string description() const
Definition
Thyra_SpmdVectorSpaceDefaultBase_def.hpp:55
Thyra::SpmdVectorSpaceDefaultBase::smallVecSpcFcty
Teuchos::RCP< const VectorSpaceFactoryBase< Scalar > > smallVecSpcFcty() const
Returns a DefaultSpmdVectorSpaceFactory object that has been given getComm().
Definition
Thyra_SpmdVectorSpaceDefaultBase_def.hpp:88
Thyra::SpmdVectorSpaceDefaultBase::localOffset
Ordinal localOffset() const
Definition
Thyra_SpmdVectorSpaceDefaultBase_def.hpp:34
Thyra::SpmdVectorSpaceDefaultBase::isLocallyReplicated
bool isLocallyReplicated() const
Returns true if vector space is locally replicated space.
Definition
Thyra_SpmdVectorSpaceDefaultBase_def.hpp:48
Thyra::SpmdVectorSpaceDefaultBase::mapCode
Ordinal mapCode() const
Definition
Thyra_SpmdVectorSpaceDefaultBase_def.hpp:41
Thyra::SpmdVectorSpaceDefaultBase::SpmdVectorSpaceDefaultBase
SpmdVectorSpaceDefaultBase()
Definition
Thyra_SpmdVectorSpaceDefaultBase_def.hpp:24
Thyra::SpmdVectorSpaceDefaultBase::dim
Ordinal dim() const
Returns the sum of the local number of elements on every process.
Definition
Thyra_SpmdVectorSpaceDefaultBase_def.hpp:80
Thyra::SpmdVectorSpaceDefaultBase::isCompatible
bool isCompatible(const VectorSpaceBase< Scalar > &vecSpc) const
Checks the general compatibility of parallel (or serial on one process) Spmd-based vector spaces.
Definition
Thyra_SpmdVectorSpaceDefaultBase_def.hpp:95
Thyra::VectorSpaceBase
Abstract interface for objects that represent a space for vectors.
Definition
Thyra_VectorSpaceBase_decl.hpp:267
Generated by
1.17.0