SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/NewtonianMhd/Limiters - VariablesToLimit.hpp Coverage Total Hit
Commit: a37d7b3c1803b88b537d2aef1c27ca5e6b499398 Lines: 0.0 % 6 0
Test Date: 2026-11-12 04:47:19
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 <ostream>
       7              : 
       8              : /// \cond
       9              : namespace Options {
      10              : class Option;
      11              : template <typename T>
      12              : struct create_from_yaml;
      13              : }  // namespace Options
      14              : /// \endcond
      15              : 
      16              : namespace NewtonianMhd::Limiters {
      17              : /// \ingroup LimitersGroup
      18              : /// \brief Type of NewtonianMhd variables to apply limiter to
      19              : ///
      20              : /// \note The option `Characteristic` denotes the characteristic fields computed
      21              : /// from the analytic expression, whereas the option `NumericalCharacteristic`
      22              : /// denotes the fields as computed numerically by solving for the eigenvectors
      23              : /// of the flux Jacobian.
      24              : ///
      25              : /// Initial experiments with limiting in a Reimann problem by FH suggest the
      26              : /// numerical eigenvectors can sometimes produce more accurate results than the
      27              : /// analytic ones (does the numerical solution give a better linear combination
      28              : /// of the degenerate eigenvectors?), and is not too much more expensive
      29              : /// (probably the expense of the limiter as a whole dominates). More testing is
      30              : /// needed to verify and understand this...
      31            0 : enum class VariablesToLimit {
      32              :   Conserved,
      33              :   Characteristic,
      34              :   NumericalCharacteristic
      35              : };
      36              : 
      37            0 : std::ostream& operator<<(std::ostream& os, VariablesToLimit vars_to_limit);
      38              : }  // namespace NewtonianMhd::Limiters
      39              : 
      40              : template <>
      41            0 : struct Options::create_from_yaml<NewtonianMhd::Limiters::VariablesToLimit> {
      42              :   template <typename Metavariables>
      43            0 :   static NewtonianMhd::Limiters::VariablesToLimit create(
      44              :       const Options::Option& options) {
      45              :     return create<void>(options);
      46              :   }
      47              : };
      48              : 
      49              : template <>
      50            0 : NewtonianMhd::Limiters::VariablesToLimit
      51              : Options::create_from_yaml<NewtonianMhd::Limiters::VariablesToLimit>::create<
      52              :     void>(const Options::Option& options);
        

Generated by: LCOV version 2.0-1