escript  Revision_
Paso.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2020 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
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-2017 by Centre for Geoscience Computing (GeoComp)
14 * Development from 2019 by School of Earth and Environmental Sciences
15 **
16 *****************************************************************************/
17 
18 
19 /****************************************************************************/
20 
21 /* Paso finite element solver library */
22 
23 /****************************************************************************/
24 
25 /* Copyrights by ACcESS Australia, 2003,2004,2005 */
26 /* Author: Lutz Gross, l.gross@uq.edu.au */
27 
28 /****************************************************************************/
29 
30 #ifndef __PASO_H__
31 #define __PASO_H__
32 
33 #include "system_dep.h"
34 #include <escript/index.h>
35 #include <escript/DataTypes.h>
36 #include <escript/EsysMPI.h>
37 
38 #include <boost/enable_shared_from_this.hpp>
39 #include <boost/shared_ptr.hpp>
40 
41 namespace paso {
42 
43 // return codes used by the solvers
45  NoError = 0,
52 };
53 
58 
59 }
60 
61 #define MATRIX_FORMAT_DEFAULT 1
62 #define MATRIX_FORMAT_CSC 2
63 #define MATRIX_FORMAT_BLK1 4
64 #define MATRIX_FORMAT_OFFSET1 8
65 #define MATRIX_FORMAT_DIAGONAL_BLOCK 32
66 #define MATRIX_FORMAT_COMPLEX 64
67 
68 #define PASO_ONE (double)(1.0)
69 #define PASO_ZERO (double)(0.0)
70 
71 #endif // __PASO_H__
72 
std::complex< real_t > cplx_t
complex data type
Definition: DataTypes.h:55
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:52
index_t dim_t
Definition: DataTypes.h:66
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:61
Definition: BiCGStab.cpp:25
SolverResult
Definition: Paso.h:44
@ Breakdown
Definition: Paso.h:49
@ NoError
Definition: Paso.h:45
@ Divergence
Definition: Paso.h:51
@ NegativeNormError
Definition: Paso.h:50
@ InputError
Definition: Paso.h:47
@ MaxIterReached
Definition: Paso.h:46
@ MemoryError
Definition: Paso.h:48