/[escript]/branches/trilinos_from_5897/paso/src/Solver.h
ViewVC logotype

Contents of /branches/trilinos_from_5897/paso/src/Solver.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5933 - (show annotations)
Wed Feb 17 23:53:30 2016 UTC (22 months ago) by caltinay
File MIME type: text/plain
File size: 2218 byte(s)
sync with trunk.

1
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2016 by The 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 void solve_free(SystemMatrix* A);
39
40 void Solver(SystemMatrix_ptr, double*, double*, Options*, Performance*);
41
42 void Solver_free(SystemMatrix*);
43
44 err_t Solver_BiCGStab(SystemMatrix_ptr A, double* B, double* X,
45 dim_t* iter, double* tolerance, Performance* pp);
46
47 err_t Solver_PCG(SystemMatrix_ptr A, double* B, double* X, dim_t* iter,
48 double* tolerance, Performance* pp);
49
50 err_t Solver_TFQMR(SystemMatrix_ptr A, double* B, double* X, dim_t* iter,
51 double* tolerance, Performance* pp);
52
53 err_t Solver_MINRES(SystemMatrix_ptr A, double* B, double* X, dim_t* iter,
54 double* tolerance, Performance* pp);
55
56 err_t Solver_GMRES(SystemMatrix_ptr A, double* r, double* x,
57 dim_t* num_iter, double* tolerance,
58 dim_t length_of_recursion, dim_t restart, Performance* pp);
59
60 err_t Solver_GMRES2(Function* F, const double* f0, const double* x0, double* x,
61 dim_t* iter, double* tolerance, Performance* pp);
62
63 err_t Solver_NewtonGMRES(Function* F, double* x, Options* options,
64 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