escript
Revision_
paso
src
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 <escript/index.h>
34
#include <escript/DataTypes.h>
35
#include <escript/EsysMPI.h>
36
37
#include <boost/enable_shared_from_this.hpp>
38
#include <boost/shared_ptr.hpp>
39
40
namespace
paso
{
41
42
// return codes used by the solvers
43
enum
SolverResult
{
44
NoError
= 0,
45
MaxIterReached
,
46
InputError
,
47
MemoryError
,
48
Breakdown
,
49
NegativeNormError
,
50
Divergence
51
};
52
53
using
escript::DataTypes::dim_t
;
54
using
escript::DataTypes::index_t
;
55
using
escript::DataTypes::real_t
;
56
using
escript::DataTypes::cplx_t
;
57
58
}
59
60
#define PASO_DLL_API
61
62
#define MATRIX_FORMAT_DEFAULT 1
63
#define MATRIX_FORMAT_CSC 2
64
#define MATRIX_FORMAT_BLK1 4
65
#define MATRIX_FORMAT_OFFSET1 8
66
#define MATRIX_FORMAT_DIAGONAL_BLOCK 32
67
68
#define PASO_ONE (double)(1.0)
69
#define PASO_ZERO (double)(0.0)
70
71
#endif // __PASO_H__
72
escript::DataTypes::real_t
double real_t
type of all real-valued scalars in escript
Definition:
DataTypes.h:51
paso::Divergence
@ Divergence
Definition:
Paso.h:50
paso::MemoryError
@ MemoryError
Definition:
Paso.h:47
paso::InputError
@ InputError
Definition:
Paso.h:46
paso::NegativeNormError
@ NegativeNormError
Definition:
Paso.h:49
paso::Breakdown
@ Breakdown
Definition:
Paso.h:48
escript::DataTypes::dim_t
index_t dim_t
Definition:
DataTypes.h:65
paso::SolverResult
SolverResult
Definition:
Paso.h:43
paso::MaxIterReached
@ MaxIterReached
Definition:
Paso.h:45
escript::DataTypes::index_t
int index_t
type for array/matrix indices used both globally and on each rank
Definition:
DataTypes.h:60
paso
Definition:
BiCGStab.cpp:26
escript::DataTypes::cplx_t
std::complex< real_t > cplx_t
complex data type
Definition:
DataTypes.h:54
paso::NoError
@ NoError
Definition:
Paso.h:44
Generated by
1.8.20