Stratimikos
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
adapters
amesos
src
Thyra_AmesosTypes.cpp
1
/*
2
// @HEADER
3
// ***********************************************************************
4
//
5
// Stratimikos: Thyra-based strategies for linear solvers
6
// Copyright (2006) Sandia Corporation
7
//
8
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
9
// license for use of this work by or on behalf of the U.S. Government.
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 Roscoe A. Bartlett (rabartl@sandia.gov)
39
//
40
// ***********************************************************************
41
// @HEADER
42
*/
43
44
#include "Thyra_AmesosTypes.hpp"
45
46
namespace
Thyra {
47
48
const
Amesos::ESolverType Amesos::solverTypeValues[Amesos::numSolverTypes] =
49
{
50
Amesos::LAPACK
51
#ifdef HAVE_AMESOS_KLU
52
,Amesos::KLU
53
#endif
54
#ifdef HAVE_AMESOS_UMFPACK
55
,Amesos::UMFPACK
56
#endif
57
#ifdef HAVE_AMESOS_SUPERLU
58
,Amesos::SUPERLU
59
#endif
60
#ifdef HAVE_AMESOS_SUPERLUDIST
61
,Amesos::SUPERLUDIST
62
#endif
63
#ifdef HAVE_AMESOS_TAUCS
64
,Amesos::TAUCS
65
#endif
66
#ifdef HAVE_AMESOS_PARDISO
67
,Amesos::PARDISO
68
#endif
69
#ifdef HAVE_AMESOS_PASTIX
70
,Amesos::PASTIX
71
#endif
72
#ifdef HAVE_AMESOS_PARAKLETE
73
,Amesos::PARAKLETE
74
#endif
75
#ifdef HAVE_AMESOS_MUMPS
76
,Amesos::MUMPS
77
#endif
78
#ifdef HAVE_AMESOS_SCALAPACK
79
,Amesos::SCALAPACK
80
#endif
81
#ifdef HAVE_AMESOS_DSCPACK
82
,Amesos::DSCPACK
83
#endif
84
};
85
86
const
char
* Amesos::solverTypeNames[Amesos::numSolverTypes] =
87
{
88
"Lapack"
89
#ifdef HAVE_AMESOS_KLU
90
,
"Klu"
91
#endif
92
#ifdef HAVE_AMESOS_UMFPACK
93
,
"Umfpack"
94
#endif
95
#ifdef HAVE_AMESOS_SUPERLU
96
,
"Superlu"
97
#endif
98
#ifdef HAVE_AMESOS_SUPERLUDIST
99
,
"Superludist"
100
#endif
101
#ifdef HAVE_AMESOS_TAUCS
102
,
"Taucs"
103
#endif
104
#ifdef HAVE_AMESOS_PARDISO
105
,
"Pardiso"
106
#endif
107
#ifdef HAVE_AMESOS_PASTIX
108
,
"Pastix"
109
#endif
110
#ifdef HAVE_AMESOS_PARAKLETE
111
,
"Paraklete"
112
#endif
113
#ifdef HAVE_AMESOS_MUMPS
114
,
"Mumps"
115
#endif
116
#ifdef HAVE_AMESOS_SCALAPACK
117
,
"Scalapack"
118
#endif
119
#ifdef HAVE_AMESOS_DSCPACK
120
,
"Dscpack"
121
#endif
122
};
123
124
const
bool
Amesos::supportsUnsymmetric[Amesos::numSolverTypes] =
125
{
126
true
127
#ifdef HAVE_AMESOS_KLU
128
,
true
129
#endif
130
#ifdef HAVE_AMESOS_UMFPACK
131
,
true
132
#endif
133
#ifdef HAVE_AMESOS_SUPERLU
134
,
true
135
#endif
136
#ifdef HAVE_AMESOS_SUPERLUDIST
137
,
true
138
#endif
139
#ifdef HAVE_AMESOS_TAUCS
140
,
false
141
#endif
142
#ifdef HAVE_AMESOS_PARDISO
143
,
true
144
#endif
145
#ifdef HAVE_AMESOS_PASTIX
146
,
true
147
#endif
148
#ifdef HAVE_AMESOS_PARAKLETE
149
,
true
150
#endif
151
#ifdef HAVE_AMESOS_MUMPS
152
,
true
153
#endif
154
#ifdef HAVE_AMESOS_SCALAPACK
155
,
true
156
#endif
157
#ifdef HAVE_AMESOS_DSCPACK
158
,
false
159
#endif
160
};
161
162
Teuchos::StringToIntMap
163
Amesos::solverTypeNameToEnumMap(
164
"Amesos::SolverType"
165
,Amesos::numSolverTypes
166
,Amesos::solverTypeNames
167
);
168
169
const
Amesos::ERefactorizationPolicy Amesos::refactorizationPolicyValues[Amesos::numRefactorizationPolices] =
170
{
171
Amesos::REPIVOT_ON_REFACTORIZATION
172
,Amesos::NO_PIVOT_ON_REFACTORIZATION
173
};
174
175
const
char
* Amesos::refactorizationPolicyNames[Amesos::numRefactorizationPolices] =
176
{
177
"RepivotOnRefactorization"
178
,
"NoPivotOnRefactorization"
179
};
180
181
Teuchos::StringToIntMap
182
Amesos::refactorizationPolicyNameToEnumMap(
183
"Amesos::RefactorizationPolices"
184
,Amesos::numRefactorizationPolices
185
,Amesos::refactorizationPolicyNames
186
);
187
188
}
// namespace Thyra
Generated for Stratimikos by
1.17.0