Skip to content

Commit 05d7acf

Browse files
committed
changed ierr to PetscCall
1 parent b08f5bd commit 05d7acf

File tree

8 files changed

+171
-197
lines changed

8 files changed

+171
-197
lines changed

examples/Hdiv-mixed/main.c

Lines changed: 65 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -34,27 +34,25 @@ int main(int argc, char **argv) {
3434
// ---------------------------------------------------------------------------
3535
// Initialize PETSc
3636
// ---------------------------------------------------------------------------
37-
PetscInt ierr;
38-
ierr = PetscInitialize(&argc, &argv, NULL, help);
39-
if (ierr) return ierr;
37+
PetscCall( PetscInitialize(&argc, &argv, NULL, help) );
4038

4139
// ---------------------------------------------------------------------------
4240
// Create structs
4341
// ---------------------------------------------------------------------------
4442
AppCtx app_ctx;
45-
ierr = PetscCalloc1(1, &app_ctx); CHKERRQ(ierr);
43+
PetscCall( PetscCalloc1(1, &app_ctx) );
4644

4745
ProblemData *problem_data = NULL;
48-
ierr = PetscCalloc1(1, &problem_data); CHKERRQ(ierr);
46+
PetscCall( PetscCalloc1(1, &problem_data) );
4947

5048
User user;
51-
ierr = PetscCalloc1(1, &user); CHKERRQ(ierr);
49+
PetscCall( PetscCalloc1(1, &user) );
5250

5351
CeedData ceed_data;
54-
ierr = PetscCalloc1(1, &ceed_data); CHKERRQ(ierr);
52+
PetscCall( PetscCalloc1(1, &ceed_data) );
5553

5654
Physics phys_ctx;
57-
ierr = PetscCalloc1(1, &phys_ctx); CHKERRQ(ierr);
55+
PetscCall( PetscCalloc1(1, &phys_ctx) );
5856

5957
user->app_ctx = app_ctx;
6058
user->phys = phys_ctx;
@@ -63,22 +61,21 @@ int main(int argc, char **argv) {
6361
// Process command line options
6462
// ---------------------------------------------------------------------------
6563
// -- Register problems to be available on the command line
66-
ierr = RegisterProblems_Hdiv(app_ctx); CHKERRQ(ierr);
64+
PetscCall( RegisterProblems_Hdiv(app_ctx) );
6765

6866
// -- Process general command line options
6967
MPI_Comm comm = PETSC_COMM_WORLD;
70-
ierr = ProcessCommandLineOptions(comm, app_ctx); CHKERRQ(ierr);
68+
PetscCall( ProcessCommandLineOptions(comm, app_ctx) );
7169

7270
// ---------------------------------------------------------------------------
7371
// Choose the problem from the list of registered problems
7472
// ---------------------------------------------------------------------------
7573
{
7674
PetscErrorCode (*p)(ProblemData *, void *);
77-
ierr = PetscFunctionListFind(app_ctx->problems, app_ctx->problem_name, &p);
78-
CHKERRQ(ierr);
75+
PetscCall( PetscFunctionListFind(app_ctx->problems, app_ctx->problem_name, &p) );
7976
if (!p) SETERRQ(PETSC_COMM_SELF, 1, "Problem '%s' not found",
8077
app_ctx->problem_name);
81-
ierr = (*p)(problem_data, &user); CHKERRQ(ierr);
78+
PetscCall( (*p)(problem_data, &user) );
8279
}
8380

8481
// ---------------------------------------------------------------------------
@@ -95,8 +92,8 @@ int main(int argc, char **argv) {
9592
// PETSc objects
9693
DM dm;
9794
VecType vec_type;
98-
ierr = CreateDistributedDM(comm, problem_data, &dm); CHKERRQ(ierr);
99-
ierr = DMGetVecType(dm, &vec_type); CHKERRQ(ierr);
95+
PetscCall( CreateDistributedDM(comm, problem_data, &dm) );
96+
PetscCall( DMGetVecType(dm, &vec_type) );
10097
if (!vec_type) { // Not yet set by user -dm_vec_type
10198
switch (mem_type_backend) {
10299
case CEED_MEM_HOST: vec_type = VECSTANDARD; break;
@@ -110,57 +107,57 @@ int main(int argc, char **argv) {
110107
else vec_type = VECSTANDARD;
111108
}
112109
}
113-
ierr = DMSetVecType(dm, vec_type); CHKERRQ(ierr);
110+
PetscCall( DMSetVecType(dm, vec_type) );
114111
}
115112
// ---------------------------------------------------------------------------
116113
// Create global, local solution, local rhs vector
117114
// ---------------------------------------------------------------------------
118115
Vec U_g, U_loc;
119116
PetscInt U_l_size, U_g_size, U_loc_size;
120117
// Create global and local solution vectors
121-
ierr = DMCreateGlobalVector(dm, &U_g); CHKERRQ(ierr);
122-
ierr = VecGetSize(U_g, &U_g_size); CHKERRQ(ierr);
118+
PetscCall( DMCreateGlobalVector(dm, &U_g) );
119+
PetscCall( VecGetSize(U_g, &U_g_size) );
123120
// Local size for matShell
124-
ierr = VecGetLocalSize(U_g, &U_l_size); CHKERRQ(ierr);
121+
PetscCall( VecGetLocalSize(U_g, &U_l_size) );
125122
// Create local unknown vector U_loc
126-
ierr = DMCreateLocalVector(dm, &U_loc); CHKERRQ(ierr);
123+
PetscCall( DMCreateLocalVector(dm, &U_loc) );
127124
// Local size for libCEED
128-
ierr = VecGetSize(U_loc, &U_loc_size); CHKERRQ(ierr);
125+
PetscCall( VecGetSize(U_loc, &U_loc_size) );
129126

130127
// Get RHS vector
131128
Vec rhs_loc;
132129
PetscScalar *r;
133130
CeedVector rhs_ceed, target;
134131
PetscMemType mem_type;
135-
ierr = VecDuplicate(U_loc, &rhs_loc); CHKERRQ(ierr);
136-
ierr = VecZeroEntries(rhs_loc); CHKERRQ(ierr);
137-
ierr = VecGetArrayAndMemType(rhs_loc, &r, &mem_type); CHKERRQ(ierr);
132+
PetscCall( VecDuplicate(U_loc, &rhs_loc) );
133+
PetscCall( VecZeroEntries(rhs_loc) );
134+
PetscCall( VecGetArrayAndMemType(rhs_loc, &r, &mem_type) );
138135
CeedVectorCreate(ceed, U_l_size, &rhs_ceed);
139136
CeedVectorSetArray(rhs_ceed, MemTypeP2C(mem_type), CEED_USE_POINTER, r);
140137

141138
// ---------------------------------------------------------------------------
142139
// Setup libCEED
143140
// ---------------------------------------------------------------------------
144141
// -- Set up libCEED objects
145-
ierr = SetupLibceed(dm, ceed, app_ctx, problem_data, U_g_size,
146-
U_loc_size, ceed_data, rhs_ceed, &target); CHKERRQ(ierr);
142+
PetscCall( SetupLibceed(dm, ceed, app_ctx, problem_data, U_g_size,
143+
U_loc_size, ceed_data, rhs_ceed, &target) );
147144
//CeedVectorView(rhs_ceed, "%12.8f", stdout);
148145
// ---------------------------------------------------------------------------
149146
// Gather RHS
150147
// ---------------------------------------------------------------------------
151148
Vec rhs;
152149
CeedVectorTakeArray(rhs_ceed, MemTypeP2C(mem_type), NULL);
153-
ierr = VecRestoreArrayAndMemType(rhs_loc, &r); CHKERRQ(ierr);
154-
ierr = VecDuplicate(U_g, &rhs); CHKERRQ(ierr);
155-
ierr = VecZeroEntries(rhs); CHKERRQ(ierr);
156-
ierr = DMLocalToGlobal(dm, rhs_loc, ADD_VALUES, rhs); CHKERRQ(ierr);
150+
PetscCall( VecRestoreArrayAndMemType(rhs_loc, &r) );
151+
PetscCall( VecDuplicate(U_g, &rhs) );
152+
PetscCall( VecZeroEntries(rhs) );
153+
PetscCall( DMLocalToGlobal(dm, rhs_loc, ADD_VALUES, rhs) );
157154
// ---------------------------------------------------------------------------
158155
// Setup Mat, KSP
159156
// ---------------------------------------------------------------------------
160157
user->comm = comm;
161158
user->dm = dm;
162159
user->X_loc = U_loc;
163-
ierr = VecDuplicate(U_loc, &user->Y_loc); CHKERRQ(ierr);
160+
PetscCall( VecDuplicate(U_loc, &user->Y_loc) );
164161
user->x_ceed = ceed_data->x_ceed;
165162
user->y_ceed = ceed_data->y_ceed;
166163
user->op_apply = ceed_data->op_residual;
@@ -169,25 +166,25 @@ int main(int argc, char **argv) {
169166
user->ceed = ceed;
170167
// Operator
171168
Mat mat;
172-
ierr = MatCreateShell(comm, U_l_size, U_l_size, U_g_size, U_g_size,
173-
user, &mat); CHKERRQ(ierr);
174-
ierr = MatShellSetOperation(mat, MATOP_MULT,
175-
(void(*)(void))MatMult_Ceed); CHKERRQ(ierr);
176-
ierr = MatShellSetVecType(mat, vec_type); CHKERRQ(ierr);
169+
PetscCall( MatCreateShell(comm, U_l_size, U_l_size, U_g_size, U_g_size,
170+
user, &mat) );
171+
PetscCall( MatShellSetOperation(mat, MATOP_MULT,
172+
(void(*)(void))MatMult_Ceed) );
173+
PetscCall( MatShellSetVecType(mat, vec_type) );
177174

178175
KSP ksp;
179-
ierr = KSPCreate(comm, &ksp); CHKERRQ(ierr);
180-
ierr = KSPSetOperators(ksp, mat, mat); CHKERRQ(ierr);
181-
ierr = KSPSetFromOptions(ksp); CHKERRQ(ierr);
182-
ierr = KSPSetUp(ksp); CHKERRQ(ierr);
183-
ierr = KSPSolve(ksp, rhs, U_g); CHKERRQ(ierr);
176+
PetscCall( KSPCreate(comm, &ksp) );
177+
PetscCall( KSPSetOperators(ksp, mat, mat) );
178+
PetscCall( KSPSetFromOptions(ksp) );
179+
PetscCall( KSPSetUp(ksp) );
180+
PetscCall( KSPSolve(ksp, rhs, U_g) );
184181
//VecView(U_g, PETSC_VIEWER_STDOUT_WORLD);
185182
// ---------------------------------------------------------------------------
186183
// Compute pointwise L2 error
187184
// ---------------------------------------------------------------------------
188185
CeedScalar l2_error_u, l2_error_p;
189-
ierr = ComputeError(user, U_g, target,
190-
&l2_error_u, &l2_error_p); CHKERRQ(ierr);
186+
PetscCall( ComputeError(user, U_g, target,
187+
&l2_error_u, &l2_error_p) );
191188

192189
// ---------------------------------------------------------------------------
193190
// Output results
@@ -196,11 +193,11 @@ int main(int argc, char **argv) {
196193
KSPConvergedReason reason;
197194
PetscReal rnorm;
198195
PetscInt its;
199-
ierr = KSPGetType(ksp, &ksp_type); CHKERRQ(ierr);
200-
ierr = KSPGetConvergedReason(ksp, &reason); CHKERRQ(ierr);
201-
ierr = KSPGetIterationNumber(ksp, &its); CHKERRQ(ierr);
202-
ierr = KSPGetResidualNorm(ksp, &rnorm); CHKERRQ(ierr);
203-
ierr = PetscPrintf(comm,
196+
PetscCall( KSPGetType(ksp, &ksp_type) );
197+
PetscCall( KSPGetConvergedReason(ksp, &reason) );
198+
PetscCall( KSPGetIterationNumber(ksp, &its) );
199+
PetscCall( KSPGetResidualNorm(ksp, &rnorm) );
200+
PetscCall( PetscPrintf(comm,
204201
" KSP:\n"
205202
" KSP Type : %s\n"
206203
" KSP Convergence : %s\n"
@@ -209,47 +206,46 @@ int main(int argc, char **argv) {
209206
" L2 Error of u and p : %e, %e\n",
210207
ksp_type, KSPConvergedReasons[reason], its,
211208
(double)rnorm, (double)l2_error_u,
212-
(double)l2_error_p); CHKERRQ(ierr);
209+
(double)l2_error_p) );
213210

214211
// ---------------------------------------------------------------------------
215212
// Save solution (paraview)
216213
// ---------------------------------------------------------------------------
217214
PetscViewer viewer;
218215

219-
ierr = PetscViewerVTKOpen(comm,"solution.vtu",FILE_MODE_WRITE,&viewer);
220-
CHKERRQ(ierr);
221-
ierr = VecView(U_g, viewer); CHKERRQ(ierr);
222-
ierr = PetscViewerDestroy(&viewer); CHKERRQ(ierr);
216+
PetscCall( PetscViewerVTKOpen(comm,"solution.vtu",FILE_MODE_WRITE,&viewer) );
217+
PetscCall( VecView(U_g, viewer) );
218+
PetscCall( PetscViewerDestroy(&viewer) );
223219

224220
// ---------------------------------------------------------------------------
225221
// Free objects
226222
// ---------------------------------------------------------------------------
227223

228224
// Free PETSc objects
229-
ierr = DMDestroy(&dm); CHKERRQ(ierr);
230-
ierr = VecDestroy(&U_g); CHKERRQ(ierr);
231-
ierr = VecDestroy(&U_loc); CHKERRQ(ierr);
232-
ierr = VecDestroy(&rhs); CHKERRQ(ierr);
233-
ierr = VecDestroy(&rhs_loc); CHKERRQ(ierr);
234-
ierr = VecDestroy(&user->Y_loc); CHKERRQ(ierr);
235-
ierr = MatDestroy(&mat); CHKERRQ(ierr);
236-
ierr = KSPDestroy(&ksp); CHKERRQ(ierr);
225+
PetscCall( DMDestroy(&dm) );
226+
PetscCall( VecDestroy(&U_g) );
227+
PetscCall( VecDestroy(&U_loc) );
228+
PetscCall( VecDestroy(&rhs) );
229+
PetscCall( VecDestroy(&rhs_loc) );
230+
PetscCall( VecDestroy(&user->Y_loc) );
231+
PetscCall( MatDestroy(&mat) );
232+
PetscCall( KSPDestroy(&ksp) );
237233

238234
// -- Function list
239-
ierr = PetscFunctionListDestroy(&app_ctx->problems); CHKERRQ(ierr);
235+
PetscCall( PetscFunctionListDestroy(&app_ctx->problems) );
240236

241237
// -- Structs
242-
ierr = PetscFree(app_ctx); CHKERRQ(ierr);
243-
ierr = PetscFree(problem_data); CHKERRQ(ierr);
244-
ierr = PetscFree(user); CHKERRQ(ierr);
245-
ierr = PetscFree(phys_ctx->darcy2d_ctx); CHKERRQ(ierr);
246-
ierr = PetscFree(phys_ctx->darcy3d_ctx); CHKERRQ(ierr);
247-
ierr = PetscFree(phys_ctx); CHKERRQ(ierr);
238+
PetscCall( PetscFree(app_ctx) );
239+
PetscCall( PetscFree(problem_data) );
240+
PetscCall( PetscFree(user) );
241+
PetscCall( PetscFree(phys_ctx->darcy2d_ctx) );
242+
PetscCall( PetscFree(phys_ctx->darcy3d_ctx) );
243+
PetscCall( PetscFree(phys_ctx) );
248244

249245
// Free libCEED objects
250246
CeedVectorDestroy(&rhs_ceed);
251247
CeedVectorDestroy(&target);
252-
ierr = CeedDataDestroy(ceed_data); CHKERRQ(ierr);
248+
PetscCall( CeedDataDestroy(ceed_data) );
253249
CeedDestroy(&ceed);
254250

255251
return PetscFinalize();

examples/Hdiv-mixed/problems/darcy2d.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,9 @@
2828
PetscErrorCode Hdiv_DARCY2D(ProblemData *problem_data, void *ctx) {
2929
User user = *(User *)ctx;
3030
MPI_Comm comm = PETSC_COMM_WORLD;
31-
PetscInt ierr;
3231
PetscFunctionBeginUser;
3332

34-
ierr = PetscCalloc1(1, &user->phys->darcy2d_ctx); CHKERRQ(ierr);
33+
PetscCall( PetscCalloc1(1, &user->phys->darcy2d_ctx) );
3534

3635
// ------------------------------------------------------
3736
// SET UP POISSON_QUAD2D

examples/Hdiv-mixed/problems/darcy3d.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,9 @@
2828
PetscErrorCode Hdiv_DARCY3D(ProblemData *problem_data, void *ctx) {
2929
User user = *(User *)ctx;
3030
MPI_Comm comm = PETSC_COMM_WORLD;
31-
PetscInt ierr;
3231
PetscFunctionBeginUser;
3332

34-
ierr = PetscCalloc1(1, &user->phys->darcy3d_ctx); CHKERRQ(ierr);
33+
PetscCall( PetscCalloc1(1, &user->phys->darcy3d_ctx) );
3534

3635
// ------------------------------------------------------
3736
// SET UP POISSON_QUAD2D

examples/Hdiv-mixed/src/boundary.c

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@
44
// Create boundary label
55
// ---------------------------------------------------------------------------
66
PetscErrorCode CreateBCLabel(DM dm, const char name[]) {
7-
PetscErrorCode ierr;
87
DMLabel label;
98

109
PetscFunctionBeginUser;
1110

12-
ierr = DMCreateLabel(dm, name); CHKERRQ(ierr);
13-
ierr = DMGetLabel(dm, name, &label); CHKERRQ(ierr);
14-
ierr = DMPlexMarkBoundaryFaces(dm, PETSC_DETERMINE, label); CHKERRQ(ierr);
15-
ierr = DMPlexLabelComplete(dm, label); CHKERRQ(ierr);
11+
PetscCall( DMCreateLabel(dm, name) );
12+
PetscCall( DMGetLabel(dm, name, &label) );
13+
PetscCall( DMPlexMarkBoundaryFaces(dm, PETSC_DETERMINE, label) );
14+
PetscCall( DMPlexLabelComplete(dm, label) );
1615

1716
PetscFunctionReturn(0);
1817
};
@@ -21,22 +20,21 @@ PetscErrorCode CreateBCLabel(DM dm, const char name[]) {
2120
// Add Dirichlet boundaries to DM
2221
// ---------------------------------------------------------------------------
2322
PetscErrorCode DMAddBoundariesDirichlet(DM dm) {
24-
PetscErrorCode ierr;
2523

2624
PetscFunctionBeginUser;
2725

2826
// BCs given by manufactured solution
2927
PetscBool has_label;
3028
const char *name = "MMS Face Sets";
3129
PetscInt face_ids[1] = {1};
32-
ierr = DMHasLabel(dm, name, &has_label); CHKERRQ(ierr);
30+
PetscCall( DMHasLabel(dm, name, &has_label) );
3331
if (!has_label) {
34-
ierr = CreateBCLabel(dm, name); CHKERRQ(ierr);
32+
PetscCall( CreateBCLabel(dm, name) );
3533
}
3634
DMLabel label;
37-
ierr = DMGetLabel(dm, name, &label); CHKERRQ(ierr);
38-
ierr = DMAddBoundary(dm, DM_BC_ESSENTIAL, "mms", label, 1, face_ids, 0, 0, NULL,
39-
(void(*)(void))BoundaryDirichletMMS, NULL, NULL, NULL); CHKERRQ(ierr);
35+
PetscCall( DMGetLabel(dm, name, &label) );
36+
PetscCall( DMAddBoundary(dm, DM_BC_ESSENTIAL, "mms", label, 1, face_ids, 0, 0, NULL,
37+
(void(*)(void))BoundaryDirichletMMS, NULL, NULL, NULL) );
4038

4139

4240
PetscFunctionReturn(0);

0 commit comments

Comments
 (0)