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 :
8 : #include "Evolution/Systems/Burgers/Tags.hpp"
9 : #include "Utilities/TMPL.hpp"
10 :
11 : /// \cond
12 : template <typename T>
13 : class Variables;
14 : namespace Tags {
15 : template <typename TagsList>
16 : struct Variables;
17 : } // namespace Tags
18 : /// \endcond
19 :
20 : namespace Burgers::subcell {
21 : /*!
22 : * \brief Returns \f$U\f$, the variables needed for reconstruction.
23 : *
24 : * This mutator is passed to
25 : * `evolution::dg::subcell::Actions::SendDataForReconstruction`.
26 : */
27 1 : class GhostVariables {
28 : public:
29 0 : using ghost_variables_tag_list = tmpl::list<Burgers::Tags::U>;
30 0 : using return_tags = tmpl::list<>;
31 0 : using argument_tags =
32 : tmpl::list<::Tags::Variables<tmpl::list<Burgers::Tags::U>>>;
33 :
34 0 : static DataVector apply(const Variables<tmpl::list<Burgers::Tags::U>>& vars,
35 : size_t rdmp_size);
36 : };
37 : } // namespace Burgers::subcell
|