44 #ifndef THYRA_AMESOS_TYPES_HPP 45 #define THYRA_AMESOS_TYPES_HPP 47 #include "Amesos_ConfigDefs.h" 48 #include "Teuchos_StringToIntMap.hpp" 59 #ifdef HAVE_AMESOS_KLU 62 #ifdef HAVE_AMESOS_UMFPACK 65 #ifdef HAVE_AMESOS_SUPERLU 68 #ifdef HAVE_AMESOS_SUPERLUDIST 71 #ifdef HAVE_AMESOS_TAUCS 74 #ifdef HAVE_AMESOS_PARDISO 77 #ifdef HAVE_AMESOS_PASTIX 80 #ifdef HAVE_AMESOS_PARAKLETE 83 #ifdef HAVE_AMESOS_MUMPS 86 #ifdef HAVE_AMESOS_SCALAPACK 89 #ifdef HAVE_AMESOS_DSCPACK 97 const int numSolverTypes = 1
98 #ifdef HAVE_AMESOS_KLU 101 #ifdef HAVE_AMESOS_UMFPACK 104 #ifdef HAVE_AMESOS_SUPERLU 107 #ifdef HAVE_AMESOS_SUPERLUDIST 110 #ifdef HAVE_AMESOS_TAUCS 113 #ifdef HAVE_AMESOS_PARDISO 116 #ifdef HAVE_AMESOS_PASTIX 119 #ifdef HAVE_AMESOS_PARAKLETE 122 #ifdef HAVE_AMESOS_MUMPS 125 #ifdef HAVE_AMESOS_SCALAPACK 128 #ifdef HAVE_AMESOS_DSCPACK 136 extern const ESolverType solverTypeValues[numSolverTypes];
141 extern const char* solverTypeNames[numSolverTypes];
146 extern const bool supportsUnsymmetric[numSolverTypes];
151 inline const char* toString(
const ESolverType solverType)
152 {
return solverTypeNames[solverType]; }
157 extern Teuchos::StringToIntMap solverTypeNameToEnumMap;
162 enum ERefactorizationPolicy {
163 REPIVOT_ON_REFACTORIZATION
164 ,NO_PIVOT_ON_REFACTORIZATION
170 const int numRefactorizationPolices = 2;
175 extern const ERefactorizationPolicy refactorizationPolicyValues[numRefactorizationPolices];
178 extern const char* refactorizationPolicyNames[numRefactorizationPolices];
183 inline const char* toString(
const ERefactorizationPolicy refactorizationPolicy)
184 {
return refactorizationPolicyNames[refactorizationPolicy]; }
189 extern Teuchos::StringToIntMap refactorizationPolicyNameToEnumMap;
195 #endif // THYRA_AMESOS_TYPES_HPP