Tags.hpp
1// Distributed under the MIT License.
2// See LICENSE.txt for details.
3
4#pragma once
5
6#include <boost/functional/hash.hpp>
7#include <cstddef>
8#include <unordered_map>
9#include <utility>
10
11#include "DataStructures/DataBox/Tag.hpp"
14
15namespace elliptic::dg::subdomain_operator::Tags {
16
17/// The number of points an element-centered subdomain extends into the
18/// neighbor, i.e. the "extruding" overlap extents. This tag is used in
19/// conjunction with `LinearSolver::Schwarz::Tags::Overlaps` to describe the
20/// extruding extent into each neighbor.
22 using type = size_t;
23};
24
25/// Data on the neighbor's side of a mortar. Used to store data for elements
26/// that do not overlap with the element-centered subdomain, but play a role
27/// in the DG operator nonetheless.
28template <typename Tag, size_t VolumeDim>
30 using tag = Tag;
33};
34
35} // namespace elliptic::dg::subdomain_operator::Tags
Defines class template Direction.
Defines class ElementId.
An ElementId uniquely labels an Element.
Definition: ElementId.hpp:51
Mark a struct as a prefix tag by inheriting from this.
Definition: Tag.hpp:103
Mark a struct as a simple tag by inheriting from this.
Definition: Tag.hpp:36
The number of points an element-centered subdomain extends into the neighbor, i.e....
Definition: Tags.hpp:21
Data on the neighbor's side of a mortar. Used to store data for elements that do not overlap with the...
Definition: Tags.hpp:29