Stratimikos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_AmesosTypes.hpp
Go to the documentation of this file.
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 #ifndef THYRA_AMESOS_TYPES_HPP
11 #define THYRA_AMESOS_TYPES_HPP
12 
13 #include "Amesos_ConfigDefs.h"
15 
16 namespace Thyra {
17 
18 namespace Amesos {
19 
25 #ifdef HAVE_AMESOS_KLU
26  ,KLU
27 #endif
28 #ifdef HAVE_AMESOS_UMFPACK
29  ,UMFPACK
30 #endif
31 #ifdef HAVE_AMESOS_SUPERLU
32  ,SUPERLU
33 #endif
34 #ifdef HAVE_AMESOS_SUPERLUDIST
35  ,SUPERLUDIST
36 #endif
37 #ifdef HAVE_AMESOS_TAUCS
38  ,TAUCS
39 #endif
40 #ifdef HAVE_AMESOS_PARDISO
41  ,PARDISO
42 #endif
43 #ifdef HAVE_AMESOS_PASTIX
44  ,PASTIX
45 #endif
46 #ifdef HAVE_AMESOS_PARAKLETE
47  ,PARAKLETE
48 #endif
49 #ifdef HAVE_AMESOS_MUMPS
50  ,MUMPS
51 #endif
52 #ifdef HAVE_AMESOS_SCALAPACK
53  ,SCALAPACK
54 #endif
55 #ifdef HAVE_AMESOS_DSCPACK
56  ,DSCPACK
57 #endif
58 };
59 
63 const int numSolverTypes = 1 // LAPACK
64 #ifdef HAVE_AMESOS_KLU
65 +1
66 #endif
67 #ifdef HAVE_AMESOS_UMFPACK
68 +1
69 #endif
70 #ifdef HAVE_AMESOS_SUPERLU
71 +1
72 #endif
73 #ifdef HAVE_AMESOS_SUPERLUDIST
74 +1
75 #endif
76 #ifdef HAVE_AMESOS_TAUCS
77 +1
78 #endif
79 #ifdef HAVE_AMESOS_PARDISO
80 +1
81 #endif
82 #ifdef HAVE_AMESOS_PASTIX
83 +1
84 #endif
85 #ifdef HAVE_AMESOS_PARAKLETE
86 +1
87 #endif
88 #ifdef HAVE_AMESOS_MUMPS
89 +1
90 #endif
91 #ifdef HAVE_AMESOS_SCALAPACK
92 +1
93 #endif
94 #ifdef HAVE_AMESOS_DSCPACK
95 +1
96 #endif
97 ;
98 
103 
107 extern const char* solverTypeNames[numSolverTypes];
108 
112 extern const bool supportsUnsymmetric[numSolverTypes];
113 
117 inline const char* toString(const ESolverType solverType)
118 { return solverTypeNames[solverType]; }
119 
124 
131 };
132 
137 
142 
145 
149 inline const char* toString(const ERefactorizationPolicy refactorizationPolicy)
150 { return refactorizationPolicyNames[refactorizationPolicy]; }
151 
156 
157 } // namespace Amesos
158 
159 } // namespace Thyra
160 
161 #endif // THYRA_AMESOS_TYPES_HPP
ERefactorizationPolicy
The policy used on refactoring a matrix.
No piviting, or only minor repivoting, will be used on refactorizations!
Teuchos::StringToIntMap refactorizationPolicyNameToEnumMap
const ERefactorizationPolicy refactorizationPolicyValues[numRefactorizationPolices]
const int numRefactorizationPolices
const char * solverTypeNames[numSolverTypes]
const int numSolverTypes
const char * refactorizationPolicyNames[numRefactorizationPolices]
Teuchos::StringToIntMap solverTypeNameToEnumMap
const ESolverType solverTypeValues[numSolverTypes]
Completely new pivoting will be used on refactorizations!
const bool supportsUnsymmetric[numSolverTypes]
const char * toString(const ESolverType solverType)