BoundaryCondition.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <pup.h>
7 
8 #include "Domain/BoundaryConditions/BoundaryCondition.hpp"
9 #include "Domain/BoundaryConditions/Periodic.hpp"
10 #include "Utilities/TMPL.hpp"
11 
12 /// \cond
14 template <size_t Dim>
15 class ConstraintPreservingSphericalRadiation;
16 template <size_t Dim>
17 class DirichletAnalytic;
18 template <size_t Dim>
19 class SphericalRadiation;
20 } // namespace ScalarWave::BoundaryConditions
21 /// \endcond
22 
23 /// \brief Boundary conditions for the scalar wave system
25 /// \brief The base class off of which all boundary conditions must inherit
26 template <size_t Dim>
28  public:
29  using creatable_classes =
30  tmpl::list<ConstraintPreservingSphericalRadiation<Dim>,
34 
35  BoundaryCondition() = default;
36  BoundaryCondition(BoundaryCondition&&) noexcept = default;
37  BoundaryCondition& operator=(BoundaryCondition&&) noexcept = default;
38  BoundaryCondition(const BoundaryCondition&) = default;
39  BoundaryCondition& operator=(const BoundaryCondition&) = default;
40  ~BoundaryCondition() override = default;
41  explicit BoundaryCondition(CkMigrateMessage* msg) noexcept;
42 
43  void pup(PUP::er& p) override;
44 };
45 } // namespace ScalarWave::BoundaryConditions
domain::BoundaryConditions::BoundaryCondition
Base class from which all system-specific base classes must inherit.
Definition: BoundaryCondition.hpp:18
ScalarWave::BoundaryConditions::DirichletAnalytic
Sets Dirichlet boundary conditions using the analytic solution or analytic data.
Definition: DirichletAnalytic.hpp:40
domain::BoundaryConditions::Periodic
Periodic boundary conditions.
Definition: Periodic.hpp:47
ScalarWave::BoundaryConditions::SphericalRadiation
Impose spherical radiation boundary conditions.
Definition: SphericalRadiation.hpp:80
ScalarWave::BoundaryConditions::BoundaryCondition
The base class off of which all boundary conditions must inherit.
Definition: BoundaryCondition.hpp:27
ScalarWave::BoundaryConditions
Boundary conditions for the scalar wave system.
Definition: BoundaryCondition.hpp:24
TMPL.hpp