ESYS13  Revision_
BOOMERAMG.h
Go to the documentation of this file.
00001 
00002 /*******************************************************
00003 *
00004 * Copyright (c) 2003-2012 by University of Queensland
00005 * Earth Systems Science Computational Center (ESSCC)
00006 * http://www.uq.edu.au/esscc
00007 *
00008 * Primary Business: Queensland, Australia
00009 * Licensed under the Open Software License version 3.0
00010 * http://www.opensource.org/licenses/osl-3.0.php
00011 *
00012 *******************************************************/
00013 
00014 
00015 /**************************************************************/
00016 
00017 /* Paso: SystemMatrix: interface to HYPRE, a software library of
00018    high performance preconditioners and solvers. We use the 
00019    BoomerAMG provided in this library */
00020 
00021 /**************************************************************/
00022 
00023 /* Copyrights by ACcESS Australia 2011 */
00024 /* Author: Lin Gao, l.gao@uq.edu.au */
00025 
00026 /**************************************************************/
00027 
00028 #ifndef INC_PASO_BOOMERAMG
00029 #define INC_PASO_BOOMERAMG
00030 
00031 #include "SystemMatrix.h"
00032 #include "performance.h"
00033 
00034 #ifdef BOOMERAMG
00035 #include <HYPRE_krylov.h> 
00036 #include <HYPRE.h>
00037 #include <HYPRE_parcsr_ls.h>
00038 #endif
00039 
00040 typedef struct {
00041 #ifdef BOOMERAMG
00042   HYPRE_IJMatrix A;
00043   HYPRE_ParCSRMatrix parcsr_A;
00044   HYPRE_IJVector b;
00045   HYPRE_ParVector par_b;
00046   HYPRE_IJVector x;
00047   HYPRE_ParVector par_x;
00048   HYPRE_Solver solver;
00049 #else
00050   void* n;
00051 #endif
00052 } Paso_BOOMERAMG_Handler;
00053 #endif