Thyra Version of the Day
Loading...
Searching...
No Matches
Thyra_SpmdVectorSpaceBase_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_BASE_DECL_HPP
11#define THYRA_SPMD_VECTOR_SPACE_BASE_BASE_DECL_HPP
12
13#include "Thyra_VectorSpaceBase_decl.hpp"
14#include "Teuchos_Comm.hpp"
15
16
17namespace Thyra {
18
19
99template<class Scalar>
100class SpmdVectorSpaceBase : virtual public VectorSpaceBase<Scalar> {
101public:
102
105
109
115 virtual Ordinal localSubDim() const = 0;
116
120 virtual Ordinal localOffset() const = 0;
121
129 virtual Ordinal mapCode() const = 0;
130
132 virtual bool isLocallyReplicated() const = 0;
133
135
136private:
137
138 // Not defined and not to be called
140 operator=(const SpmdVectorSpaceBase<Scalar>&);
141
142};
143
144
145} // end namespace Thyra
146
147
148#endif // THYRA_SPMD_VECTOR_SPACE_BASE_BASE_DECL_HPP
Base abstract VectorSpaceBase class for all SPMD-based vector spaces.
virtual Ordinal localSubDim() const =0
Returns the number of local elements stored on this process.
virtual Teuchos::RCP< const Teuchos::Comm< Ordinal > > getComm() const =0
Returns the SPMD communicator.
virtual Ordinal mapCode() const =0
Returns the code for the mapping of elements to processes.
virtual bool isLocallyReplicated() const =0
Returns true if vector space is locally replicated space.
virtual Ordinal localOffset() const =0
Returns the offset for the local sub-vector stored on this process.
Abstract interface for objects that represent a space for vectors.
Teuchos::Ordinal Ordinal
Type for the dimension of a vector space. `*.