escript  Revision_
UMFPACK.h
Go to the documentation of this file.
00001 
00002 /*****************************************************************************
00003 *
00004 * Copyright (c) 2003-2014 by University of Queensland
00005 * http://www.uq.edu.au
00006 *
00007 * Primary Business: Queensland, Australia
00008 * Licensed under the Open Software License version 3.0
00009 * http://www.opensource.org/licenses/osl-3.0.php
00010 *
00011 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
00012 * Development 2012-2013 by School of Earth Sciences
00013 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
00014 *
00015 *****************************************************************************/
00016 
00017 
00018 /****************************************************************************/
00019 
00020 /* Paso: interface to UMFPACK sparse solver */
00021 
00022 /****************************************************************************/
00023 
00024 /* Copyrights by ACcESS Australia 2006 */
00025 /* Author: Lutz Gross, l.gross@uq.edu.au */
00026 
00027 /****************************************************************************/
00028 
00029 #ifndef __PASO_UMFPACK_H__
00030 #define __PASO_UMFPACK_H__
00031 
00032 #include "SparseMatrix.h"
00033 
00034 #ifdef UMFPACK
00035 #include <umfpack.h>
00036 #endif
00037 
00038 namespace paso {
00039 
00040 struct UMFPACK_Handler {
00041     void *symbolic;
00042     void *numeric;
00043 };
00044 
00045 void UMFPACK_free(SparseMatrix* A);
00046 void UMFPACK_solve(SparseMatrix_ptr A, double* out, double* in,
00047                    dim_t numRefinements, bool verbose);
00048 
00049 } // namespace paso
00050 
00051 #endif // __PASO_UMFPACK_H__
00052