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 <iosfwd>
8 :
9 : #include "DataStructures/DataVector.hpp"
10 : #include "Domain/Structure/Direction.hpp"
11 : #include "Domain/Structure/ElementId.hpp"
12 :
13 : /// \cond
14 : namespace PUP {
15 : class er;
16 : } // namespace PUP
17 : /// \endcond
18 :
19 : namespace evolution::dg::subcell {
20 : /// Holds data needed for the relaxed discrete maximum principle
21 : /// troubled-cell indicator.
22 1 : struct RdmpTciData {
23 0 : DataVector max_variables_values{};
24 0 : DataVector min_variables_values{};
25 : };
26 :
27 0 : void pup(PUP::er& p, RdmpTciData& rdmp_tci_data); // NOLINT
28 :
29 0 : void operator|(PUP::er& p, RdmpTciData& rdmp_tci_data); // NOLINT
30 :
31 0 : bool operator==(const RdmpTciData& lhs, const RdmpTciData& rhs);
32 :
33 0 : bool operator!=(const RdmpTciData& lhs, const RdmpTciData& rhs);
34 :
35 0 : std::ostream& operator<<(std::ostream& os, const RdmpTciData& t);
36 : } // namespace evolution::dg::subcell
|