|
Stratimikos Package Browser (Single Doxygen Collection)
Version of the Day
|
00001 /* 00002 // @HEADER 00003 // *********************************************************************** 00004 // 00005 // Amesos: Direct Sparse Solver Package 00006 // Copyright (2004) Sandia Corporation 00007 // 00008 // Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive 00009 // license for use of this work by or on behalf of the U.S. Government. 00010 // 00011 // This library is free software; you can redistribute it and/or modify 00012 // it under the terms of the GNU Lesser General Public License as 00013 // published by the Free Software Foundation; either version 2.1 of the 00014 // License, or (at your option) any later version. 00015 // 00016 // This library is distributed in the hope that it will be useful, but 00017 // WITHOUT ANY WARRANTY; without even the implied warranty of 00018 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00019 // Lesser General Public License for more details. 00020 // 00021 // You should have received a copy of the GNU Lesser General Public 00022 // License along with this library; if not, write to the Free Software 00023 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00024 // USA 00025 // Questions? Contact Michael A. Heroux (maherou@sandia.gov) 00026 // 00027 // *********************************************************************** 00028 // @HEADER 00029 */ 00030 00031 #include "Thyra_AmesosTypes.hpp" 00032 00033 namespace Thyra { 00034 00035 const Amesos::ESolverType Amesos::solverTypeValues[Amesos::numSolverTypes] = 00036 { 00037 Amesos::LAPACK 00038 #ifdef HAVE_AMESOS_KLU 00039 ,Amesos::KLU 00040 #endif 00041 #ifdef HAVE_AMESOS_UMFPACK 00042 ,Amesos::UMFPACK 00043 #endif 00044 #ifdef HAVE_AMESOS_SUPERLU 00045 ,Amesos::SUPERLU 00046 #endif 00047 #ifdef HAVE_AMESOS_SUPERLUDIST 00048 ,Amesos::SUPERLUDIST 00049 #endif 00050 #ifdef HAVE_AMESOS_TAUCS 00051 ,Amesos::TAUCS 00052 #endif 00053 #ifdef HAVE_AMESOS_PARDISO 00054 ,Amesos::PARDISO 00055 #endif 00056 #ifdef HAVE_AMESOS_PASTIX 00057 ,Amesos::PASTIX 00058 #endif 00059 #ifdef HAVE_AMESOS_PARAKLETE 00060 ,Amesos::PARAKLETE 00061 #endif 00062 #ifdef HAVE_AMESOS_MUMPS 00063 ,Amesos::MUMPS 00064 #endif 00065 #ifdef HAVE_AMESOS_SCALAPACK 00066 ,Amesos::SCALAPACK 00067 #endif 00068 #ifdef HAVE_AMESOS_DSCPACK 00069 ,Amesos::DSCPACK 00070 #endif 00071 }; 00072 00073 const char* Amesos::solverTypeNames[Amesos::numSolverTypes] = 00074 { 00075 "Lapack" 00076 #ifdef HAVE_AMESOS_KLU 00077 ,"Klu" 00078 #endif 00079 #ifdef HAVE_AMESOS_UMFPACK 00080 ,"Umfpack" 00081 #endif 00082 #ifdef HAVE_AMESOS_SUPERLU 00083 ,"Superlu" 00084 #endif 00085 #ifdef HAVE_AMESOS_SUPERLUDIST 00086 ,"Superludist" 00087 #endif 00088 #ifdef HAVE_AMESOS_TAUCS 00089 ,"Taucs" 00090 #endif 00091 #ifdef HAVE_AMESOS_PARDISO 00092 ,"Pardiso" 00093 #endif 00094 #ifdef HAVE_AMESOS_PASTIX 00095 ,"Pastix" 00096 #endif 00097 #ifdef HAVE_AMESOS_PARAKLETE 00098 ,"Paraklete" 00099 #endif 00100 #ifdef HAVE_AMESOS_MUMPS 00101 ,"Mumps" 00102 #endif 00103 #ifdef HAVE_AMESOS_SCALAPACK 00104 ,"Scalapack" 00105 #endif 00106 #ifdef HAVE_AMESOS_DSCPACK 00107 ,"Dscpack" 00108 #endif 00109 }; 00110 00111 const bool Amesos::supportsUnsymmetric[Amesos::numSolverTypes] = 00112 { 00113 true 00114 #ifdef HAVE_AMESOS_KLU 00115 ,true 00116 #endif 00117 #ifdef HAVE_AMESOS_UMFPACK 00118 ,true 00119 #endif 00120 #ifdef HAVE_AMESOS_SUPERLU 00121 ,true 00122 #endif 00123 #ifdef HAVE_AMESOS_SUPERLUDIST 00124 ,true 00125 #endif 00126 #ifdef HAVE_AMESOS_TAUCS 00127 ,false 00128 #endif 00129 #ifdef HAVE_AMESOS_PARDISO 00130 ,true 00131 #endif 00132 #ifdef HAVE_AMESOS_PASTIX 00133 ,true 00134 #endif 00135 #ifdef HAVE_AMESOS_PARAKLETE 00136 ,true 00137 #endif 00138 #ifdef HAVE_AMESOS_MUMPS 00139 ,true 00140 #endif 00141 #ifdef HAVE_AMESOS_SCALAPACK 00142 ,true 00143 #endif 00144 #ifdef HAVE_AMESOS_DSCPACK 00145 ,false 00146 #endif 00147 }; 00148 00149 Teuchos::StringToIntMap 00150 Amesos::solverTypeNameToEnumMap( 00151 "Amesos::SolverType" 00152 ,Amesos::numSolverTypes 00153 ,Amesos::solverTypeNames 00154 ); 00155 00156 const Amesos::ERefactorizationPolicy Amesos::refactorizationPolicyValues[Amesos::numRefactorizationPolices] = 00157 { 00158 Amesos::REPIVOT_ON_REFACTORIZATION 00159 ,Amesos::NO_PIVOT_ON_REFACTORIZATION 00160 }; 00161 00162 const char* Amesos::refactorizationPolicyNames[Amesos::numRefactorizationPolices] = 00163 { 00164 "RepivotOnRefactorization" 00165 ,"NoPivotOnRefactorization" 00166 }; 00167 00168 Teuchos::StringToIntMap 00169 Amesos::refactorizationPolicyNameToEnumMap( 00170 "Amesos::RefactorizationPolices" 00171 ,Amesos::numRefactorizationPolices 00172 ,Amesos::refactorizationPolicyNames 00173 ); 00174 00175 } // namespace Thyra
1.7.6.1