1 /****************************************************************************** 2 * Copyright 1998-2019 Lawrence Livermore National Security, LLC and other 3 * HYPRE Project Developers. See the top-level COPYRIGHT file for details. 4 * 5 * SPDX-License-Identifier: (Apache-2.0 OR MIT) 6 ******************************************************************************/ 7 8 /****************************************************************************** 9 * 10 * HYPRE_LSI_Uzawa interface 11 * 12 *****************************************************************************/ 13 14 #ifndef __HYPRE_UZAWA__ 15 #define __HYPRE_UZAWA__ 16 17 #include <stdlib.h> 18 #include <stdio.h> 19 #include <math.h> 20 #include <math.h> 21 22 #include "HYPRE.h" 23 #include "utilities/_hypre_utilities.h" 24 #include "parcsr_ls/_hypre_parcsr_ls.h" 25 #include "parcsr_mv/_hypre_parcsr_mv.h" 26 #include "HYPRE_LSI_UZAWA.h" 27 28 #ifdef __cplusplus 29 extern "C" 30 { 31 #endif 32 33 extern int HYPRE_LSI_UzawaCreate(MPI_Comm comm, HYPRE_Solver *solver); 34 extern int HYPRE_LSI_UzawaDestroy(HYPRE_Solver solver); 35 extern int HYPRE_LSI_UzawaSetMaxIterations(HYPRE_Solver solver, int iter); 36 extern int HYPRE_LSI_UzawaSetTolerance(HYPRE_Solver solver, double tol); 37 extern int HYPRE_LSI_UzawaSetParams(HYPRE_Solver solver, char *params); 38 extern int HYPRE_LSI_UzawaGetNumIterations(HYPRE_Solver solver, int *iter); 39 extern int HYPRE_LSI_UzawaSetup(HYPRE_Solver solver,HYPRE_ParCSRMatrix A, 40 HYPRE_ParVector b,HYPRE_ParVector x); 41 extern int HYPRE_LSI_UzawaSolve(HYPRE_Solver solver,HYPRE_ParCSRMatrix A, 42 HYPRE_ParVector b, HYPRE_ParVector x); 43 44 #ifdef __cplusplus 45 } 46 #endif 47 48 #endif 49 50