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 : namespace CurvedScalarWave {
12 : /// \brief Boundary conditions for the curved scalar wave system
13 : 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 CurvedScalarWave
|