/[escript]/trunk/esys2/finley/src/finleyC/Solvers/Solver.h
ViewVC logotype

Contents of /trunk/esys2/finley/src/finleyC/Solvers/Solver.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 113 - (show annotations)
Mon Feb 28 07:06:33 2005 UTC (14 years, 1 month ago) by jgs
File MIME type: text/plain
File size: 1665 byte(s)
*** empty log message ***

1 /* $Id$ */
2
3 #ifndef INC_SOLVER
4 #define INC_SOLVER
5
6 #define FINLEY_SOLVER_TRACE
7 /* error codes used in the solver */
8 #define SOLVER_NO_ERROR 0
9 #define SOLVER_MAXITER_REACHED 1
10 #define SOLVER_INPUT_ERROR -1
11 #define SOLVER_MEMORY_ERROR -9
12 #define SOLVER_BREAKDOWN -10
13
14
15 typedef struct Finley_Solver_Preconditioner {
16 int type;
17 double* values;
18 int numColors;
19 maybelong *mainDiag;
20 maybelong *color;
21 int *pivot;
22 } Finley_Solver_Preconditioner;
23
24
25
26 void Finley_Solver(Finley_SystemMatrix*,double*,double*,Finley_SolverOptions*);
27 void Finley_Solver_free(Finley_SystemMatrix*);
28 int Finley_Solver_BiCGStab( Finley_SystemMatrix * A, double* B, double * X, int *iter, double * tolerance);
29 int Finley_Solver_PCG( Finley_SystemMatrix * A, double* B, double * X, int *iter, double * tolerance);
30 int Finley_Solver_GMRES(Finley_SystemMatrix * A, double * r, double * x, int *num_iter, double * tolerance,int length_of_recursion,int restart);
31 void Finley_Preconditioner_free(void* in);
32 void Finley_Solver_setPreconditioner(Finley_SystemMatrix* A,Finley_SolverOptions* options);
33 void Finley_Solver_solvePreconditioner(Finley_SystemMatrix* A,double*,double*);
34
35 void Finley_Solver_setJacobi(Finley_SystemMatrix*);
36 void Finley_Solver_solveJacobi(Finley_SystemMatrix*, double*, double*);
37 void Finley_Solver_setILU0(Finley_SystemMatrix*);
38 void Finley_Solver_solveILU0(Finley_SystemMatrix*, double*, double*);
39
40 void Finley_Solver_getMainDiagonal(Finley_SystemMatrix*,maybelong*);
41 void Finley_Solver_mis(Finley_SystemMatrixPattern* pattern_p, maybelong* mis_marker);
42
43 void Finley_Solver_coloring(Finley_SystemMatrixPattern*,maybelong*,maybelong*);
44
45 #endif /* #ifndef INC_SOLVER */

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26