NeighborData.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 <utility>
9 
10 #include "DataStructures/DataBox/Tag.hpp"
11 #include "DataStructures/FixedHashMap.hpp"
14 #include "Domain/Structure/MaxNumberOfNeighbors.hpp"
15 #include "Evolution/DgSubcell/NeighborData.hpp"
16 
18 /// The neighbor data for reconstruction and the RDMP troubled-cell indicator.
19 ///
20 /// This also holds the self-information for the RDMP at the time level `t^n`
21 /// (the candidate is at `t^{n+1}`), with id `ElementId::external_boundary_id`
22 /// and `Direction::lower_xi()` as the (arbitrary and meaningless)
23 /// direction.
24 template <size_t Dim>
26  using type =
29  boost::hash<std::pair<Direction<Dim>, ElementId<Dim>>>>;
30 };
31 } // namespace evolution::dg::subcell::Tags
maximum_number_of_neighbors
constexpr size_t maximum_number_of_neighbors(const size_t dim)
Definition: MaxNumberOfNeighbors.hpp:15
utility
std::pair
db::SimpleTag
Mark a struct as a simple tag by inheriting from this.
Definition: Tag.hpp:36
ElementId< Dim >
ElementId.hpp
evolution::dg::subcell::Tags::NeighborDataForReconstructionAndRdmpTci
The neighbor data for reconstruction and the RDMP troubled-cell indicator.
Definition: NeighborData.hpp:25
cstddef
evolution::dg::subcell::NeighborData
Holds neighbor data needed for the TCI and reconstruction.
Definition: NeighborData.hpp:24
Direction.hpp
FixedHashMap
A hash table with a compile-time specified maximum size and ability to efficiently handle perfect has...
Definition: FixedHashMap.hpp:82
evolution::dg::subcell::Tags
Tags for the DG-subcell solver
Definition: ActiveGrid.hpp:9