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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5933 - (hide annotations)
Wed Feb 17 23:53:30 2016 UTC (3 years, 1 month ago) by caltinay
File MIME type: text/plain
File size: 2218 byte(s)
sync with trunk.

1 ksteube 1312
2 jfenwick 3981 /*****************************************************************************
3 ksteube 1811 *
4 jfenwick 5863 * Copyright (c) 2003-2016 by The University of Queensland
5 jfenwick 3981 * http://www.uq.edu.au
6 ksteube 1811 *
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 jfenwick 3981 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 jfenwick 4657 * Development 2012-2013 by School of Earth Sciences
13     * Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 jfenwick 3981 *
15     *****************************************************************************/
16 dhawcroft 631
17 ksteube 1811
18 caltinay 4856 #ifndef __PASO_SOLVER_H__
19     #define __PASO_SOLVER_H__
20 jgs 150
21 gross 700 #include "SystemMatrix.h"
22     #include "performance.h"
23 gross 1476 #include "Functions.h"
24 jgs 150
25 caltinay 4856 namespace paso {
26    
27     // error codes used in the solver
28 jgs 150 #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 artak 1787 #define SOLVER_NEGATIVE_NORM_ERROR -11
34 gross 2987 #define SOLVER_DIVERGENCE -12
35 jgs 150
36 jfenwick 1974 #define TOLERANCE_FOR_SCALARS (double)(0.)
37 artak 1787
38 caltinay 4869 void solve_free(SystemMatrix* A);
39    
40     void Solver(SystemMatrix_ptr, double*, double*, Options*, Performance*);
41 caltinay 3594
42 caltinay 4856 void Solver_free(SystemMatrix*);
43 caltinay 3594
44 caltinay 5933 err_t Solver_BiCGStab(SystemMatrix_ptr A, double* B, double* X,
45     dim_t* iter, double* tolerance, Performance* pp);
46 gross 3094
47 caltinay 4856 err_t Solver_PCG(SystemMatrix_ptr A, double* B, double* X, dim_t* iter,
48 caltinay 4869 double* tolerance, Performance* pp);
49 gross 3094
50 caltinay 4856 err_t Solver_TFQMR(SystemMatrix_ptr A, double* B, double* X, dim_t* iter,
51 caltinay 4869 double* tolerance, Performance* pp);
52 caltinay 4836
53 caltinay 4856 err_t Solver_MINRES(SystemMatrix_ptr A, double* B, double* X, dim_t* iter,
54 caltinay 4869 double* tolerance, Performance* pp);
55 caltinay 3594
56 caltinay 5933 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 caltinay 4856
60     err_t Solver_GMRES2(Function* F, const double* f0, const double* x0, double* x,
61 caltinay 4869 dim_t* iter, double* tolerance, Performance* pp);
62 caltinay 4856
63     err_t Solver_NewtonGMRES(Function* F, double* x, Options* options,
64 caltinay 4869 Performance* pp);
65 caltinay 4856
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