SpECTRE Documentation Coverage Report
Current view: top level - Evolution/DiscontinuousGalerkin - TimeSteppingPolicy.hpp Hit Total Coverage
Commit: 3ffcbc8ecf43797401b60bcca17d6040ee06f013 Lines: 2 3 66.7 %
Date: 2026-03-03 02:01:44
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 <cstdint>
       7             : #include <iosfwd>
       8             : 
       9             : namespace evolution::dg {
      10             : /// \brief Treatment of time stepping across an element boundary.
      11             : ///
      12             : /// \details Indicates how boundary corrections should be handled for
      13             : /// local time-stepping across a mortar.  This controls the
      14             : /// communication algorithm and data structures used.
      15             : ///
      16             : /// \note The code controlling the time step will not directly check
      17             : /// this policy, but must be configured to make choices consistent
      18             : /// with it.
      19           1 : enum class TimeSteppingPolicy : uint8_t {
      20             :   /// Default value is uninitialized.
      21             :   Uninitialized,
      22             :   /// The elements on the two sides of the mortar must have the same
      23             :   /// step size.  Communicated boundary corrections will be added
      24             :   /// directly to the volume RHS calculation, and algorithms that are
      25             :   /// not local-time-stepping aware (such as subcell) can be used at
      26             :   /// this boundary.  This is the only valid policy in a global
      27             :   /// time-stepping evolution.
      28             :   EqualRate,
      29             :   /// The elements on the two sides of the mortar may have different
      30             :   /// step sizes.  A flux-conservative boundary integral will be
      31             :   /// performed to couple the elements.
      32             :   Conservative,
      33             : };
      34             : 
      35             : /// Output operator for a TimeSteppingPolicy.
      36           1 : std::ostream& operator<<(std::ostream& os, TimeSteppingPolicy value);
      37             : }  // namespace evolution::dg

Generated by: LCOV version 1.14