Logo  0.95.0-final
Finite Element Embedded Library and Language in C++
Feel++ Feel++ on Github Feel++ community
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
feelalg/enums.hpp
1 /* -*- mode: c++; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; show-trailing-whitespace: t -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2 
3  This file is part of the Feel library
4 
5  Author(s): Christophe Prud'homme <christophe.prudhomme@feelpp.org>
6  Date: 2005-11-27
7 
8  Copyright (C) 2005,2006 EPFL
9  Copyright (C) 2006,2007 Université Joseph Fourier (Grenoble I)
10 
11  This library is free software; you can redistribute it and/or
12  modify it under the terms of the GNU Lesser General Public
13  License as published by the Free Software Foundation; either
14  version 3.0 of the License, or (at your option) any later version.
15 
16  This library is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  Lesser General Public License for more details.
20 
21  You should have received a copy of the GNU Lesser General Public
22  License along with this library; if not, write to the Free Software
23  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24 */
30 #ifndef __FeelAlgEnums_H
31 #define __FeelAlgEnums_H 1
32 
33 #include <feel/feelcore/feel.hpp>
35 
36 
37 namespace Feel
38 {
42 #if 0
43 enum ZeroOutOptions
44 {
45  PENALISATION = 0x1,
46  ELIMINATION = 0x2
47 };
48 enum EliminationOptions
49 {
50  ELIMINATION_KEEP_DIAGONAL = 0x1,
51  ELIMINATION_SYMMETRIC = 0x2
52 };
53 #else
55 {
56  ON_NONE = 0x0,
61 };
62 #endif
63 
65 {
66  HERMITIAN = 0x1,
67  NON_HERMITIAN = 0x2,
69  SINGULAR = 0x8,
70  DENSE = 0x10
71 };
78 {
79  BACKEND_GMM = 0,
80  BACKEND_PETSC,
81  BACKEND_TRILINOS,
82  BACKEND_EIGEN,
83  BACKEND_EIGEN_DENSE
84 };
85 
89 enum SolverType {CG=0,
90  CGN,
91  CGS,
92  CR,
93  QMR,
94  TCQMR,
95  TFQMR,
96  BICG,
97  BICGSTAB,
98  MINRES,
99  GMRES,
100  LSQR,
101  JACOBI,
102  SOR_FORWARD,
103  SOR_BACKWARD,
104  SSOR,
105  RICHARDSON,
106  CHEBYSHEV,
107 
108  INVALID_SOLVER
109  };
110 
114 enum PreconditionerType {IDENTITY_PRECOND =0,
115  JACOBI_PRECOND,
116  BLOCK_JACOBI_PRECOND,
117  SOR_PRECOND,
118  SSOR_PRECOND,
119  EISENSTAT_PRECOND,
120  ASM_PRECOND,
121  GASM_PRECOND,
122  CHOLESKY_PRECOND,
123  ICC_PRECOND,
124  ILU_PRECOND,
125  LU_PRECOND,
126  AMG_PRECOND,
127  USER_PRECOND,
128  SHELL_PRECOND,
129  FIELDSPLIT_PRECOND,
130  ML_PRECOND,
131  INVALID_PRECONDITIONER
132  };
133 
134 
138 enum FieldSplitType {ADDITIVE=0,
139  MULTIPLICATIVE,
140  SCHUR
141  };
142 
147 {
148  SAME_NONZERO_PATTERN,
149  DIFFERENT_NONZERO_PATTERN,
150  SAME_PRECONDITIONER,
151  SUBSET_NONZERO_PATTERN,
152  INVALID_STRUCTURE
153 };
158 {
159  POWER=0,
160  LAPACK,
161  SUBSPACE,
162  ARNOLDI,
163  LANCZOS,
164  KRYLOVSCHUR,
165  // SLEPc optional packages
166  ARPACK,
167  // EPSBLZPACK,
168  // EPSPLANSO,
169  // EPSTRLAN,
170 
171  INVALID_EIGENSOLVER
172 }; // EigenSolverType
173 
179 enum EigenProblemType {NHEP=0,
180  HEP,
181  GNHEP,
182  GHEP,
183  PGNHEP,
184 
185  INVALID_EIGENPROBLEMTYPE
186  };
187 
188 
189 
194 enum PositionOfSpectrum {LARGEST_MAGNITUDE=0,
195  SMALLEST_MAGNITUDE,
196  LARGEST_REAL,
197  SMALLEST_REAL,
198  LARGEST_IMAGINARY,
199  SMALLEST_IMAGINARY,
200 
201  INVALID_Postion_of_Spectrum
202  };
203 
207 enum SpectralTransformType {SHIFT=0,
208  SINVERT,
209  FOLD,
210  CAYLEY
211  };
218 {
219  SOLVERS_FEEL=0,
220  SOLVERS_GMM,
221  SOLVERS_EIGEN,
222  SOLVERS_PETSC,
223  SOLVERS_TRILINOS,
224  SOLVERS_SLEPC,
225  SOLVER_INVALID_PACKAGE
226 };
227 
233 {
234  SELECT_IN_ARGLIST=0,
235  LINE_SEARCH,
236  TRUST_REGION
237 };
238 
242 enum AitkenType
243 {
244  AITKEN_STANDARD=0,
245  AITKEN_METHOD_1=1,
246  FIXED_RELAXATION_METHOD=2
247 };
251 enum DirichletType
252 {
253  STRONG=0,
254  WEAK=1
255 };
256 
257 enum ProjectorType
258 {
259  NODAL=-1,
260  L2=0,
261  H1=1,
262  DIFF=2,
263  HDIV=3,
264  HCURL=4,
265  LIFT=5,
266  CIP=6
267 };
268 
269 enum MatSolverPackageType
270 {
271  MATSOLVER_SPOOLES=0,
272  MATSOLVER_SUPERLU,
273  MATSOLVER_SUPERLU_DIST,
274  MATSOLVER_UMFPACK,
275  MATSOLVER_ESSL,
276  MATSOLVER_LUSOL,
277  MATSOLVER_MUMPS,
278  MATSOLVER_PASTIX,
279  MATSOLVER_DSCPACK,
280  MATSOLVER_MATLAB,
281  MATSOLVER_PETSC,
282  MATSOLVER_PLAPACK,
283  MATSOLVER_BAS
284 };
285 #if defined(FEELPP_HAS_MUMPS) && PETSC_VERSION_GREATER_OR_EQUAL_THAN( 3,2,0 )
286 const auto MATSOLVER_DEFAULT = MATSOLVER_MUMPS;
287 #else
288 const auto MATSOLVER_DEFAULT = MATSOLVER_PETSC;
289 #endif
290 
291 } // Feel
292 #endif /* __FeelAlgEnums_H */

Generated on Fri Oct 25 2013 14:24:08 for Feel++ by doxygen 1.8.4