Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <array> 7 : 8 : #include "DataStructures/DataBox/Tag.hpp" 9 : #include "DataStructures/DataVector.hpp" 10 : #include "DataStructures/Tensor/Tensor.hpp" 11 : #include "Evolution/Systems/ScalarTensor/Tags.hpp" 12 : #include "Options/String.hpp" 13 : #include "PointwiseFunctions/ScalarTensor/ScalarGaussBonnet/CouplingParameters.hpp" 14 : 15 : /// \cond 16 : namespace ScalarTensor::OptionTags { 17 : struct Group; 18 : } // namespace ScalarTensor::OptionTags 19 : /// \endcond 20 : 21 : namespace ScalarTensor { 22 : namespace OptionTags { 23 : /*! 24 : * \brief Linear coupling parameters to curvature. 25 : */ 26 1 : struct CouplingParameters { 27 0 : static constexpr Options::String help = {"Coupling parameters to curvature."}; 28 0 : using type = ScalarTensor::CouplingParameterOptions; 29 0 : using group = ScalarTensor::OptionTags::Group; 30 : }; 31 : 32 : } // namespace OptionTags 33 : 34 : namespace Tags { 35 : /*! 36 : * \brief Linear, quadratic and quartic coupling parameters to curvature. 37 : */ 38 1 : struct CouplingParameters : db::SimpleTag { 39 0 : using type = ScalarTensor::CouplingParameterOptions; 40 0 : using option_tags = tmpl::list<OptionTags::CouplingParameters>; 41 0 : static constexpr bool pass_metavariables = false; 42 0 : static ScalarTensor::CouplingParameterOptions create_from_options( 43 : const ScalarTensor::CouplingParameterOptions& coupling_parameters) { 44 : return coupling_parameters; 45 : } 46 : }; 47 : } // namespace Tags 48 : } // namespace ScalarTensor