1 |
/* $Id$ */ |
2 |
|
3 |
/* |
4 |
******************************************************************************** |
5 |
* Copyright 2006 by ACcESS MNRF * |
6 |
* * |
7 |
* http://www.access.edu.au * |
8 |
* Primary Business: Queensland, Australia * |
9 |
* Licensed under the Open Software License version 3.0 * |
10 |
* http://www.opensource.org/licenses/osl-3.0.php * |
11 |
******************************************************************************** |
12 |
*/ |
13 |
|
14 |
/**************************************************************/ |
15 |
|
16 |
/* Paso: SystemMatrix and SystemVector */ |
17 |
|
18 |
/**************************************************************/ |
19 |
|
20 |
/* Copyrights by ACcESS Australia 2003,2004,2005 */ |
21 |
/* Author: gross@access.edu.au */ |
22 |
|
23 |
/**************************************************************/ |
24 |
|
25 |
#ifndef INC_PASO_OPTIONS |
26 |
#define INC_PASO_OPTIONS |
27 |
|
28 |
/* solver options */ |
29 |
|
30 |
#define PASO_DEFAULT 0 |
31 |
#define PASO_DIRECT 1 |
32 |
#define PASO_CHOLEVSKY 2 |
33 |
#define PASO_PCG 3 |
34 |
#define PASO_CR 4 |
35 |
#define PASO_CGS 5 |
36 |
#define PASO_BICGSTAB 6 |
37 |
#define PASO_SSOR 7 |
38 |
#define PASO_ILU0 8 |
39 |
#define PASO_ILUT 9 |
40 |
#define PASO_JACOBI 10 |
41 |
#define PASO_GMRES 11 |
42 |
#define PASO_PRES20 12 |
43 |
#define PASO_LUMPING 13 |
44 |
#define PASO_SCSL 14 |
45 |
#define PASO_MKL 15 |
46 |
#define PASO_UMFPACK 16 |
47 |
#define PASO_NO_REORDERING 17 |
48 |
#define PASO_MINIMUM_FILL_IN 18 |
49 |
#define PASO_NESTED_DISSECTION 19 |
50 |
#define PASO_ITERATIVE 20 |
51 |
#define PASO_PASO 21 |
52 |
#define PASO_RILU 22 |
53 |
#define PASO_AMG 23 |
54 |
|
55 |
|
56 |
typedef struct { |
57 |
index_t method; |
58 |
index_t package; |
59 |
bool_t symmetric; |
60 |
double tolerance; |
61 |
|
62 |
bool_t verbose; |
63 |
bool_t reordering; |
64 |
double final_residual; |
65 |
index_t preconditioner; |
66 |
dim_t iter_max; |
67 |
dim_t iter; |
68 |
double drop_tolerance; |
69 |
double drop_storage; |
70 |
dim_t truncation; |
71 |
dim_t restart; |
72 |
|
73 |
|
74 |
} Paso_Options; |
75 |
|
76 |
/* interfaces: */ |
77 |
|
78 |
void Paso_Options_setDefaults(Paso_Options* in); |
79 |
index_t Paso_Options_getPackage(index_t solver,index_t package, bool_t symmetry); |
80 |
index_t Paso_Options_getSolver(index_t solver,index_t package, bool_t symmetry); |
81 |
|
82 |
|
83 |
#endif /* #ifndef INC_PASO_OPTIONS */ |
84 |
|
85 |
|
86 |
|
87 |
/* |
88 |
* $Log$ |
89 |
* Revision 1.2 2005/09/15 03:44:38 jgs |
90 |
* Merge of development branch dev-02 back to main trunk on 2005-09-15 |
91 |
* |
92 |
* Revision 1.1.2.2 2005/09/07 00:59:08 gross |
93 |
* some inconsistent renaming fixed to make the linking work. |
94 |
* |
95 |
* Revision 1.1.2.1 2005/09/05 06:29:46 gross |
96 |
* These files have been extracted from finley to define a stand alone libray for iterative |
97 |
* linear solvers on the ALTIX. main entry through Paso_solve. this version compiles but |
98 |
* has not been tested yet. |
99 |
* |
100 |
* |
101 |
*/ |