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