MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_Details_LinearSolverFactory.cpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // MueLu: A package for multigrid based preconditioning
4 //
5 // Copyright 2012 NTESS and the MueLu contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #include "MueLu_config.hpp"
11 
12 #if defined(HAVE_MUELU_EXPLICIT_INSTANTIATION)
13 
14 // We need both the _decl.hpp and _def.hpp files here, because if ETI
15 // is ON, then the .hpp file will only include the _decl.hpp file.
18 // We need this whether or not ETI is on, in order to define typedefs
19 // for making Tpetra's macros work.
20 #include "TpetraCore_ETIHelperMacros.h"
21 
22 #ifdef HAVE_MUELU_EPETRA
23 // Do explicit instantiation of MueLu::Details::LinearSolverFactory,
24 // for Epetra objects.
26 #endif // HAVE_MUELU_EPETRA
27 
28 // Define typedefs that make the Tpetra macros work
29 TPETRA_ETI_MANGLING_TYPEDEFS()
30 
31 // Do explicit instantiation of MueLu::Details::LinearSolverFactory, for
32 // Tpetra objects, for all combinations of Tpetra template parameters
33 // for which Tpetra does explicit template instantiation (ETI).
34 TPETRA_INSTANTIATE_SLGN_NO_ORDINAL_SCALAR(MUELU_DETAILS_LINEARSOLVERFACTORY_INSTANT)
35 
36 // TODO amk: do we also have to do this for Xpetra?
37 
38 #endif // HAVE_MUELU_EXPLICIT_INSTANTIATION
Interface for a "factory" that creates MueLu solvers.
#define MUELU_DETAILS_LINEARSOLVERFACTORY_INSTANT(SC, LO, GO, NT)
Definition of MueLu::Details::LinearSolverFactory.
Definition of MueLu::Details::LinearSolverFactory.