NeighborData.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <cstddef>
7 #include <iosfwd>
8 #include <vector>
9 
12 
13 /// \cond
14 namespace PUP {
15 class er;
16 } // namespace PUP
17 /// \endcond
18 
19 namespace evolution::dg::subcell {
20 /// Holds neighbor data needed for the TCI and reconstruction.
21 ///
22 /// The `max_variables_values` and `min_variables_values` are used for the
23 /// relaxed discrete maximum principle troubled-cell indicator.
24 struct NeighborData {
25  std::vector<double> data_for_reconstruction{};
26  std::vector<double> max_variables_values{};
27  std::vector<double> min_variables_values{};
28 };
29 
30 void pup(PUP::er& p, NeighborData& nhbr_data) noexcept; // NOLINT
31 
32 void operator|(PUP::er& p, NeighborData& nhbr_data) noexcept; // NOLINT
33 
34 bool operator==(const NeighborData& lhs, const NeighborData& rhs) noexcept;
35 
36 bool operator!=(const NeighborData& lhs, const NeighborData& rhs) noexcept;
37 
38 std::ostream& operator<<(std::ostream& os, const NeighborData& t) noexcept;
39 } // namespace evolution::dg::subcell
iosfwd
vector
ElementId.hpp
std::ostream
cstddef
evolution::dg::subcell::NeighborData
Holds neighbor data needed for the TCI and reconstruction.
Definition: NeighborData.hpp:24
evolution::dg::subcell
Implementation of a generic finite volume/conservative finite difference subcell limiter.
Definition: Actions.hpp:6
Direction.hpp