Xpetra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
Xpetra_ImportFactory.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Xpetra: A linear algebra interface package
4
//
5
// Copyright 2012 NTESS and the Xpetra contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef XPETRA_IMPORTFACTORY_HPP
11
#define XPETRA_IMPORTFACTORY_HPP
12
13
#include "
Xpetra_ConfigDefs.hpp
"
14
15
#include "
Xpetra_Import.hpp
"
16
17
#include "Xpetra_TpetraImport.hpp"
18
19
#include "
Xpetra_Exceptions.hpp
"
20
21
namespace
Xpetra
{
22
23
template
<
class
LocalOrdinal,
24
class
GlobalOrdinal,
25
class
Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
26
class
ImportFactory
{
27
private
:
29
ImportFactory
() {}
30
31
public
:
33
static
RCP<Import<LocalOrdinal, GlobalOrdinal, Node>
>
Build
(
const
RCP
<
const
Map<LocalOrdinal, GlobalOrdinal, Node>
> &source,
34
const
RCP
<
const
Map<LocalOrdinal, GlobalOrdinal, Node>
> &target,
35
const
Teuchos::RCP<Teuchos::ParameterList>
&plist = Teuchos::null) {
36
XPETRA_MONITOR
(
"ImportFactory::Build"
);
37
38
TEUCHOS_TEST_FOR_EXCEPTION
(source->lib() != target->lib(),
Xpetra::Exceptions::RuntimeError
,
""
);
39
40
if
(source->lib() ==
UseTpetra
)
41
return
rcp
(
new
TpetraImport<LocalOrdinal, GlobalOrdinal, Node>
(source, target, plist));
42
43
XPETRA_FACTORY_END
;
44
}
45
};
46
47
}
// namespace Xpetra
48
49
#define XPETRA_IMPORTFACTORY_SHORT
50
#endif
XPETRA_MONITOR
#define XPETRA_MONITOR(funcName)
Xpetra_ConfigDefs.hpp
Xpetra_Exceptions.hpp
XPETRA_FACTORY_END
#define XPETRA_FACTORY_END
Definition
Xpetra_Exceptions.hpp:33
Xpetra_Import.hpp
Teuchos::RCP
Xpetra::Exceptions::RuntimeError
Exception throws to report errors in the internal logical of the program.
Definition
Xpetra_Exceptions.hpp:57
Xpetra::ImportFactory::ImportFactory
ImportFactory()
Private constructor. This is a static class.
Definition
Xpetra_ImportFactory.hpp:29
Xpetra::ImportFactory::Build
static RCP< Import< LocalOrdinal, GlobalOrdinal, Node > > Build(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &source, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &target, const Teuchos::RCP< Teuchos::ParameterList > &plist=Teuchos::null)
Constructor specifying the number of non-zeros for all rows.
Definition
Xpetra_ImportFactory.hpp:33
Xpetra::Map
Definition
Xpetra_Map_decl.hpp:35
Xpetra::TpetraImport
Definition
Xpetra_TpetraImport_decl.hpp:29
TEUCHOS_TEST_FOR_EXCEPTION
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Xpetra
Xpetra namespace
Definition
Xpetra_BlockedCrsMatrix_decl.hpp:52
Xpetra::rcp
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Xpetra::UseTpetra
@ UseTpetra
Definition
Xpetra_Map_decl.hpp:27
src
Import
Xpetra_ImportFactory.hpp
Generated by
1.17.0