SpECTRE Documentation Coverage Report
 Current view: top level - Evolution/Systems/NewtonianEuler/FiniteDifference - Reconstructor.hpp Hit Total Coverage Commit: 3f09028930c0450a2fb61ee918b22882f5d03d2b Lines: 1 12 8.3 % Date: 2021-10-22 20:52:16 Legend: Lines: hit not hit
  Line data Source code  1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include 7 : #include 8 : 9 : #include "Parallel/CharmPupable.hpp" 10 : #include "Utilities/TMPL.hpp" 11 : 12 : namespace NewtonianEuler::fd { 13 : /// \cond 14 : template 15 : class AoWeno53Prim; 16 : template 17 : class MonotisedCentralPrim; 18 : /// \endcond 19 : 20 : /*! 21 : * \brief The base class from which all reconstruction schemes must inherit 22 : * 23 : * Currently we have hard-coded reconstructing \f$\rho, p, v^i\f$. However, the 24 : * DG-subcell solver is coded generally enough that an efficient implementation 25 : * of reconstructing the conserved or characteristic variables is also possible. 26 : * It is not yet clear how much info about what is being reconstructed is needed 27 : * at compile time and so we currently append Prim to the end of the 28 : * reconstruction schemes to clarify that they are reconstructing the primitive 29 : * variables. Ideally the choice of what variables to reconstruct can be made by 30 : * a runtime argument to the individual reconstruction schemes. 31 : */ 32 : template 33 1 : class Reconstructor : public PUP::able { 34 : public: 35 0 : Reconstructor() = default; 36 0 : Reconstructor(const Reconstructor&) = default; 37 0 : Reconstructor& operator=(const Reconstructor&) = default; 38 0 : Reconstructor(Reconstructor&&) = default; 39 0 : Reconstructor& operator=(Reconstructor&&) = default; 40 0 : ~Reconstructor() override = default; 41 : 42 : /// \cond 43 : explicit Reconstructor(CkMigrateMessage* msg); 44 : WRAPPED_PUPable_abstract(Reconstructor); // NOLINT 45 : /// \endcond 46 : 47 0 : using creatable_classes = 48 : tmpl::list, MonotisedCentralPrim>; 49 : 50 0 : virtual std::unique_ptr> get_clone() const = 0; 51 : 52 0 : virtual size_t ghost_zone_size() const = 0; 53 : 54 0 : void pup(PUP::er& p) override; 55 : }; 56 : } // namespace NewtonianEuler::fd 

 Generated by: LCOV version 1.14