Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <memory> 7 : #include <unordered_set> 8 : #include <vector> 9 : 10 : #include "DataStructures/DataBox/Tag.hpp" 11 : #include "Options/String.hpp" 12 : #include "ParallelAlgorithms/Amr/Policies/Policies.hpp" 13 : #include "ParallelAlgorithms/Amr/Tags.hpp" 14 : #include "Utilities/TMPL.hpp" 15 : 16 : namespace amr { 17 : /// Option tags for AMR polocies 18 1 : namespace OptionTags { 19 : /// \ingroup OptionTagsGroup 20 : /// Options for AMR policies 21 1 : struct Policies { 22 0 : static constexpr Options::String help = "Options for AMR policies"; 23 0 : using type = amr::Policies; 24 0 : using group = amr::OptionTags::AmrGroup; 25 : }; 26 : } // namespace OptionTags 27 : 28 : namespace Tags { 29 : /// The policies for adaptive mesh refinement 30 1 : struct Policies : db::SimpleTag { 31 0 : using type = amr::Policies; 32 0 : using option_tags = tmpl::list<amr::OptionTags::Policies>; 33 : 34 0 : static constexpr bool pass_metavariables = false; 35 0 : static type create_from_options(const type& value) { return value; } 36 : }; 37 : } // namespace Tags 38 : } // namespace amr