]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Minor adaptions to TS and SNES classes
authorStefano Zampini <stefano.zampini@gmail.com>
Sat, 22 Apr 2023 18:40:38 +0000 (21:40 +0300)
committerStefano Zampini <stefano.zampini@gmail.com>
Sun, 23 Apr 2023 13:58:41 +0000 (16:58 +0300)
include/deal.II/lac/petsc_snes.h
include/deal.II/lac/petsc_ts.h
include/deal.II/lac/petsc_ts.templates.h
source/lac/petsc_ts.cc
tests/petsc/petsc_ts_02.cc

index ebae3fa4dabb19d5864ca97c2cc118edcd6cbd3c..c91df7e0fe9e2aeb766bb27848e4b80cbd082770 100644 (file)
@@ -203,8 +203,8 @@ namespace PETScWrappers
    * ./myApp -snes_type newtontr -ksp_type cg
    * @endcode
    * in case the user wants to change the default nonlinear solver to
-   * a trust region solver and iterate on the tangent system with CG,
-   * still using NonlinearSolver::solve_with_jacobian as a preconditioner.
+   * a trust region solver and iterate on the matrix-free tangent system with
+   * CG, still using NonlinearSolver::solve_with_jacobian as a preconditioner.
    *
    * The first approach has instead the advantage that only the matrix assembly
    * procedure has to be provided, thus allowing quicker implementations and
@@ -213,6 +213,8 @@ namespace PETScWrappers
    * @code
    * ./myApp -ksp_type cg -pc_type gamg
    * @endcode
+   * See NonlinearSolver::set_matrix and NonlinearSolver::set_matrices for
+   * additional details.
    *
    * In case the nonlinear equations are derived from energy minimization
    * arguments, it may be beneficial to perform linesearch or test trust-region
index 3dc726407f56686bd52af5d0f03134e529bae55e..1ca9a5856894142da89e90959e741b361efd07e9 100644 (file)
@@ -61,7 +61,7 @@ namespace PETScWrappers
      *
      * Error parameters:
      *
-     * @param tsadapttype The string indicating the PETSc time step adaptor type.
+     * @param ts_adapt_type The string indicating the PETSc time step adaptor type.
      * @param minimum_step_size Minimum step size allowed.
      * @param maximum_step_size Maximum step size allowed.
      * @param absolute_tolerance Absolute error tolerance.
@@ -89,7 +89,7 @@ namespace PETScWrappers
       const int          max_steps         = -1,
       const bool         match_step        = false,
       // Error parameters
-      const std::string &tsadapttype          = "none",
+      const std::string &ts_adapt_type        = "none",
       const real_type    minimum_step_size    = -1.0,
       const real_type    maximum_step_size    = -1.0,
       const real_type    absolute_tolerance   = -1.0,
@@ -102,7 +102,7 @@ namespace PETScWrappers
       , initial_step_size(initial_step_size)
       , max_steps(max_steps)
       , match_step(match_step)
-      , tsadapttype(tsadapttype)
+      , ts_adapt_type(ts_adapt_type)
       , minimum_step_size(minimum_step_size)
       , maximum_step_size(maximum_step_size)
       , absolute_tolerance(absolute_tolerance)
@@ -158,7 +158,7 @@ namespace PETScWrappers
     /**
      * PETSc time step adaptor type.
      */
-    std::string tsadapttype;
+    std::string ts_adapt_type;
 
     /**
      * Minimum allowed step size for adaptive time stepping.
@@ -283,6 +283,8 @@ namespace PETScWrappers
    * @code
    * ./myApp -ksp_type cg -pc_type gamg
    * @endcode
+   * See TimeStepper::set_matrix and TimeStepper::set_matrices for
+   * additional details.
    *
    * @ingroup PETScWrappers
    */
index 91d3268c64aef26b14604ec6f89f61d4b0f87919..61ac4d3b99b2631e861423dc77b1cf26e030b560 100644 (file)
@@ -178,7 +178,7 @@ namespace PETScWrappers
     // Adaptive time stepping
     TSAdapt tsadapt;
     AssertPETSc(TSGetAdapt(ts, &tsadapt));
-    AssertPETSc(TSAdaptSetType(tsadapt, data.tsadapttype.c_str()));
+    AssertPETSc(TSAdaptSetType(tsadapt, data.ts_adapt_type.c_str()));
 
     // As of 3.19, PETSc does not propagate options prefixes to the
     // adaptors.
index f54cdc0b2075e8c5aecf711ed59a7de0cbc84efd..823379263b583a2dbf74ae96957615844fdb0689 100644 (file)
@@ -57,7 +57,7 @@ namespace PETScWrappers
 
     prm.enter_subsection("Error control");
     prm.add_parameter("adaptor type",
-                      tsadapttype,
+                      ts_adapt_type,
                       "The string for the TSAdapt type.");
     prm.add_parameter("minimum step size",
                       minimum_step_size,
index 43315dc92f63d1d6c1fc4151c55edcbde0315d4b..2c9dc4429d031e61af6c450d57bbef1913f1af90 100644 (file)
@@ -35,9 +35,9 @@ public:
   {
     // Customize solver: use BDF and basic adaptive time stepping
     PETScWrappers::TimeStepperData data;
-    data.ts_type     = "bdf";
-    data.final_time  = 1.0;
-    data.tsadapttype = "basic";
+    data.ts_type       = "bdf";
+    data.final_time    = 1.0;
+    data.ts_adapt_type = "basic";
     reinit(data);
 
     // Here we solve the two variables system:

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.