Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include "Evolution/Systems/Ccz4/FiniteDifference/Reconstructor.hpp"
7 : #include "Options/String.hpp"
8 :
9 : namespace Ccz4::fd {
10 : /*!
11 : * \brief Dummy reconstructor just to return the ghost zone size.
12 : *
13 : * This class is needed to use the SetInterpolators action in
14 : * dg-subcell infrastructure.
15 : */
16 1 : class DummyReconstructor : public Reconstructor {
17 : public:
18 0 : using options = tmpl::list<>;
19 :
20 0 : static constexpr Options::String help{
21 : "Dummy reconstructor that allows using the subcell infrastructure."};
22 :
23 0 : DummyReconstructor() = default;
24 0 : DummyReconstructor(DummyReconstructor&&) = default;
25 0 : DummyReconstructor& operator=(DummyReconstructor&&) = default;
26 0 : DummyReconstructor(const DummyReconstructor&) = default;
27 0 : DummyReconstructor& operator=(const DummyReconstructor&) = default;
28 0 : ~DummyReconstructor() override = default;
29 :
30 0 : explicit DummyReconstructor(CkMigrateMessage* msg);
31 :
32 0 : WRAPPED_PUPable_decl_base_template(Reconstructor, DummyReconstructor);
33 :
34 0 : auto get_clone() const -> std::unique_ptr<Reconstructor> override;
35 :
36 0 : void pup(PUP::er& p) override;
37 :
38 : // 3 ghost pts needed for 6th order KO filter
39 0 : size_t ghost_zone_size() const override { return 3; }
40 : };
41 :
42 : } // namespace Ccz4::fd
|