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 : 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
|