SpECTRE
v2021.01.11
Documentation
Introduction
Releases
Installation
User Tutorials
Dev Guide
Code of Conduct
Contributing Guide
Code Reference
Topics
Namespaces
Files
Bibliography
View on GitHub
src
Domain
CoordinateMaps
Tags.hpp
1
// Distributed under the MIT License.
2
// See LICENSE.txt for details.
3
4
#pragma once
5
6
#include <
cstddef
>
7
#include <
memory
>
8
#include <
string
>
9
10
#include "DataStructures/DataBox/Tag.hpp"
11
#include "
DataStructures/Tensor/IndexType.hpp
"
12
#include "Utilities/GetOutput.hpp"
13
14
/// \cond
15
namespace
domain {
16
template
<
typename
SourceFrame,
typename
TargetFrame,
size_t
Dim>
17
class
CoordinateMapBase;
18
}
// namespace domain
19
/// \endcond
20
21
namespace
domain {
22
namespace
CoordinateMaps {
23
/// \ingroup ComputationalDomainGroup
24
/// \brief %Tags for the coordinate maps.
25
namespace
Tags {
26
/// \ingroup DataBoxTagsGroup
27
/// \ingroup ComputationalDomainGroup
28
/// The coordinate map from source to target coordinates
29
template
<
size_t
VolumeDim,
typename
SourceFrame,
typename
TargetFrame>
30
struct
CoordinateMap
:
db::SimpleTag
{
31
static
constexpr
size_t
dim = VolumeDim;
32
using
target_frame = TargetFrame;
33
using
source_frame
=
Frame::Logical
;
34
35
static
std::string
name() noexcept {
36
return
"CoordinateMap("
+
get_output
(SourceFrame{}) +
","
+
37
get_output
(TargetFrame{}) +
")"
;
38
}
39
using
type
=
std::unique_ptr
<
40
domain::CoordinateMapBase<SourceFrame, TargetFrame, VolumeDim>
>;
41
};
42
}
// namespace Tags
43
}
// namespace CoordinateMaps
44
}
// namespace domain
std::string
domain::CoordinateMapBase
Abstract base class for CoordinateMap.
Definition:
CoordinateMap.hpp:45
IndexType.hpp
db::SimpleTag
Mark a struct as a simple tag by inheriting from this.
Definition:
Tag.hpp:36
get_output
std::string get_output(const T &t) noexcept
Get the streamed output of t as a std::string
Definition:
GetOutput.hpp:14
cstddef
memory
domain::CoordinateMaps::Tags::CoordinateMap
Definition:
Tags.hpp:30
Frame::Logical
Definition:
IndexType.hpp:42
std::unique_ptr
string
© Copyright 2017 - 2020
SXS Collaboration
,
Distributed under the
MIT License