BoundaryCondition.hpp
1 // 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 #include "Domain/BoundaryConditions/Periodic.hpp"
11 #include "Utilities/TMPL.hpp"
12 
13 namespace ScalarAdvection {
14 /// \brief Boundary conditions for the ScalarAdvection system
15 namespace BoundaryConditions {
16 /// \brief The base class off of which all boundary conditions must inherit
17 template <size_t Dim>
19  public:
20  using creatable_classes =
21  tmpl::list<domain::BoundaryConditions::Periodic<BoundaryCondition<Dim>>>;
22 
23  BoundaryCondition() = default;
24  BoundaryCondition(BoundaryCondition&&) noexcept = default;
25  BoundaryCondition& operator=(BoundaryCondition&&) noexcept = default;
26  BoundaryCondition(const BoundaryCondition&) = default;
27  BoundaryCondition& operator=(const BoundaryCondition&) = default;
28  ~BoundaryCondition() override = default;
29 
30  explicit BoundaryCondition(CkMigrateMessage* msg) noexcept;
31 
32  void pup(PUP::er& p) override;
33 };
34 } // namespace BoundaryConditions
35 } // namespace ScalarAdvection
domain::BoundaryConditions::BoundaryCondition
Base class from which all system-specific base classes must inherit.
Definition: BoundaryCondition.hpp:18
ScalarAdvection::BoundaryConditions::BoundaryCondition
The base class off of which all boundary conditions must inherit.
Definition: BoundaryCondition.hpp:18
cstddef
ScalarAdvection
Items related to evolving the scalar advection equation.
Definition: BoundaryCondition.hpp:13
TMPL.hpp