SpECTRE Documentation Coverage Report
Current view: top level - PointwiseFunctions/GeneralRelativity/GeneralizedHarmonic - ConstraintDampingTags.hpp Hit Total Coverage
Commit: 1f2210958b4f38fdc0400907ee7c6d5af5111418 Lines: 6 37 16.2 %
Date: 2025-12-05 05:03:31
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 <memory>
       8             : 
       9             : #include "DataStructures/DataBox/Prefixes.hpp"
      10             : #include "Options/String.hpp"
      11             : #include "PointwiseFunctions/ConstraintDamping/DampingFunction.hpp"
      12             : 
      13             : /// \cond
      14             : namespace gh::OptionTags {
      15             : struct Group;
      16             : }  // namespace gh::OptionTags
      17             : /// \endcond
      18             : 
      19             : namespace gh {
      20             : namespace OptionTags {
      21             : template <size_t VolumeDim, typename Fr>
      22           0 : struct DampingFunctionGamma0 {
      23           0 :   using type =
      24             :       std::unique_ptr<::ConstraintDamping::DampingFunction<VolumeDim, Fr>>;
      25           0 :   static constexpr Options::String help{
      26             :       "DampingFunction for damping parameter gamma0"};
      27           0 :   using group = gh::OptionTags::Group;
      28             : };
      29             : 
      30             : template <size_t VolumeDim, typename Fr>
      31           0 : struct DampingFunctionGamma1 {
      32           0 :   using type =
      33             :       std::unique_ptr<::ConstraintDamping::DampingFunction<VolumeDim, Fr>>;
      34           0 :   static constexpr Options::String help{
      35             :       "DampingFunction for damping parameter gamma1"};
      36           0 :   using group = gh::OptionTags::Group;
      37             : };
      38             : 
      39             : template <size_t VolumeDim, typename Fr>
      40           0 : struct DampingFunctionGamma2 {
      41           0 :   using type =
      42             :       std::unique_ptr<::ConstraintDamping::DampingFunction<VolumeDim, Fr>>;
      43           0 :   static constexpr Options::String help{
      44             :       "DampingFunction for damping parameter gamma2"};
      45           0 :   using group = gh::OptionTags::Group;
      46             : };
      47             : }  // namespace OptionTags
      48             : 
      49             : namespace Tags {
      50             : /*!
      51             :  * \brief Constraint dammping parameter \f$\gamma_0\f$ for the generalized
      52             :  * harmonic system (cf. \cite Lindblom2005qh).
      53             :  */
      54           1 : struct ConstraintGamma0 : db::SimpleTag {
      55           0 :   using type = Scalar<DataVector>;
      56             : };
      57             : 
      58             : /*!
      59             :  * \brief Constraint dammping parameter \f$\gamma_1\f$ for the generalized
      60             :  * harmonic system (cf. \cite Lindblom2005qh).
      61             :  */
      62           1 : struct ConstraintGamma1 : db::SimpleTag {
      63           0 :   using type = Scalar<DataVector>;
      64             : };
      65             : 
      66             : /*!
      67             :  * \brief Constraint dammping parameter \f$\gamma_2\f$ for the generalized
      68             :  * harmonic system (cf. \cite Lindblom2005qh).
      69             :  */
      70           1 : struct ConstraintGamma2 : db::SimpleTag {
      71           0 :   using type = Scalar<DataVector>;
      72             : };
      73             : 
      74             : /*!
      75             :  * \brief A DampingFunction to compute the constraint damping parameter
      76             :  * \f$\gamma_0\f$.
      77             :  */
      78             : template <size_t VolumeDim, typename Fr>
      79           1 : struct DampingFunctionGamma0 : db::SimpleTag {
      80           0 :   using DampingFunctionType =
      81             :       ::ConstraintDamping::DampingFunction<VolumeDim, Fr>;
      82           0 :   using type = std::unique_ptr<DampingFunctionType>;
      83           0 :   using option_tags =
      84             :       tmpl::list<::gh::OptionTags::DampingFunctionGamma0<VolumeDim, Fr>>;
      85             : 
      86           0 :   static constexpr bool pass_metavariables = false;
      87           0 :   static type create_from_options(const type& damping_function) {
      88             :     return damping_function->get_clone();
      89             :   }
      90             : };
      91             : 
      92             : /*!
      93             :  * \brief A DampingFunction to compute the constraint damping parameter
      94             :  * \f$\gamma_0\f$.
      95             :  */
      96             : template <size_t VolumeDim, typename Fr>
      97           1 : struct DampingFunctionGamma1 : db::SimpleTag {
      98           0 :   using DampingFunctionType =
      99             :       ::ConstraintDamping::DampingFunction<VolumeDim, Fr>;
     100           0 :   using type = std::unique_ptr<DampingFunctionType>;
     101           0 :   using option_tags =
     102             :       tmpl::list<::gh::OptionTags::DampingFunctionGamma1<VolumeDim, Fr>>;
     103             : 
     104           0 :   static constexpr bool pass_metavariables = false;
     105           0 :   static type create_from_options(const type& damping_function) {
     106             :     return damping_function->get_clone();
     107             :   }
     108             : };
     109             : 
     110             : /*!
     111             :  * \brief A DampingFunction to compute the constraint damping parameter
     112             :  * \f$\gamma_0\f$.
     113             :  */
     114             : template <size_t VolumeDim, typename Fr>
     115           1 : struct DampingFunctionGamma2 : db::SimpleTag {
     116           0 :   using DampingFunctionType =
     117             :       ::ConstraintDamping::DampingFunction<VolumeDim, Fr>;
     118           0 :   using type = std::unique_ptr<DampingFunctionType>;
     119           0 :   using option_tags =
     120             :       tmpl::list<::gh::OptionTags::DampingFunctionGamma2<VolumeDim, Fr>>;
     121             : 
     122           0 :   static constexpr bool pass_metavariables = false;
     123           0 :   static type create_from_options(const type& damping_function) {
     124             :     return damping_function->get_clone();
     125             :   }
     126             : };
     127             : }  // namespace Tags
     128             : }  // namespace gh

Generated by: LCOV version 1.14