escript  Revision_
UMFPACK.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: interface to UMFPACK sparse solver */
22 
23 /****************************************************************************/
24 
25 /* Copyrights by ACcESS Australia 2006 */
26 /* Author: Lutz Gross, l.gross@uq.edu.au */
27 
28 /****************************************************************************/
29 
30 #ifndef __PASO_UMFPACK_H__
31 #define __PASO_UMFPACK_H__
32 
33 #include "SparseMatrix.h"
34 
35 #ifdef ESYS_HAVE_UMFPACK
36 #include <umfpack.h>
37 #endif
38 
39 namespace paso {
40 
42  void *symbolic;
43  void *numeric;
44 };
45 
48 
49 void PASO_DLL_API UMFPACK_solve(SparseMatrix_ptr<double> A, double* out, double* in,
50  dim_t numRefinements, bool verbose);
52  dim_t numRefinements, bool verbose);
53 
54 } // namespace paso
55 
56 #endif // __PASO_UMFPACK_H__
57 
std::complex< real_t > cplx_t
complex data type
Definition: DataTypes.h:55
index_t dim_t
Definition: DataTypes.h:66
Definition: BiCGStab.cpp:25
boost::shared_ptr< SparseMatrix< T > > SparseMatrix_ptr
Definition: SparseMatrix.h:37
void UMFPACK_free(SparseMatrix< double > *A)
frees any UMFPACK related data from the matrix
Definition: UMFPACK.cpp:35
void UMFPACK_solve(SparseMatrix_ptr< double > A, double *out, double *in, dim_t numRefinements, bool verbose)
calls the solver
Definition: UMFPACK.cpp:55
#define PASO_DLL_API
Definition: paso/src/system_dep.h:29
Definition: SparseMatrix.h:45
Definition: UMFPACK.h:41
void * numeric
Definition: UMFPACK.h:43
void * symbolic
Definition: UMFPACK.h:42