/[escript]/trunk/paso/src/Solver.h
ViewVC logotype

Annotation of /trunk/paso/src/Solver.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3120 - (hide annotations)
Mon Aug 30 10:48:00 2010 UTC (9 years, 7 months ago) by gross
File MIME type: text/plain
File size: 2318 byte(s)
first iteration on Paso code clean up
1 ksteube 1312
2     /*******************************************************
3 ksteube 1811 *
4 jfenwick 2881 * Copyright (c) 2003-2010 by University of Queensland
5 ksteube 1811 * Earth Systems Science Computational Center (ESSCC)
6     * http://www.uq.edu.au/esscc
7     *
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 dhawcroft 631
14 ksteube 1811
15 jgs 150 #ifndef INC_SOLVER
16     #define INC_SOLVER
17    
18 gross 700 #include "SystemMatrix.h"
19     #include "performance.h"
20 gross 1476 #include "Functions.h"
21 jgs 150
22 ksteube 1312 #define PASO_TRACE
23 jgs 150 /* error codes used in the solver */
24     #define SOLVER_NO_ERROR 0
25     #define SOLVER_MAXITER_REACHED 1
26     #define SOLVER_INPUT_ERROR -1
27     #define SOLVER_MEMORY_ERROR -9
28     #define SOLVER_BREAKDOWN -10
29 artak 1787 #define SOLVER_NEGATIVE_NORM_ERROR -11
30 gross 2987 #define SOLVER_DIVERGENCE -12
31 jgs 150
32 jfenwick 1974 #define TOLERANCE_FOR_SCALARS (double)(0.)
33 artak 1787
34 gross 584 void Paso_Solver(Paso_SystemMatrix*,double*,double*,Paso_Options*,Paso_Performance* pp);
35 jgs 150 void Paso_Solver_free(Paso_SystemMatrix*);
36 ksteube 1312 err_t Paso_Solver_BiCGStab( Paso_SystemMatrix * A, double* B, double * X, dim_t *iter, double * tolerance, Paso_Performance* pp);
37     err_t Paso_Solver_PCG( Paso_SystemMatrix * A, double* B, double * X, dim_t *iter, double * tolerance, Paso_Performance* pp);
38 artak 1703 err_t Paso_Solver_TFQMR( Paso_SystemMatrix * A, double* B, double * X, dim_t *iter, double * tolerance, Paso_Performance* pp);
39 artak 1862 err_t Paso_Solver_MINRES( Paso_SystemMatrix * A, double* B, double * X, dim_t *iter, double * tolerance, Paso_Performance* pp);
40 ksteube 1312 err_t Paso_Solver_GMRES(Paso_SystemMatrix * A, double * r, double * x, dim_t *num_iter, double * tolerance,dim_t length_of_recursion,dim_t restart, Paso_Performance* pp);
41 gross 3094 err_t Paso_Solver_GMRES2(Paso_Function * F, const double* f0, const double* x0, double * x, dim_t *iter, double* tolerance, Paso_Performance* pp);
42    
43     err_t Paso_Solver_NewtonGMRES(Paso_Function *F, double *x, Paso_Options* options, Paso_Performance* pp);
44     Paso_Function * Paso_Function_LinearSystem_alloc(Paso_SystemMatrix* A, double* b, Paso_Options* options);
45     err_t Paso_Function_LinearSystem_call(Paso_Function * F,double* value, const double* arg, Paso_Performance *pp);
46     void Paso_Function_LinearSystem_free(Paso_Function * F);
47     err_t Paso_Function_LinearSystem_setInitialGuess(Paso_SystemMatrix* A, double* x, Paso_Performance *pp);
48    
49 jgs 150 #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