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