SpECTRE
v2021.02.08
Documentation
Introduction
Releases
Installation
User Tutorials
Dev Guide
Code of Conduct
Contributing Guide
Code Reference
Topics
Namespaces
Files
Bibliography
View on GitHub
src
Evolution
Systems
NewtonianEuler
BoundaryCorrections
BoundaryCorrection.hpp
1
// Distributed under the MIT License.
2
// See LICENSE.txt for details.
3
4
#pragma once
5
6
#include <
memory
>
7
#include <pup.h>
8
9
#include "
Parallel/CharmPupable.hpp
"
10
#include "
Utilities/TMPL.hpp
"
11
12
/// Boundary corrections/numerical fluxes
13
namespace
NewtonianEuler::BoundaryCorrections
{
14
/// \cond
15
template
<
size_t
Dim>
16
class
Rusanov
;
17
/// \endcond
18
19
/*!
20
* \brief The base class used to create boundary corrections from input files
21
* and store them in the global cache.
22
*/
23
template
<
size_t
Dim>
24
class
BoundaryCorrection
:
public
PUP::able {
25
public
:
26
BoundaryCorrection
() =
default
;
27
BoundaryCorrection
(
const
BoundaryCorrection
&) =
default
;
28
BoundaryCorrection
& operator=(
const
BoundaryCorrection
&) =
default
;
29
BoundaryCorrection
(
BoundaryCorrection
&&) =
default
;
30
BoundaryCorrection
& operator=(
BoundaryCorrection
&&) =
default
;
31
~
BoundaryCorrection
()
override
=
default
;
32
33
/// \cond
34
explicit
BoundaryCorrection
(CkMigrateMessage* msg) noexcept
35
: PUP::able(msg) {}
36
WRAPPED_PUPable_abstract
(
BoundaryCorrection<Dim>
);
// NOLINT
37
/// \endcond
38
39
using
creatable_classes = tmpl::list<Rusanov<Dim>>;
40
41
virtual
std::unique_ptr<BoundaryCorrection<Dim>
> get_clone()
42
const
noexcept = 0;
43
};
44
}
// namespace NewtonianEuler::BoundaryCorrections
CharmPupable.hpp
NewtonianEuler::BoundaryCorrections
Boundary corrections/numerical fluxes.
Definition:
BoundaryCorrection.hpp:13
WRAPPED_PUPable_abstract
#define WRAPPED_PUPable_abstract(className)
Wraps the Charm++ macro, see the Charm++ documentation.
Definition:
CharmPupable.hpp:41
memory
NewtonianEuler::BoundaryCorrections::BoundaryCorrection
The base class used to create boundary corrections from input files and store them in the global cach...
Definition:
BoundaryCorrection.hpp:24
NewtonianEuler::BoundaryCorrections::Rusanov
A Rusanov/local Lax-Friedrichs Riemann solver.
Definition:
Rusanov.hpp:65
std::unique_ptr
TMPL.hpp
© Copyright 2017 - 2021
SXS Collaboration
,
Distributed under the
MIT License