Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include "DataStructures/DataBox/Tag.hpp" 7 : #include "NumericalAlgorithms/DiscontinuousGalerkin/Formulation.hpp" 8 : #include "NumericalAlgorithms/DiscontinuousGalerkin/Tags/OptionsGroup.hpp" 9 : #include "Options/String.hpp" 10 : #include "Utilities/TMPL.hpp" 11 : 12 : namespace dg { 13 0 : namespace OptionTags { 14 0 : struct Formulation { 15 0 : using type = dg::Formulation; 16 0 : using group = DiscontinuousGalerkinGroup; 17 0 : static constexpr Options::String help = 18 : "Discontinuous Galerkin formulation to use, e.g. StrongInertial for the " 19 : "strong form."; 20 : }; 21 : } // namespace OptionTags 22 : 23 0 : namespace Tags { 24 : /*! 25 : * \brief The DG formulation to use. 26 : */ 27 1 : struct Formulation : db::SimpleTag { 28 0 : using type = dg::Formulation; 29 : 30 0 : using option_tags = tmpl::list<OptionTags::Formulation>; 31 0 : static constexpr bool pass_metavariables = false; 32 0 : static dg::Formulation create_from_options( 33 : const dg::Formulation& formulation); 34 : }; 35 : } // namespace Tags 36 : } // namespace dg