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 <tuple>
8 :
9 : #include "DataStructures/Tensor/TypeAliases.hpp"
10 : #include "Domain/Tags.hpp"
11 : #include "Evolution/DgSubcell/RdmpTciData.hpp"
12 : #include "Evolution/DgSubcell/Tags/ActiveGrid.hpp"
13 : #include "Evolution/DgSubcell/Tags/DataForRdmpTci.hpp"
14 : #include "Evolution/DgSubcell/Tags/Mesh.hpp"
15 : #include "Evolution/Systems/Burgers/Tags.hpp"
16 : #include "Utilities/Gsl.hpp"
17 : #include "Utilities/TMPL.hpp"
18 :
19 : /// \cond
20 : template <size_t Dim>
21 : class Mesh;
22 : template <typename TagsList>
23 : class Variables;
24 : /// \endcond
25 :
26 : namespace Burgers::subcell {
27 : /// \brief Sets the initial RDMP data.
28 : ///
29 : /// Used on the subcells after the TCI marked the DG solution as inadmissible.
30 1 : struct SetInitialRdmpData {
31 0 : using argument_tags =
32 : tmpl::list<Burgers::Tags::U, evolution::dg::subcell::Tags::ActiveGrid,
33 : ::domain::Tags::Mesh<1>,
34 : evolution::dg::subcell::Tags::Mesh<1>>;
35 0 : using return_tags = tmpl::list<evolution::dg::subcell::Tags::DataForRdmpTci>;
36 :
37 0 : static void apply(
38 : gsl::not_null<evolution::dg::subcell::RdmpTciData*> rdmp_tci_data,
39 : const Scalar<DataVector>& u,
40 : evolution::dg::subcell::ActiveGrid active_grid, const Mesh<1>& dg_mesh,
41 : const Mesh<1>& subcell_mesh);
42 : };
43 : } // namespace Burgers::subcell
|