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
|