From dc5e9d4f6587049cb1879035868409a02ed3a950 Mon Sep 17 00:00:00 2001 From: David Wells Date: Fri, 3 Jun 2022 17:43:57 -0400 Subject: [PATCH] Remove references to older SUNDIALS versions. --- include/deal.II/sundials/arkode.h | 28 +++++++++++----------------- include/deal.II/sundials/ida.h | 16 ++++++---------- tests/sundials/arkode_04.cc | 2 +- 3 files changed, 18 insertions(+), 28 deletions(-) diff --git a/include/deal.II/sundials/arkode.h b/include/deal.II/sundials/arkode.h index 1d8fc96e86..3cfa8b877b 100644 --- a/include/deal.II/sundials/arkode.h +++ b/include/deal.II/sundials/arkode.h @@ -198,10 +198,9 @@ namespace SUNDIALS * $f_I(t, y)$ depends linearly on $y$, and if the Newton-based nonlinear * solver is chosen, then the system will be solved using only a single * Newton iteration. Notice that in order for the Newton solver to be used, - * at least the jacobian_times_vector() function (or solve_jacobian_system() - * for SUNDIALS version > 4.0.0) should be supplied. If this function is not - * supplied, then only the fixed-point iteration will be supported, and the - *`implicit_function_is_linear` setting is ignored. + * then jacobian_times_vector() should be supplied. If it is not supplied then + * only the fixed-point iteration will be supported, and the + * `implicit_function_is_linear` setting is ignored. * * The optimal solver (Newton vs fixed-point) is highly problem-dependent. * Since fixed-point solvers do not require the solution of any linear @@ -234,27 +233,22 @@ namespace SUNDIALS * - explicit_function() * * If the mass matrix is different from the identity, the user should supply - * - mass_times_vector() (or solve_mass_system() for SUNDIALS version - * < 4.0.0) and, optionally, - * - mass_times_setup() (or setup_mass() for SUNDIALS version < 4.0.0) + * - mass_times_vector() and, optionally, + * - mass_times_setup() * * If the use of a Newton method is desired, then the user should also supply - * - jacobian_times_vector (or solve_jacobian_system() for SUNDIALS version - * < 4.0.0) - * - optional: jacobian_times_setup() (or setup_jacobian() for SUNDIALS - * version < 4.0.0) + * jacobian_times_vector(). jacobian_times_setup() is optional. * * @note Although SUNDIALS can provide a difference quotient approximation * of the Jacobian, this is currently not supported through this wrapper. * - * Only for SUNDIALS version > 4.0.0: A SUNDIALS default solver (SPGMR) is - * used to solve the linear systems. To use a custom linear solver for the - * mass matrix and/or Jacobian, set: + * A SUNDIALS default solver (SPGMR) is used to solve the linear systems. To + * use a custom linear solver for the mass matrix and/or Jacobian, set: * - solve_mass() and/or - * - solve_jacobian() + * - solve_linearized_system() * - * Only for SUNDIALS version > 4.0.0: To use a custom preconditioner with - * either a default or custom linear solver, set: + * To use a custom preconditioner with either a default or custom linear + * solver, set: * - jacobian_preconditioner_solve() and/or mass_preconditioner_solve() * and, optionally, * - jacobian_preconditioner_setup() and/or mass_preconditioner_setup() diff --git a/include/deal.II/sundials/ida.h b/include/deal.II/sundials/ida.h index 7e374851da..562f8dd469 100644 --- a/include/deal.II/sundials/ida.h +++ b/include/deal.II/sundials/ida.h @@ -69,10 +69,8 @@ namespace SUNDIALS * - setup_jacobian; * - solve_jacobian_system/solve_with_jacobian; * - * The function `solve_jacobian_system` should be implemented for SUNDIALS - * < 4.0.0. For later versions, you should use - * `solve_with_jacobian` to leverage better non-linear - * algorithms. + * The function solve_jacobian_system() is deprecated. You should use + * solve_with_jacobian() to leverage better non-linear algorithms. * * Optionally, also the following functions could be provided. By default * they do nothing, or are not required. If you call the constructor in a way @@ -659,9 +657,8 @@ namespace SUNDIALS * Compute Jacobian. This function is called by IDA any time a Jacobian * update is required. The user should compute the Jacobian (or update all * the variables that allow the application of the Jacobian). This function - * is called by IDA once, before any call to solve_jacobian_system() (for - * SUNDIALS < 4.0.0) or solve_with_jacobian() (for - * SUNDIALS >= 4.0.0). + * is called by IDA once, before any call to solve_jacobian_system() or + * solve_with_jacobian(). * * The Jacobian $J$ should be a (possibly inexact) computation of * \f[ @@ -723,9 +720,8 @@ namespace SUNDIALS * - <0: Unrecoverable error the computation will be aborted and an * assertion will be thrown. * - * @warning Starting with SUNDIALS 4.1, SUNDIALS provides the possibility of - * specifying the tolerance for the resolution. A part from the tolerance - * only `rhs` is provided and `dst` needs to be returned. + * @deprecated Use solve_with_jacobian() instead which also uses a numerical + * tolerance. */ DEAL_II_DEPRECATED std::function diff --git a/tests/sundials/arkode_04.cc b/tests/sundials/arkode_04.cc index 5d3f2ad19f..f9665134ed 100644 --- a/tests/sundials/arkode_04.cc +++ b/tests/sundials/arkode_04.cc @@ -23,7 +23,7 @@ #include "../tests.h" -// Test implicit-explicit time stepper. Only solve_jacobian_system. +// Test implicit-explicit time stepper. Only jacobian_times_vector. // Brusselator benchmark /** -- 2.39.5