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