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 <unordered_map> 8 : 9 : #include "DataStructures/DataBox/Tag.hpp" 10 : 11 : /// \cond 12 : template <size_t Dim> 13 : class ElementId; 14 : namespace Parallel { 15 : template <size_t Dim, typename Metavariables, typename PhaseDepActionList, 16 : typename SimpleTagsFromOptions> 17 : class DgElementArrayMember; 18 : } // namespace Parallel 19 : /// \endcond 20 : 21 0 : namespace Parallel::Tags { 22 : /// \brief Holds all of the `DgElementArrayMember` on a node. 23 : /// 24 : /// This tag must be in the nodegroup DataBox. 25 : template <size_t Dim, class Metavariables, class PhaseDepActionList, 26 : typename SimpleTagsFromOptions> 27 1 : struct ElementCollection : db::SimpleTag { 28 0 : using type = std::unordered_map< 29 : ElementId<Dim>, 30 : Parallel::DgElementArrayMember<Dim, Metavariables, PhaseDepActionList, 31 : SimpleTagsFromOptions>>; 32 : }; 33 : } // namespace Parallel::Tags