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 
41 struct UMFPACK_Handler {
42  void *symbolic;
43  void *numeric;
44 };
45 
46 void UMFPACK_free(SparseMatrix* A);
47 void UMFPACK_solve(SparseMatrix_ptr A, double* out, double* in,
48  dim_t numRefinements, bool verbose);
49 
50 } // namespace paso
51 
52 #endif // __PASO_UMFPACK_H__
53 
MATRIX_FORMAT_BLK1
#define MATRIX_FORMAT_BLK1
Definition: Paso.h:63
paso::UMFPACK_free
void UMFPACK_free(SparseMatrix *A)
frees any UMFPACK related data from the matrix
Definition: UMFPACK.cpp:48
message
Definition: blocktools.h:68
MATRIX_FORMAT_CSC
#define MATRIX_FORMAT_CSC
Definition: Paso.h:62
UMFPACK.h
SparseMatrix.h
Options.h
Paso.h
escript::DataTypes::dim_t
index_t dim_t
Definition: DataTypes.h:90
paso::UMFPACK_solve
void UMFPACK_solve(SparseMatrix_ptr A, double *out, double *in, dim_t numRefinements, bool verbose)
calls the solver
Definition: UMFPACK.cpp:68
paso::UMFPACK_Handler::symbolic
void * symbolic
Definition: UMFPACK.h:67
PASO_UMFPACK
#define PASO_UMFPACK
Definition: Options.h:50
paso::UMFPACK_Handler
Definition: UMFPACK.h:53
paso::SparseMatrix_ptr
boost::shared_ptr< SparseMatrix > SparseMatrix_ptr
Definition: SparseMatrix.h:48
paso::UMFPACK_Handler::numeric
void * numeric
Definition: UMFPACK.h:68
escript::gettime
double gettime()
returns the current ticks for timing
Definition: EsysMPI.h:186
PasoException.h
paso
Definition: BiCGStab.cpp:26