]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Convert tests.
authorWolfgang Bangerth <bangerth@colostate.edu>
Thu, 25 May 2023 21:23:18 +0000 (15:23 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Thu, 25 May 2023 21:23:18 +0000 (15:23 -0600)
tests/petsc/petsc_snes_00.cc
tests/petsc/petsc_snes_01.cc
tests/petsc/petsc_snes_02.cc
tests/petsc/petsc_snes_03.cc
tests/petsc/petsc_snes_04.cc

index ddc9c38752516657b1e3021b5cb4b78de4dff050..58ffea706a1a0f6d8f7035d663590317f1150c22 100644 (file)
@@ -69,21 +69,19 @@ main(int argc, char **argv)
     // Here we only pass the callback for the function evaluation
     // The tangent system will be approximated via matrix-free finite
     // differencing.
-    solver.residual = [&](const VectorType &X, VectorType &F) -> int {
+    solver.residual = [&](const VectorType &X, VectorType &F) -> void {
       auto x = X[0];
       auto y = X[1];
       F(0)   = std::pow(x - std::pow(y, 3) + 1, 3) - std::pow(y, 3);
       F(1)   = x + 2 * y - 3;
       F.compress(VectorOperation::insert);
-      return 0;
     };
 
     // Test attaching a user-defined monitoring routine
     solver.monitor = [&](const VectorType & X,
                          const unsigned int step,
-                         const real_type    fval) -> int {
+                         const real_type    fval) -> void {
       out << "#    " << step << ": " << fval << std::endl;
-      return 0;
     };
 
     // Create and initialize solution vector
@@ -102,13 +100,12 @@ main(int argc, char **argv)
 
     Solver solver(data);
 
-    solver.residual = [&](const VectorType &X, VectorType &F) -> int {
+    solver.residual = [&](const VectorType &X, VectorType &F) -> void {
       auto x = X[0];
       auto y = X[1];
       F(0)   = std::pow(x - std::pow(y, 3) + 1, 3) - std::pow(y, 3);
       F(1)   = x + 2 * y - 3;
       F.compress(VectorOperation::insert);
-      return 0;
     };
 
     // Here we use the Jacobian callback following the PETSc style,
@@ -118,7 +115,7 @@ main(int argc, char **argv)
     // will handle the case of users requesting Jacobian-free Newton
     // Krylov (i.e. using -snes_mf_operator)
     solver.jacobian =
-      [&](const VectorType &X, MatrixType &A, MatrixType &P) -> int {
+      [&](const VectorType &X, MatrixType &A, MatrixType &P) -> void {
       auto x    = X[0];
       auto y    = X[1];
       auto f0_x = 3 * std::pow(x - std::pow(y, 3) + 1, 2);
@@ -129,7 +126,6 @@ main(int argc, char **argv)
       P.set(1, 0, 1);
       P.set(1, 1, 2);
       P.compress(VectorOperation::insert);
-      return 0;
     };
 
     VectorType x(MPI_COMM_SELF, 2, 2);
@@ -150,13 +146,12 @@ main(int argc, char **argv)
 
     Solver solver(data);
 
-    solver.residual = [&](const VectorType &X, VectorType &F) -> int {
+    solver.residual = [&](const VectorType &X, VectorType &F) -> void {
       auto x = X[0];
       auto y = X[1];
       F(0)   = std::pow(x - std::pow(y, 3) + 1, 3) - std::pow(y, 3);
       F(1)   = x + 2 * y - 3;
       F.compress(VectorOperation::insert);
-      return 0;
     };
 
     // When users want to be in full control of the linear system
@@ -165,7 +160,7 @@ main(int argc, char **argv)
     // during setup_jacobian and we use it in the solve phase
     FullMatrix<double> Jinv(2, 2);
 
-    solver.setup_jacobian = [&](const VectorType &X) -> int {
+    solver.setup_jacobian = [&](const VectorType &X) -> void {
       auto x    = X[0];
       auto y    = X[1];
       auto f0_x = 3 * std::pow(x - std::pow(y, 3) + 1, 2);
@@ -177,7 +172,6 @@ main(int argc, char **argv)
       J(1, 0) = 1;
       J(1, 1) = 2;
       Jinv.invert(J);
-      return 0;
     };
 
     // Solve phase. By default, PETSc will use this callback as a preconditioner
@@ -185,11 +179,10 @@ main(int argc, char **argv)
     // solvers can still be used in a Jacobian-free way and selected at command
     // line or within user code.
     solver.solve_with_jacobian = [&](const VectorType &src,
-                                     VectorType &      dst) -> int {
+                                     VectorType &      dst) -> void {
       dst(0) = Jinv(0, 0) * src(0) + Jinv(0, 1) * src(1);
       dst(1) = Jinv(1, 0) * src(0) + Jinv(1, 1) * src(1);
       dst.compress(VectorOperation::insert);
-      return 0;
     };
 
     VectorType x(MPI_COMM_SELF, 2, 2);
@@ -201,6 +194,4 @@ main(int argc, char **argv)
     out << "#   Solution " << x[0] << ", " << x[1] << std::endl;
     out << "#   Iterations " << nit << std::endl;
   }
-
-  return 0;
 }
index 916d70fe1d01f77ec9d89dff16a834046d7e3ae3..db1d2a364b2e778fae2518c7e6c4e8f5901d5307 100644 (file)
@@ -51,14 +51,13 @@ main(int argc, char **argv)
 
     Solver solver;
 
-    solver.residual = [&](const VectorType &X, VectorType &F) -> int {
+    solver.residual = [&](const VectorType &X, VectorType &F) -> void {
       auto x = X.block(0)[0];
       auto y = X.block(1)[0];
 
       F.block(0)[0] = std::pow(x - std::pow(y, 3) + 1, 3) - std::pow(y, 3);
       F.block(1)[0] = x + 2 * y - 3;
       F.compress(VectorOperation::insert);
-      return 0;
     };
 
     VectorType x(2, MPI_COMM_SELF, 1, 1);
@@ -75,18 +74,17 @@ main(int argc, char **argv)
 
     Solver solver;
 
-    solver.residual = [&](const VectorType &X, VectorType &F) -> int {
+    solver.residual = [&](const VectorType &X, VectorType &F) -> void {
       auto x = X.block(0)[0];
       auto y = X.block(1)[0];
 
       F.block(0)[0] = std::pow(x - std::pow(y, 3) + 1, 3) - std::pow(y, 3);
       F.block(1)[0] = x + 2 * y - 3;
       F.compress(VectorOperation::insert);
-      return 0;
     };
 
     solver.jacobian =
-      [&](const VectorType &X, MatrixType &A, MatrixType &P) -> int {
+      [&](const VectorType &X, MatrixType &A, MatrixType &P) -> void {
       auto x    = X.block(0)[0];
       auto y    = X.block(1)[0];
       auto f0_x = 3 * std::pow(x - std::pow(y, 3) + 1, 2);
@@ -97,7 +95,6 @@ main(int argc, char **argv)
       P.block(1, 0).set(0, 0, 1);
       P.block(1, 1).set(0, 0, 2);
       P.compress(VectorOperation::insert);
-      return 0;
     };
 
     VectorType x(2, MPI_COMM_SELF, 1, 1);
@@ -132,19 +129,18 @@ main(int argc, char **argv)
 
     Solver solver;
 
-    solver.residual = [&](const VectorType &X, VectorType &F) -> int {
+    solver.residual = [&](const VectorType &X, VectorType &F) -> void {
       auto x = X.block(0)[0];
       auto y = X.block(1)[0];
 
       F.block(0)[0] = std::pow(x - std::pow(y, 3) + 1, 3) - std::pow(y, 3);
       F.block(1)[0] = x + 2 * y - 3;
       F.compress(VectorOperation::insert);
-      return 0;
     };
 
     FullMatrix<double> Jinv(2, 2);
 
-    solver.setup_jacobian = [&](const VectorType &X) -> int {
+    solver.setup_jacobian = [&](const VectorType &X) -> void {
       auto x    = X.block(0)[0];
       auto y    = X.block(1)[0];
       auto f0_x = 3 * std::pow(x - std::pow(y, 3) + 1, 2);
@@ -156,17 +152,15 @@ main(int argc, char **argv)
       J(1, 0) = 1;
       J(1, 1) = 2;
       Jinv.invert(J);
-      return 0;
     };
 
     solver.solve_with_jacobian = [&](const VectorType &src,
-                                     VectorType &      dst) -> int {
+                                     VectorType &      dst) -> void {
       dst.block(0)[0] =
         Jinv(0, 0) * src.block(0)[0] + Jinv(0, 1) * src.block(1)[0];
       dst.block(1)[0] =
         Jinv(1, 0) * src.block(0)[0] + Jinv(1, 1) * src.block(1)[0];
       dst.compress(VectorOperation::insert);
-      return 0;
     };
 
     VectorType x(2, MPI_COMM_SELF, 1, 1);
@@ -177,6 +171,4 @@ main(int argc, char **argv)
     out << "#   Solution " << x[0] << ", " << x[1] << std::endl;
     out << "#   Iterations " << nit << std::endl;
   }
-
-  return 0;
 }
index 35fc9759d47954100299b684fea788dc32450472..7975927d9e87003f5f033f42125a13fdc136a6e7 100644 (file)
@@ -81,5 +81,4 @@ main(int argc, char **argv)
     {
       deallog << exc.what() << std::endl;
     }
-  return 0;
 }
index b7d48a2671a0dfba2818279749655ce0dfe7276c..f9c5b8e371c5191d2acffe3b510f6e33d60065b4 100644 (file)
@@ -46,14 +46,12 @@ main(int argc, char **argv)
   {
     Solver solver;
 
-    solver.energy = [&](const VectorType &X, real_type &v) -> int {
+    solver.energy = [&](const VectorType &X, real_type &v) -> void {
       v = X.norm_sqr();
-      return 0;
     };
 
-    solver.residual = [&](const VectorType &X, VectorType &F) -> int {
+    solver.residual = [&](const VectorType &X, VectorType &F) -> void {
       F.equ(2, X);
-      return 0;
     };
 
     auto       commsize = Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD);
@@ -66,5 +64,4 @@ main(int argc, char **argv)
     deallog << "Iterations " << nit << std::endl;
     x.print(deallog.get_file_stream());
   }
-  return 0;
 }
index 9f09ff4424ac1d7c9269f6fcb97734566e3eae8a..498cfd8c93f783aad04bfec9c646a8c07fb5a34f 100644 (file)
@@ -42,9 +42,8 @@ main(int argc, char **argv)
 
     Solver solver(data);
 
-    solver.residual = [&](const VectorType &X, VectorType &F) -> int {
+    solver.residual = [&](const VectorType &X, VectorType &F) -> void {
       F.equ(2, X);
-      return 0;
     };
 
     auto       commsize = Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD);
@@ -61,5 +60,4 @@ main(int argc, char **argv)
         deallog << exc.what() << std::endl;
       }
   }
-  return 0;
 }

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.