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 "Domain/BoundaryConditions/BoundaryCondition.hpp" 9 : 10 : /// \cond 11 : namespace PUP { 12 : class er; 13 : } // namespace PUP 14 : /// \endcond 15 : 16 : /// \brief Boundary conditions for the second-order scalar wave system 17 1 : namespace SecondOrderScalarWave::BoundaryConditions { 18 : /// \brief The base class off of which all boundary conditions must inherit 19 : template <size_t Dim> 20 1 : class BoundaryCondition : public domain::BoundaryConditions::BoundaryCondition { 21 : public: 22 0 : BoundaryCondition() = default; 23 0 : BoundaryCondition(BoundaryCondition&&) = default; 24 0 : BoundaryCondition& operator=(BoundaryCondition&&) = default; 25 0 : BoundaryCondition(const BoundaryCondition&) = default; 26 0 : BoundaryCondition& operator=(const BoundaryCondition&) = default; 27 0 : ~BoundaryCondition() override = default; 28 0 : explicit BoundaryCondition(CkMigrateMessage* msg); 29 : 30 0 : void pup(PUP::er& p) override; 31 : }; 32 : } // namespace SecondOrderScalarWave::BoundaryConditions