Stratimikos Version of the Day
Loading...
Searching...
No Matches
Thyra_AmesosTypes.cpp
1// @HEADER
2// *****************************************************************************
3// Stratimikos: Thyra-based strategies for linear solvers
4//
5// Copyright 2006 NTESS and the Stratimikos contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#include "Thyra_AmesosTypes.hpp"
11
12namespace Thyra {
13
14const Amesos::ESolverType Amesos::solverTypeValues[Amesos::numSolverTypes] =
15{
16 Amesos::LAPACK
17#ifdef HAVE_AMESOS_KLU
18 ,Amesos::KLU
19#endif
20#ifdef HAVE_AMESOS_UMFPACK
21 ,Amesos::UMFPACK
22#endif
23#ifdef HAVE_AMESOS_SUPERLU
24 ,Amesos::SUPERLU
25#endif
26#ifdef HAVE_AMESOS_SUPERLUDIST
27 ,Amesos::SUPERLUDIST
28#endif
29#ifdef HAVE_AMESOS_TAUCS
30 ,Amesos::TAUCS
31#endif
32#ifdef HAVE_AMESOS_PARDISO
33 ,Amesos::PARDISO
34#endif
35#ifdef HAVE_AMESOS_PASTIX
36 ,Amesos::PASTIX
37#endif
38#ifdef HAVE_AMESOS_PARAKLETE
39 ,Amesos::PARAKLETE
40#endif
41#ifdef HAVE_AMESOS_MUMPS
42 ,Amesos::MUMPS
43#endif
44#ifdef HAVE_AMESOS_SCALAPACK
45 ,Amesos::SCALAPACK
46#endif
47#ifdef HAVE_AMESOS_DSCPACK
48 ,Amesos::DSCPACK
49#endif
50};
51
52const char* Amesos::solverTypeNames[Amesos::numSolverTypes] =
53{
54 "Lapack"
55#ifdef HAVE_AMESOS_KLU
56 ,"Klu"
57#endif
58#ifdef HAVE_AMESOS_UMFPACK
59 ,"Umfpack"
60#endif
61#ifdef HAVE_AMESOS_SUPERLU
62 ,"Superlu"
63#endif
64#ifdef HAVE_AMESOS_SUPERLUDIST
65 ,"Superludist"
66#endif
67#ifdef HAVE_AMESOS_TAUCS
68 ,"Taucs"
69#endif
70#ifdef HAVE_AMESOS_PARDISO
71 ,"Pardiso"
72#endif
73#ifdef HAVE_AMESOS_PASTIX
74 ,"Pastix"
75#endif
76#ifdef HAVE_AMESOS_PARAKLETE
77 ,"Paraklete"
78#endif
79#ifdef HAVE_AMESOS_MUMPS
80 ,"Mumps"
81#endif
82#ifdef HAVE_AMESOS_SCALAPACK
83 ,"Scalapack"
84#endif
85#ifdef HAVE_AMESOS_DSCPACK
86 ,"Dscpack"
87#endif
88};
89
90const bool Amesos::supportsUnsymmetric[Amesos::numSolverTypes] =
91{
92 true
93#ifdef HAVE_AMESOS_KLU
94 ,true
95#endif
96#ifdef HAVE_AMESOS_UMFPACK
97 ,true
98#endif
99#ifdef HAVE_AMESOS_SUPERLU
100 ,true
101#endif
102#ifdef HAVE_AMESOS_SUPERLUDIST
103 ,true
104#endif
105#ifdef HAVE_AMESOS_TAUCS
106 ,false
107#endif
108#ifdef HAVE_AMESOS_PARDISO
109 ,true
110#endif
111#ifdef HAVE_AMESOS_PASTIX
112 ,true
113#endif
114#ifdef HAVE_AMESOS_PARAKLETE
115 ,true
116#endif
117#ifdef HAVE_AMESOS_MUMPS
118 ,true
119#endif
120#ifdef HAVE_AMESOS_SCALAPACK
121 ,true
122#endif
123#ifdef HAVE_AMESOS_DSCPACK
124 ,false
125#endif
126};
127
128Teuchos::StringToIntMap
129Amesos::solverTypeNameToEnumMap(
130 "Amesos::SolverType"
131 ,Amesos::numSolverTypes
132 ,Amesos::solverTypeNames
133 );
134
135const Amesos::ERefactorizationPolicy Amesos::refactorizationPolicyValues[Amesos::numRefactorizationPolices] =
136{
137 Amesos::REPIVOT_ON_REFACTORIZATION
138 ,Amesos::NO_PIVOT_ON_REFACTORIZATION
139};
140
141const char* Amesos::refactorizationPolicyNames[Amesos::numRefactorizationPolices] =
142{
143 "RepivotOnRefactorization"
144 ,"NoPivotOnRefactorization"
145};
146
147Teuchos::StringToIntMap
148Amesos::refactorizationPolicyNameToEnumMap(
149 "Amesos::RefactorizationPolices"
150 ,Amesos::numRefactorizationPolices
151 ,Amesos::refactorizationPolicyNames
152 );
153
154} // namespace Thyra

Generated for Stratimikos by doxygen 1.9.8