ESYS13
Revision_
|
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