1 |
jgs |
150 |
/* $Id$ */ |
2 |
|
|
|
3 |
|
|
/**************************************************************/ |
4 |
|
|
|
5 |
|
|
/* Paso: returns the matrix format requested by a particular linear solver */ |
6 |
|
|
|
7 |
|
|
/**************************************************************/ |
8 |
|
|
|
9 |
|
|
/* Copyrights by ACcESS Australia 2004,2005 */ |
10 |
|
|
/* Author: gross@access.edu.au */ |
11 |
|
|
|
12 |
|
|
/**************************************************************/ |
13 |
|
|
|
14 |
|
|
#include "Paso.h" |
15 |
|
|
#include "Options.h" |
16 |
|
|
#include "SystemMatrix.h" |
17 |
|
|
|
18 |
|
|
/**************************************************************/ |
19 |
|
|
|
20 |
|
|
index_t Paso_SystemMatrix_getSystemMatrixTypeId(index_t solver,index_t package, bool_t symmetry) { |
21 |
gross |
415 |
index_t out=MATRIX_FORMAT_DEFAULT; |
22 |
jgs |
150 |
package=Paso_Options_getPackage(solver,package,symmetry); |
23 |
|
|
|
24 |
|
|
switch(package) { |
25 |
|
|
|
26 |
|
|
case PASO_PASO: |
27 |
gross |
415 |
out=MATRIX_FORMAT_DEFAULT; |
28 |
jgs |
150 |
break; |
29 |
|
|
|
30 |
|
|
case PASO_SCSL: |
31 |
gross |
415 |
out=MATRIX_FORMAT_CSC + MATRIX_FORMAT_BLK1; |
32 |
|
|
/* if out= symmetry ? out+=MATRIX_FORMAT_SYM; */ |
33 |
jgs |
150 |
break; |
34 |
gross |
415 |
|
35 |
jgs |
150 |
case PASO_MKL: |
36 |
gross |
415 |
out=MATRIX_FORMAT_BLK1; |
37 |
jgs |
150 |
break; |
38 |
|
|
|
39 |
|
|
case PASO_UMFPACK: |
40 |
gross |
415 |
out=MATRIX_FORMAT_BLK1; |
41 |
jgs |
150 |
break; |
42 |
|
|
|
43 |
|
|
default: |
44 |
|
|
Paso_setError(VALUE_ERROR,"unknown package code"); |
45 |
|
|
} |
46 |
|
|
return out; |
47 |
|
|
} |
48 |
|
|
/* |
49 |
|
|
* $Log$ |
50 |
|
|
* Revision 1.2 2005/09/15 03:44:39 jgs |
51 |
|
|
* Merge of development branch dev-02 back to main trunk on 2005-09-15 |
52 |
|
|
* |
53 |
|
|
* Revision 1.1.2.1 2005/09/05 06:29:48 gross |
54 |
|
|
* These files have been extracted from finley to define a stand alone libray for iterative |
55 |
|
|
* linear solvers on the ALTIX. main entry through Paso_solve. this version compiles but |
56 |
|
|
* has not been tested yet. |
57 |
|
|
* |
58 |
|
|
* |
59 |
|
|
*/ |