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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4856 - (show annotations)
Wed Apr 9 06:46:55 2014 UTC (5 years, 7 months ago) by caltinay
File MIME type: text/plain
File size: 2248 byte(s)
some mopping in paso

1
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2014 by University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Open Software License version 3.0
9 * http://www.opensource.org/licenses/osl-3.0.php
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development 2012-2013 by School of Earth Sciences
13 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 *
15 *****************************************************************************/
16
17
18 #ifndef __PASO_SOLVER_H__
19 #define __PASO_SOLVER_H__
20
21 #include "SystemMatrix.h"
22 #include "performance.h"
23 #include "Functions.h"
24
25 namespace paso {
26
27 // error codes used in the solver
28 #define SOLVER_NO_ERROR 0
29 #define SOLVER_MAXITER_REACHED 1
30 #define SOLVER_INPUT_ERROR -1
31 #define SOLVER_MEMORY_ERROR -9
32 #define SOLVER_BREAKDOWN -10
33 #define SOLVER_NEGATIVE_NORM_ERROR -11
34 #define SOLVER_DIVERGENCE -12
35
36 #define TOLERANCE_FOR_SCALARS (double)(0.)
37
38 PASO_DLL_API
39 void Solver(SystemMatrix_ptr, double*, double*, Options*, Paso_Performance* pp);
40
41 PASO_DLL_API
42 void Solver_free(SystemMatrix*);
43
44 err_t Solver_BiCGStab(SystemMatrix_ptr A, double* B, double* X, dim_t* iter,
45 double* tolerance, Paso_Performance* pp);
46
47 err_t Solver_PCG(SystemMatrix_ptr A, double* B, double* X, dim_t* iter,
48 double* tolerance, Paso_Performance* pp);
49
50 err_t Solver_TFQMR(SystemMatrix_ptr A, double* B, double* X, dim_t* iter,
51 double* tolerance, Paso_Performance* pp);
52
53 err_t Solver_MINRES(SystemMatrix_ptr A, double* B, double* X, dim_t* iter,
54 double* tolerance, Paso_Performance* pp);
55
56 err_t Solver_GMRES(SystemMatrix_ptr A, double* r, double* x, dim_t* num_iter,
57 double* tolerance, dim_t length_of_recursion, dim_t restart,
58 Paso_Performance* pp);
59
60 err_t Solver_GMRES2(Function* F, const double* f0, const double* x0, double* x,
61 dim_t* iter, double* tolerance, Paso_Performance* pp);
62
63 err_t Solver_NewtonGMRES(Function* F, double* x, Options* options,
64 Paso_Performance* pp);
65
66 } // namespace paso
67
68 #endif // __PASO_SOLVER_H__
69

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26