Xpetra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
Xpetra_Import.hpp
Go to the documentation of this file.
1
// @HEADER
2
//
3
// ***********************************************************************
4
//
5
// Xpetra: A linear algebra interface package
6
// Copyright 2012 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
39
// Jonathan Hu (jhu@sandia.gov)
40
// Andrey Prokopenko (aprokop@sandia.gov)
41
// Ray Tuminaro (rstumin@sandia.gov)
42
//
43
// ***********************************************************************
44
//
45
// @HEADER
46
#ifndef XPETRA_IMPORT_HPP
47
#define XPETRA_IMPORT_HPP
48
49
/* this file is automatically generated - do not edit (see script/interfaces.py) */
50
51
#include <Tpetra_KokkosCompat_DefaultNode.hpp>
52
#include <Teuchos_Describable.hpp>
53
#include <
Teuchos_as.hpp
>
54
#include "Xpetra_Map.hpp"
55
#include <iterator>
56
57
namespace
Xpetra
{
58
59
template
<
class
LocalOrdinal,
60
class
GlobalOrdinal,
61
class
Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
62
class
Import
63
:
public
Teuchos::Describable
64
{
65
public
:
66
typedef
LocalOrdinal
local_ordinal_type
;
67
typedef
GlobalOrdinal
global_ordinal_type
;
68
typedef
Node
node_type
;
69
typedef
Map<LocalOrdinal,GlobalOrdinal,Node>
map_type
;
70
72
73
75
virtual
~Import
() { }
76
78
virtual
Teuchos::RCP<const Import<LocalOrdinal, GlobalOrdinal, Node>
>
79
createRemoteOnlyImport
(
const
Teuchos::RCP<const map_type>
& remoteTarget)
const
= 0;
80
82
84
85
87
virtual
size_t
getNumSameIDs
()
const
= 0;
88
90
virtual
size_t
getNumPermuteIDs
()
const
= 0;
91
93
virtual
ArrayView< const LocalOrdinal >
getPermuteFromLIDs
()
const
= 0;
94
96
virtual
ArrayView< const LocalOrdinal >
getPermuteToLIDs
()
const
= 0;
97
99
virtual
size_t
getNumRemoteIDs
()
const
= 0;
100
102
virtual
ArrayView< const LocalOrdinal >
getRemoteLIDs
()
const
= 0;
103
105
virtual
size_t
getNumExportIDs
()
const
= 0;
106
108
virtual
ArrayView< const LocalOrdinal >
getExportLIDs
()
const
= 0;
109
111
virtual
ArrayView< const int >
getExportPIDs
()
const
= 0;
112
114
virtual
Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node >
>
getSourceMap
()
const
= 0;
115
117
virtual
Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node >
>
getTargetMap
()
const
= 0;
118
120
virtual
void
setDistributorParameters
(
const
Teuchos::RCP<Teuchos::ParameterList>
params)
const
= 0;
121
123
125
126
128
virtual
void
print
(std::ostream &os)
const
= 0;
129
131
132
};
// Import class
133
134
}
// Xpetra namespace
135
136
#define XPETRA_IMPORT_SHORT
137
#endif
// XPETRA_IMPORT_HPP
Teuchos_as.hpp
Teuchos::ArrayView
Teuchos::Describable
Teuchos::RCP
Xpetra::Import
Definition
Xpetra_Import.hpp:64
Xpetra::Import::getRemoteLIDs
virtual ArrayView< const LocalOrdinal > getRemoteLIDs() const =0
List of entries in the target Map to receive from other processes.
Xpetra::Import::getNumExportIDs
virtual size_t getNumExportIDs() const =0
Number of entries that must be sent by the calling process to other processes.
Xpetra::Import::getExportLIDs
virtual ArrayView< const LocalOrdinal > getExportLIDs() const =0
List of entries in the source Map that will be sent to other processes.
Xpetra::Import::getPermuteToLIDs
virtual ArrayView< const LocalOrdinal > getPermuteToLIDs() const =0
List of local IDs in the target Map that are permuted.
Xpetra::Import::getNumRemoteIDs
virtual size_t getNumRemoteIDs() const =0
Number of entries not on the calling process.
Xpetra::Import::getPermuteFromLIDs
virtual ArrayView< const LocalOrdinal > getPermuteFromLIDs() const =0
List of local IDs in the source Map that are permuted.
Xpetra::Import::getSourceMap
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getSourceMap() const =0
The Source Map used to construct this Import object.
Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node >::map_type
Map< LocalOrdinal, GlobalOrdinal, Node > map_type
Definition
Xpetra_Import.hpp:69
Xpetra::Import::createRemoteOnlyImport
virtual Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > createRemoteOnlyImport(const Teuchos::RCP< const map_type > &remoteTarget) const =0
Special "constructor".
Xpetra::Import::getNumSameIDs
virtual size_t getNumSameIDs() const =0
Number of initial identical IDs.
Xpetra::Import::getNumPermuteIDs
virtual size_t getNumPermuteIDs() const =0
Number of IDs to permute but not to communicate.
Xpetra::Import::~Import
virtual ~Import()
Destructor.
Definition
Xpetra_Import.hpp:75
Xpetra::Import::getExportPIDs
virtual ArrayView< const int > getExportPIDs() const =0
List of processes to which entries will be sent.
Xpetra::Import::setDistributorParameters
virtual void setDistributorParameters(const Teuchos::RCP< Teuchos::ParameterList > params) const =0
Set parameters on the underlying object.
Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type
GlobalOrdinal global_ordinal_type
Definition
Xpetra_Import.hpp:67
Xpetra::Import::print
virtual void print(std::ostream &os) const =0
Print the Import's data to the given output stream.
Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node >::node_type
Node node_type
Definition
Xpetra_Import.hpp:68
Xpetra::Import::getTargetMap
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getTargetMap() const =0
The Target Map used to construct this Import object.
Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type
LocalOrdinal local_ordinal_type
Definition
Xpetra_Import.hpp:66
Xpetra::Map
Definition
Xpetra_Map_decl.hpp:89
Xpetra
Xpetra namespace
Definition
Xpetra_BlockedCrsMatrix.hpp:89
src
Import
Xpetra_Import.hpp
Generated by
1.17.0