Stratimikos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Thyra_AmesosTypes.cpp
Go to the documentation of this file.
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
46namespace Thyra {
47
49{
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
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
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
162Teuchos::StringToIntMap
164 "Amesos::SolverType"
167 );
168
174
176{
177 "RepivotOnRefactorization"
178 ,"NoPivotOnRefactorization"
179};
180
181Teuchos::StringToIntMap
183 "Amesos::RefactorizationPolices"
186 );
187
188} // namespace Thyra
Teuchos::StringToIntMap refactorizationPolicyNameToEnumMap
Teuchos::StringToIntMap solverTypeNameToEnumMap
const ESolverType solverTypeValues[numSolverTypes]
const ERefactorizationPolicy refactorizationPolicyValues[numRefactorizationPolices]
ERefactorizationPolicy
The policy used on refactoring a matrix.
const char * solverTypeNames[numSolverTypes]
const bool supportsUnsymmetric[numSolverTypes]
const int numRefactorizationPolices
@ REPIVOT_ON_REFACTORIZATION
Completely new pivoting will be used on refactorizations!
@ NO_PIVOT_ON_REFACTORIZATION
No piviting, or only minor repivoting, will be used on refactorizations!
const char * refactorizationPolicyNames[numRefactorizationPolices]