TimeStepperTestUtils.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <cstddef>
7 
8 /// \cond
9 class LtsTimeStepper;
10 class TimeStepper;
11 /// \endcond
12 
13 namespace TimeStepperTestUtils {
14 
15 void check_multistep_properties(const TimeStepper& stepper) noexcept;
16 
17 void check_substep_properties(const TimeStepper& stepper) noexcept;
18 
19 void integrate_test(const TimeStepper& stepper, size_t number_of_past_steps,
20  double integration_time, double epsilon) noexcept;
21 
22 void integrate_test_explicit_time_dependence(const TimeStepper& stepper,
23  size_t number_of_past_steps,
24  double integration_time,
25  double epsilon) noexcept;
26 
27 void integrate_variable_test(const TimeStepper& stepper,
28  size_t number_of_past_steps,
29  double epsilon) noexcept;
30 
31 void stability_test(const TimeStepper& stepper) noexcept;
32 
33 void equal_rate_boundary(const LtsTimeStepper& stepper,
34  size_t number_of_past_steps,
35  double epsilon, bool forward) noexcept;
36 
37 void check_convergence_order(const TimeStepper& stepper,
38  int expected_order) noexcept;
39 
40 void check_dense_output(const TimeStepper& stepper,
41  int expected_order) noexcept;
42 
43 void check_boundary_dense_output(const LtsTimeStepper& stepper) noexcept;
44 } // namespace TimeStepperTestUtils
cstddef
TimeStepper
Definition: TimeStepper.hpp:47
LtsTimeStepper
Definition: TimeStepper.hpp:120