HermesCommon  3.0
algebra_utilities.h
Go to the documentation of this file.
1 // This file is part of HermesCommon
2 //
3 // Copyright (c) 2009 hp-FEM group at the University of Nevada, Reno (UNR).
4 // Email: hpfem-group@unr.edu, home page: http://www.hpfem.org/.
5 //
6 // Hermes2D is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published
8 // by the Free Software Foundation; either version 2 of the License,
9 // or (at your option) any later version.
10 //
11 // Hermes2D is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License
17 // along with Hermes2D; if not, write to the Free Software
18 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 #ifndef __HERMES_COMMON_ALGEBRA_UTILITIES_H
23 #define __HERMES_COMMON_ALGEBRA_UTILITIES_H
24 
25 #include "config.h"
26 
27 namespace Hermes
28 {
29  enum MatrixSolverType
30  {
31  SOLVER_UMFPACK = 0,
32  SOLVER_PARALUTION_ITERATIVE = 1,
33  SOLVER_PARALUTION_AMG = 2,
34  SOLVER_PETSC = 3,
35  SOLVER_MUMPS = 4,
36  SOLVER_SUPERLU = 5,
37  SOLVER_AMESOS = 6,
38  SOLVER_AZTECOO = 7,
39  SOLVER_EXTERNAL = 8,
40  SOLVER_EMPTY = 100
41  };
42 
43  enum DirectMatrixSolverType
44  {
45  DIRECT_SOLVER_UMFPACK = 0,
46  DIRECT_SOLVER_MUMPS = 4,
47  DIRECT_SOLVER_SUPERLU = 5,
48  DIRECT_SOLVER_AMESOS = 6,
49  // Solver external is here, because direct solvers are used in projections.
50  DIRECT_SOLVER_EXTERNAL = 8
51  };
52 
53  enum IterativeMatrixSolverType
54  {
55  ITERATIVE_SOLVER_PARALUTION = 1,
56  ITERATIVE_SOLVER_PETSC = 3,
57  ITERATIVE_SOLVER_AZTECOO = 7
58  };
59 
60  enum AMGMatrixSolverType
61  {
62  AMG_SOLVER_PARALUTION = 2
63  };
64 
65  namespace Algebra
66  {
69  {
77 #ifdef WITH_BSON
78  EXPORT_FORMAT_BSON = 2,
80 #endif
81  EXPORT_FORMAT_MATLAB_SIMPLE = 5
82  };
83  }
84 }
85 #endif
General namespace for the Hermes library.
MatrixExportFormat
Format of file matrix and vector output.
Plain ascii file lines contains row column and value.
Matrix Market which can be read by pysparse library.