SpECTRE Documentation Coverage Report
Current view: top level - Time - StepperErrorEstimate.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 60.0 % 10 6
Test Date: 2026-10-22 17:29:42
Legend: Lines:     hit not hit

            Line data    Source code
       1            0 : // Distributed under the MIT License.
       2              : // See LICENSE.txt for details.
       3              : 
       4              : #pragma once
       5              : 
       6              : #include <array>
       7              : #include <cstddef>
       8              : #include <optional>
       9              : 
      10              : #include "Time/Time.hpp"
      11              : 
      12              : /// \cond
      13              : namespace PUP {
      14              : class er;
      15              : }  // namespace PUP
      16              : /// \endcond
      17              : 
      18              : /// \ingroup TimeGroup
      19              : /// Estimate of the TimeStepper truncation error.
      20            1 : struct StepperErrorEstimate {
      21              :   /// Start of the step the estimate is for.
      22            1 :   Time step_time{};
      23              :   /// Size of the step the estimate is for.
      24            1 :   TimeDelta step_size{};
      25              :   /// Order of accuracy of the primary estimate.
      26            1 :   size_t order{};
      27              :   /// Error estimates.  The entry `errors[order]`, with `order` the
      28              :   /// previous member of this struct, is the estimated error of the
      29              :   /// time step, and has a convenience accessor `step_error()`.  Other
      30              :   /// entries are estimations of the error if the order of a
      31              :   /// variable-order stepper were to be changed.  The error
      32              :   /// `errors[i]` should scale approximately as $(\Delta t)^{i + 1}$.
      33            1 :   std::array<std::optional<double>, 8> errors{};
      34              : 
      35            0 :   StepperErrorEstimate() = default;
      36            0 :   StepperErrorEstimate(Time step_time_in, TimeDelta step_size_in,
      37              :                        size_t order_in, double step_error_in);
      38              : 
      39              :   /// Convenience accessor for `errors[order].value()`.
      40            1 :   double step_error() const;
      41              : 
      42            0 :   void pup(PUP::er& p);
      43              : };
        

Generated by: LCOV version 2.0-1