|
Stratimikos Package Browser (Single Doxygen Collection)
Version of the Day
|
00001 /* 00002 // @HEADER 00003 // *********************************************************************** 00004 // 00005 // Stratimikos: Thyra-based strategies for linear solvers 00006 // Copyright (2006) 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 // Redistribution and use in source and binary forms, with or without 00012 // modification, are permitted provided that the following conditions are 00013 // met: 00014 // 00015 // 1. Redistributions of source code must retain the above copyright 00016 // notice, this list of conditions and the following disclaimer. 00017 // 00018 // 2. Redistributions in binary form must reproduce the above copyright 00019 // notice, this list of conditions and the following disclaimer in the 00020 // documentation and/or other materials provided with the distribution. 00021 // 00022 // 3. Neither the name of the Corporation nor the names of the 00023 // contributors may be used to endorse or promote products derived from 00024 // this software without specific prior written permission. 00025 // 00026 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY 00027 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00028 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00029 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE 00030 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00031 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00032 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00033 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00034 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00035 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00036 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00037 // 00038 // Questions? Contact Roscoe A. Bartlett (rabartl@sandia.gov) 00039 // 00040 // *********************************************************************** 00041 // @HEADER 00042 */ 00043 00044 #include "Thyra_AmesosTypes.hpp" 00045 00046 namespace Thyra { 00047 00048 const Amesos::ESolverType Amesos::solverTypeValues[Amesos::numSolverTypes] = 00049 { 00050 Amesos::LAPACK 00051 #ifdef HAVE_AMESOS_KLU 00052 ,Amesos::KLU 00053 #endif 00054 #ifdef HAVE_AMESOS_UMFPACK 00055 ,Amesos::UMFPACK 00056 #endif 00057 #ifdef HAVE_AMESOS_SUPERLU 00058 ,Amesos::SUPERLU 00059 #endif 00060 #ifdef HAVE_AMESOS_SUPERLUDIST 00061 ,Amesos::SUPERLUDIST 00062 #endif 00063 #ifdef HAVE_AMESOS_TAUCS 00064 ,Amesos::TAUCS 00065 #endif 00066 #ifdef HAVE_AMESOS_PARDISO 00067 ,Amesos::PARDISO 00068 #endif 00069 #ifdef HAVE_AMESOS_PASTIX 00070 ,Amesos::PASTIX 00071 #endif 00072 #ifdef HAVE_AMESOS_PARAKLETE 00073 ,Amesos::PARAKLETE 00074 #endif 00075 #ifdef HAVE_AMESOS_MUMPS 00076 ,Amesos::MUMPS 00077 #endif 00078 #ifdef HAVE_AMESOS_SCALAPACK 00079 ,Amesos::SCALAPACK 00080 #endif 00081 #ifdef HAVE_AMESOS_DSCPACK 00082 ,Amesos::DSCPACK 00083 #endif 00084 }; 00085 00086 const char* Amesos::solverTypeNames[Amesos::numSolverTypes] = 00087 { 00088 "Lapack" 00089 #ifdef HAVE_AMESOS_KLU 00090 ,"Klu" 00091 #endif 00092 #ifdef HAVE_AMESOS_UMFPACK 00093 ,"Umfpack" 00094 #endif 00095 #ifdef HAVE_AMESOS_SUPERLU 00096 ,"Superlu" 00097 #endif 00098 #ifdef HAVE_AMESOS_SUPERLUDIST 00099 ,"Superludist" 00100 #endif 00101 #ifdef HAVE_AMESOS_TAUCS 00102 ,"Taucs" 00103 #endif 00104 #ifdef HAVE_AMESOS_PARDISO 00105 ,"Pardiso" 00106 #endif 00107 #ifdef HAVE_AMESOS_PASTIX 00108 ,"Pastix" 00109 #endif 00110 #ifdef HAVE_AMESOS_PARAKLETE 00111 ,"Paraklete" 00112 #endif 00113 #ifdef HAVE_AMESOS_MUMPS 00114 ,"Mumps" 00115 #endif 00116 #ifdef HAVE_AMESOS_SCALAPACK 00117 ,"Scalapack" 00118 #endif 00119 #ifdef HAVE_AMESOS_DSCPACK 00120 ,"Dscpack" 00121 #endif 00122 }; 00123 00124 const bool Amesos::supportsUnsymmetric[Amesos::numSolverTypes] = 00125 { 00126 true 00127 #ifdef HAVE_AMESOS_KLU 00128 ,true 00129 #endif 00130 #ifdef HAVE_AMESOS_UMFPACK 00131 ,true 00132 #endif 00133 #ifdef HAVE_AMESOS_SUPERLU 00134 ,true 00135 #endif 00136 #ifdef HAVE_AMESOS_SUPERLUDIST 00137 ,true 00138 #endif 00139 #ifdef HAVE_AMESOS_TAUCS 00140 ,false 00141 #endif 00142 #ifdef HAVE_AMESOS_PARDISO 00143 ,true 00144 #endif 00145 #ifdef HAVE_AMESOS_PASTIX 00146 ,true 00147 #endif 00148 #ifdef HAVE_AMESOS_PARAKLETE 00149 ,true 00150 #endif 00151 #ifdef HAVE_AMESOS_MUMPS 00152 ,true 00153 #endif 00154 #ifdef HAVE_AMESOS_SCALAPACK 00155 ,true 00156 #endif 00157 #ifdef HAVE_AMESOS_DSCPACK 00158 ,false 00159 #endif 00160 }; 00161 00162 Teuchos::StringToIntMap 00163 Amesos::solverTypeNameToEnumMap( 00164 "Amesos::SolverType" 00165 ,Amesos::numSolverTypes 00166 ,Amesos::solverTypeNames 00167 ); 00168 00169 const Amesos::ERefactorizationPolicy Amesos::refactorizationPolicyValues[Amesos::numRefactorizationPolices] = 00170 { 00171 Amesos::REPIVOT_ON_REFACTORIZATION 00172 ,Amesos::NO_PIVOT_ON_REFACTORIZATION 00173 }; 00174 00175 const char* Amesos::refactorizationPolicyNames[Amesos::numRefactorizationPolices] = 00176 { 00177 "RepivotOnRefactorization" 00178 ,"NoPivotOnRefactorization" 00179 }; 00180 00181 Teuchos::StringToIntMap 00182 Amesos::refactorizationPolicyNameToEnumMap( 00183 "Amesos::RefactorizationPolices" 00184 ,Amesos::numRefactorizationPolices 00185 ,Amesos::refactorizationPolicyNames 00186 ); 00187 00188 } // namespace Thyra
1.7.6.1