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 #include "_hypre_parcsr_ls.h"
9
10 /*--------------------------------------------------------------------------
11 * HYPRE_SchwarzCreate
12 *--------------------------------------------------------------------------*/
13
14 HYPRE_Int
HYPRE_SchwarzCreate(HYPRE_Solver * solver)15 HYPRE_SchwarzCreate( HYPRE_Solver *solver)
16 {
17 if (!solver)
18 {
19 hypre_error_in_arg(1);
20 return hypre_error_flag;
21 }
22 *solver = (HYPRE_Solver) hypre_SchwarzCreate( ) ;
23 return hypre_error_flag;
24 }
25
26 /*--------------------------------------------------------------------------
27 * HYPRE_SchwarzDestroy
28 *--------------------------------------------------------------------------*/
29
30 HYPRE_Int
HYPRE_SchwarzDestroy(HYPRE_Solver solver)31 HYPRE_SchwarzDestroy( HYPRE_Solver solver )
32 {
33 return( hypre_SchwarzDestroy( (void *) solver ) );
34 }
35
36 /*--------------------------------------------------------------------------
37 * HYPRE_SchwarzSetup
38 *--------------------------------------------------------------------------*/
39
40 HYPRE_Int
HYPRE_SchwarzSetup(HYPRE_Solver solver,HYPRE_ParCSRMatrix A,HYPRE_ParVector b,HYPRE_ParVector x)41 HYPRE_SchwarzSetup(HYPRE_Solver solver,
42 HYPRE_ParCSRMatrix A,
43 HYPRE_ParVector b,
44 HYPRE_ParVector x )
45 {
46 return( hypre_SchwarzSetup( (void *) solver,
47 (hypre_ParCSRMatrix *) A,
48 (hypre_ParVector *) b,
49 (hypre_ParVector *) x ) );
50 }
51
52 /*--------------------------------------------------------------------------
53 * HYPRE_SchwarzSolve
54 *--------------------------------------------------------------------------*/
55
56 HYPRE_Int
HYPRE_SchwarzSolve(HYPRE_Solver solver,HYPRE_ParCSRMatrix A,HYPRE_ParVector b,HYPRE_ParVector x)57 HYPRE_SchwarzSolve( HYPRE_Solver solver,
58 HYPRE_ParCSRMatrix A,
59 HYPRE_ParVector b,
60 HYPRE_ParVector x )
61 {
62
63
64 return( hypre_SchwarzSolve( (void *) solver,
65 (hypre_ParCSRMatrix *) A,
66 (hypre_ParVector *) b,
67 (hypre_ParVector *) x ) );
68 }
69
70 /*--------------------------------------------------------------------------
71 * HYPRE_SchwarzSetVariant
72 *--------------------------------------------------------------------------*/
73
74 HYPRE_Int
HYPRE_SchwarzSetVariant(HYPRE_Solver solver,HYPRE_Int variant)75 HYPRE_SchwarzSetVariant( HYPRE_Solver solver,
76 HYPRE_Int variant )
77 {
78 return( hypre_SchwarzSetVariant( (void *) solver, variant ) );
79 }
80
81 /*--------------------------------------------------------------------------
82 * HYPRE_SchwarzSetOverlap
83 *--------------------------------------------------------------------------*/
84
85 HYPRE_Int
HYPRE_SchwarzSetOverlap(HYPRE_Solver solver,HYPRE_Int overlap)86 HYPRE_SchwarzSetOverlap( HYPRE_Solver solver, HYPRE_Int overlap)
87 {
88 return( hypre_SchwarzSetOverlap( (void *) solver, overlap ) );
89 }
90
91 /*--------------------------------------------------------------------------
92 * HYPRE_SchwarzSetDomainType
93 *--------------------------------------------------------------------------*/
94
95 HYPRE_Int
HYPRE_SchwarzSetDomainType(HYPRE_Solver solver,HYPRE_Int domain_type)96 HYPRE_SchwarzSetDomainType( HYPRE_Solver solver,
97 HYPRE_Int domain_type )
98 {
99 return( hypre_SchwarzSetDomainType( (void *) solver, domain_type ) );
100 }
101
102 /*--------------------------------------------------------------------------
103 * HYPRE_SchwarzSetDomainStructure
104 *--------------------------------------------------------------------------*/
105
106 HYPRE_Int
HYPRE_SchwarzSetDomainStructure(HYPRE_Solver solver,HYPRE_CSRMatrix domain_structure)107 HYPRE_SchwarzSetDomainStructure( HYPRE_Solver solver,
108 HYPRE_CSRMatrix domain_structure )
109 {
110 return( hypre_SchwarzSetDomainStructure(
111 (void *) solver, (hypre_CSRMatrix *) domain_structure ) );
112 }
113
114 /*--------------------------------------------------------------------------
115 * HYPRE_SchwarzSetNumFunctions
116 *--------------------------------------------------------------------------*/
117
118 HYPRE_Int
HYPRE_SchwarzSetNumFunctions(HYPRE_Solver solver,HYPRE_Int num_functions)119 HYPRE_SchwarzSetNumFunctions( HYPRE_Solver solver,
120 HYPRE_Int num_functions )
121 {
122 return( hypre_SchwarzSetNumFunctions( (void *) solver, num_functions ) );
123 }
124
125 /*--------------------------------------------------------------------------
126 * HYPRE_SchwarzSetNonSymm
127 *--------------------------------------------------------------------------*/
128
129 HYPRE_Int
HYPRE_SchwarzSetNonSymm(HYPRE_Solver solver,HYPRE_Int use_nonsymm)130 HYPRE_SchwarzSetNonSymm( HYPRE_Solver solver,
131 HYPRE_Int use_nonsymm )
132 {
133 return( hypre_SchwarzSetNonSymm( (void *) solver, use_nonsymm ));
134 }
135
136 /*--------------------------------------------------------------------------
137 * HYPRE_SchwarzSetRelaxWeight
138 *--------------------------------------------------------------------------*/
139
140 HYPRE_Int
HYPRE_SchwarzSetRelaxWeight(HYPRE_Solver solver,HYPRE_Real relax_weight)141 HYPRE_SchwarzSetRelaxWeight( HYPRE_Solver solver,
142 HYPRE_Real relax_weight)
143 {
144 return( hypre_SchwarzSetRelaxWeight((void *) solver,relax_weight));
145 }
146
147 /*--------------------------------------------------------------------------
148 * HYPRE_SchwarzSetDofFunc
149 *--------------------------------------------------------------------------*/
150
151 HYPRE_Int
HYPRE_SchwarzSetDofFunc(HYPRE_Solver solver,HYPRE_Int * dof_func)152 HYPRE_SchwarzSetDofFunc( HYPRE_Solver solver,
153 HYPRE_Int *dof_func )
154 {
155 return( hypre_SchwarzSetDofFunc( (void *) solver, dof_func ) );
156 }
157
158