SpECTRE Documentation Coverage Report
Current view: top level - PointwiseFunctions/ScalarTensor/ScalarGaussBonnet - CouplingParameters.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 4.8 % 21 1
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 <cstddef>
       7              : #include <limits>
       8              : 
       9              : #include "Options/String.hpp"
      10              : #include "Utilities/TMPL.hpp"
      11              : 
      12              : /// \cond
      13              : namespace PUP {
      14              : class er;
      15              : }  // namespace PUP
      16              : /// \endcond
      17              : 
      18              : namespace ScalarTensor {
      19              : 
      20              : /*!
      21              :  * \brief Linear, quadratic and quartic coupling parameters to curvature.
      22              :  */
      23            1 : struct CouplingParameterOptions {
      24            0 :   static constexpr Options::String help = {
      25              :       "Options for coupling parameters to curvature."};
      26              : 
      27            0 :   struct Linear {
      28            0 :     using type = double;
      29            0 :     static constexpr Options::String help = "Linear coupling parameter.";
      30              :   };
      31              : 
      32            0 :   struct Quadratic {
      33            0 :     using type = double;
      34            0 :     static constexpr Options::String help = "Quadratic coupling parameter.";
      35              :   };
      36              : 
      37            0 :   struct Quartic {
      38            0 :     using type = double;
      39            0 :     static constexpr Options::String help = "Quartic coupling parameter.";
      40              :   };
      41              : 
      42            0 :   using options = tmpl::list<Linear, Quadratic, Quartic>;
      43              : 
      44            0 :   CouplingParameterOptions() = default;
      45            0 :   CouplingParameterOptions(double linear_in, double quadratic_in,
      46              :                            double quartic_in);
      47              : 
      48              :   // NOLINTNEXTLINE(google-runtime-references)
      49            0 :   void pup(PUP::er& p);
      50              : 
      51            0 :   double linear{std::numeric_limits<double>::signaling_NaN()};
      52            0 :   double quadratic{std::numeric_limits<double>::signaling_NaN()};
      53            0 :   double quartic{std::numeric_limits<double>::signaling_NaN()};
      54              : };
      55              : 
      56            0 : bool operator==(const CouplingParameterOptions& lhs,
      57              :                 const CouplingParameterOptions& rhs);
      58            0 : bool operator!=(const CouplingParameterOptions& lhs,
      59              :                 const CouplingParameterOptions& rhs);
      60              : 
      61              : }  // namespace ScalarTensor
        

Generated by: LCOV version 2.0-1