Stratimikos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Thyra_Amesos2Types.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
45
46namespace Thyra {
47
49{
51#ifdef HAVE_AMESOS2_LAPACK
52 ,Amesos2::LAPACK
53#endif
54#ifdef HAVE_AMESOS2_SUPERLU
55 ,Amesos2::SUPERLU
56#endif
57#ifdef HAVE_AMESOS2_SUPERLUMT
58 ,Amesos2::SUPERLUMT
59#endif
60#ifdef HAVE_AMESOS2_SUPERLUDIST
61 ,Amesos2::SUPERLUDIST
62#endif
63#ifdef HAVE_AMESOS2_PARDISO_MKL
64 ,Amesos2::PARDISO_MKL
65#endif
66#ifdef HAVE_AMESOS2_CHOLMOD
67 ,Amesos2::CHOLMOD
68#endif
69#ifdef HAVE_AMESOS2_BASKER
70 ,Amesos2::BASKER
71#endif
72#ifdef HAVE_AMESOS2_MUMPS
73 ,Amesos2::MUMPS
74#endif
75};
76
78{
79 "KLU2"
80#ifdef HAVE_AMESOS2_LAPACK
81 ,"LAPACK"
82#endif
83#ifdef HAVE_AMESOS2_SUPERLU
84 ,"SuperLU"
85#endif
86#ifdef HAVE_AMESOS2_SUPERLUMT
87 ,"SuperLU_MT"
88#endif
89#ifdef HAVE_AMESOS2_SUPERLUDIST
90 ,"SuperLU_DIST"
91#endif
92#ifdef HAVE_AMESOS2_PARDISO_MKL
93 ,"PARDISOMKL"
94#endif
95#ifdef HAVE_AMESOS2_CHOLMOD
96 ,"Cholmod"
97#endif
98#ifdef HAVE_AMESOS2_BASKER
99 ,"Basker"
100#endif
101#ifdef HAVE_AMESOS2_MUMPS
102 ,"MUMPS"
103#endif
104};
105
107{
108 true
109#ifdef HAVE_AMESOS2_LAPACK
110 ,true
111#endif
112#ifdef HAVE_AMESOS2_SUPERLU
113 ,true
114#endif
115#ifdef HAVE_AMESOS2_SUPERLUMT
116 ,true
117#endif
118#ifdef HAVE_AMESOS2_SUPERLUDIST
119 ,true
120#endif
121#ifdef HAVE_AMESOS2_PARDISO_MKL
122 ,true
123#endif
124#ifdef HAVE_AMESOS2_CHOLMOD
125 ,false //don't know, being conservative
126#endif
127#ifdef HAVE_AMESOS2_BASKER
128 ,false //don't know, being conservative
129#endif
130#ifdef HAVE_AMESOS2_MUMPS
131 ,true
132#endif
133};
134
135Teuchos::StringToIntMap
137 "Amesos2::SolverType"
140 );
141
147
149{
150 "RepivotOnRefactorization"
151 ,"NoPivotOnRefactorization"
152};
153
154Teuchos::StringToIntMap
156 "Amesos2::RefactorizationPolices"
159 );
160
161} // namespace Thyra
const int numRefactorizationPolices
ERefactorizationPolicy
The policy used on refactoring a matrix.
@ NO_PIVOT_ON_REFACTORIZATION
No piviting, or only minor repivoting, will be used on refactorizations!
@ REPIVOT_ON_REFACTORIZATION
Completely new pivoting will be used on refactorizations!
const ERefactorizationPolicy refactorizationPolicyValues[numRefactorizationPolices]
const char * solverTypeNames[numSolverTypes]
Teuchos::StringToIntMap refactorizationPolicyNameToEnumMap
const bool supportsUnsymmetric[numSolverTypes]
const ESolverType solverTypeValues[numSolverTypes]
const char * refactorizationPolicyNames[numRefactorizationPolices]
Teuchos::StringToIntMap solverTypeNameToEnumMap