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