]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Remove use_local_tolerances parameter. 5237/head
authorLuca Heltai <luca.heltai@sissa.it>
Fri, 13 Oct 2017 09:31:54 +0000 (11:31 +0200)
committerLuca Heltai <luca.heltai@sissa.it>
Fri, 13 Oct 2017 09:31:54 +0000 (11:31 +0200)
include/deal.II/sundials/ida.h
source/sundials/ida.cc
tests/sundials/harmonic_oscillator_01.prm

index f13fe1be1a07bf887f4678c47b74da6bc8d4195d..1b6ed41ed02ca5d93323078ce5b3bb67e3c4b1cf 100644 (file)
@@ -288,7 +288,6 @@ namespace SUNDIALS
        *
        * @param absolute_tolerance Absolute error tolerance
        * @param relative_tolerance Relative error tolerance
-       * @param use_local_tolerances Use local tolerances when computing errors
        * @param ignore_algebraic_terms_for_errors Ignore algebraic terms for error computations
        *
        * Initial condition correction parameters:
@@ -309,7 +308,6 @@ namespace SUNDIALS
         // Error parameters
         const double &absolute_tolerance = 1e-6,
         const double &relative_tolerance = 1e-5,
-        const bool &use_local_tolerances = false,
         const bool &ignore_algebraic_terms_for_errors = true,
         // Initial conditions parameters
         const InitialConditionCorrection &ic_type = use_y_diff,
@@ -327,8 +325,7 @@ namespace SUNDIALS
         ic_type(ic_type),
         reset_type(reset_type),
         maximum_non_linear_iterations_ic(maximum_non_linear_iterations_ic),
-        maximum_non_linear_iterations(maximum_non_linear_iterations),
-        use_local_tolerances(use_local_tolerances)
+        maximum_non_linear_iterations(maximum_non_linear_iterations)
       {}
 
       /**
@@ -391,7 +388,6 @@ namespace SUNDIALS
         prm.add_parameter("Ignore algebraic terms for error computations", ignore_algebraic_terms_for_errors,
                           "Indicate whether or not to suppress algebraic variables "
                           "in the local error test.");
-        prm.add_parameter("Use local tolerances", use_local_tolerances);
         prm.leave_subsection();
 
         prm.enter_subsection("Initial condition correction parameters");
@@ -525,11 +521,6 @@ namespace SUNDIALS
        * Maximum number of iterations for Newton method during time advancement.
        */
       unsigned int maximum_non_linear_iterations;
-
-      /**
-       * Use local tolerances when computing absolute tolerance.
-       */
-      bool use_local_tolerances;
     };
 
     /**
@@ -745,12 +736,9 @@ namespace SUNDIALS
 
     /**
      * Return a vector whose components are the weights used by IDA to compute
-     * the vector norm. The implementation of this function is optional, and it
-     * is used only when `use_local_tolerances` is set to true at construction
-     * time, or through the parameter file.
-     *
-     * If you do not overwrite this function and set `use_local_tolerances` to
-     * true, an exception will be thrown when trying to start the time stepper.
+     * the vector norm. The implementation of this function is optional. If the
+     * user does not provide an implementation, the weights are assumed to be all
+     * ones.
      */
     std::function<VectorType&()> get_local_tolerances;
 
index 550f9ddb63009c02b4e9b11e610fce7118599446..188a44cc97fba8a6314b3154d4aa834a98422b44 100644 (file)
@@ -338,7 +338,7 @@ namespace SUNDIALS
     status = IDAInit(ida_mem, t_dae_residual<VectorType>, current_time, yy, yp);
     AssertIDA(status);
 
-    if (data.use_local_tolerances)
+    if (get_local_tolerances)
       {
         copy(abs_tolls, get_local_tolerances());
         status = IDASVtolerances(ida_mem, data.relative_tolerance, abs_tolls);
@@ -486,13 +486,6 @@ namespace SUNDIALS
       const unsigned int size = v->size();
       return complete_index_set(size);
     };
-
-    get_local_tolerances = []() ->VectorType &
-    {
-      std::shared_ptr<VectorType> y;
-      AssertThrow(false, ExcFunctionNotProvided("get_local_tolerances"));
-      return *y;
-    };
   }
 
   template class IDA<Vector<double> >;
index 36b33edc44bb85c90653ceb009bc522ab1aabc48..e37096a16641c7f7f01a8ad1aadcb0a1cc31fd32 100644 (file)
@@ -5,7 +5,6 @@ subsection Error control
   set Absolute error tolerance                      = 1e-6
   set Ignore algebraic terms for error computations = true
   set Relative error tolerance                      = 1e-5
-  set Use local tolerances                          = false
 end
 subsection Initial condition correction parameters
   set Correction type at initial time        = none

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.