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_variable_test(const TimeStepper& stepper,
23  size_t number_of_past_steps,
24  double epsilon) noexcept;
25 
26 void stability_test(const TimeStepper& stepper) noexcept;
27 
28 void equal_rate_boundary(const LtsTimeStepper& stepper,
29  size_t number_of_past_steps,
30  double epsilon, bool forward) noexcept;
31 
32 void check_convergence_order(const TimeStepper& stepper,
33  int expected_order) noexcept;
34 
35 void check_dense_output(const TimeStepper& stepper,
36  int expected_order) noexcept;
37 
38 void check_boundary_dense_output(const LtsTimeStepper& stepper) noexcept;
39 } // namespace TimeStepperTestUtils
Definition: TimeStepperTestUtils.cpp:27
Abstract base class for TimeSteppers.
Definition: TimeStepper.hpp:47
Base class for TimeSteppers with local time-stepping support, derived from TimeStepper.
Definition: TimeStepper.hpp:120