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

Generated by: LCOV version 2.0-1