SpECTRE
v2024.09.29
|
A uniform translation in the \(x-, y-\) and \(z-\)direction. More...
#include <UniformTranslation.hpp>
Classes | |
struct | InitialTime |
The initial time of the functions of time. More... | |
struct | Velocity |
The \(x\)-, \(y\)-, and \(z\)-velocity. More... | |
Public Types | |
using | maps_list = tmpl::list< domain::CoordinateMap< Frame::Grid, Frame::Inertial, TranslationMap >, domain::CoordinateMap< Frame::Grid, Frame::Distorted, TranslationMap >, domain::CoordinateMap< Frame::Distorted, Frame::Inertial, TranslationMap >, domain::CoordinateMap< Frame::Grid, Frame::Inertial, TranslationMap, TranslationMap > > |
using | GridToInertialMapSimple = detail::generate_coordinate_map_t< Frame::Grid, Frame::Inertial, tmpl::list< TranslationMap > > |
using | GridToInertialMapCombined = detail::generate_coordinate_map_t< Frame::Grid, Frame::Inertial, tmpl::list< TranslationMap, TranslationMap > > |
using | GridToDistortedMap = detail::generate_coordinate_map_t< Frame::Grid, Frame::Distorted, tmpl::list< TranslationMap > > |
using | DistortedToInertialMap = detail::generate_coordinate_map_t< Frame::Distorted, Frame::Inertial, tmpl::list< TranslationMap > > |
using | options = tmpl::list< InitialTime, Velocity > |
Public Types inherited from domain::creators::time_dependence::TimeDependence< MeshDim > | |
using | creatable_classes = tmpl::append< creatable_classes_any_dim, tmpl::conditional_t< MeshDim==1, creatable_classes_1d, tmpl::conditional_t< MeshDim==2, creatable_classes_2d, creatable_classes_3d > > > |
Public Member Functions | |
UniformTranslation (const UniformTranslation &)=delete | |
UniformTranslation (UniformTranslation &&)=default | |
UniformTranslation & | operator= (const UniformTranslation &)=delete |
UniformTranslation & | operator= (UniformTranslation &&)=default |
UniformTranslation (double initial_time, const std::array< double, MeshDim > &velocity) | |
If UniformTranslation is created using the constructor that takes a single velocity, then there is no distorted frame (so block_maps_grid_to_distorted() and block_maps_distorted_to_inertial() contain nullptrs), and the given velocity is the one that goes from Frame::Grid to Frame::Inertial. | |
UniformTranslation (double initial_time, const std::array< double, MeshDim > &velocity_grid_to_distorted, const std::array< double, MeshDim > &velocity_distorted_to_inertial) | |
If UniformTranslation is created using the constructor that takes two velocities, then the first velocity is the one describing a uniform translation that goes from Frame::Grid to Frame::Distorted, and the second velocity is the one that describes a uniform translation that goes from Frame::Distorted to Frame::Inertial. In this case there are also two FunctionsOfTime, one for each of the two translation maps. | |
auto | get_clone () const -> std::unique_ptr< TimeDependence< MeshDim > > override |
Returns a std::unique_ptr pointing to a copy of the TimeDependence . More... | |
auto | block_maps_grid_to_inertial (size_t number_of_blocks) const -> std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Grid, Frame::Inertial, MeshDim > > > override |
Returns the coordinate maps from the Frame::Grid to the Frame::Inertial frame for each block. More... | |
auto | block_maps_grid_to_distorted (size_t number_of_blocks) const -> std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Grid, Frame::Distorted, MeshDim > > > override |
Returns the coordinate maps from the Frame::Grid to the Frame::Distorted frame for each block. Returns vector of nullptr if there is no distorted frame. More... | |
auto | block_maps_distorted_to_inertial (size_t number_of_blocks) const -> std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Distorted, Frame::Inertial, MeshDim > > > override |
Returns the coordinate maps from the Frame::Distorted to the Frame::Inertial frame for each block. Returns vector of nullptr if is no distorted frame. More... | |
auto | functions_of_time (const std::unordered_map< std::string, double > &initial_expiration_times={}) const -> std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > override |
Returns the functions of time for the domain. More... | |
Public Member Functions inherited from domain::creators::time_dependence::TimeDependence< MeshDim > | |
TimeDependence (const TimeDependence &)=default | |
TimeDependence & | operator= (const TimeDependence &)=default |
TimeDependence (TimeDependence &&)=default | |
TimeDependence & | operator= (TimeDependence &&)=default |
virtual auto | get_clone () const -> std::unique_ptr< TimeDependence >=0 |
Returns a std::unique_ptr pointing to a copy of the TimeDependence . More... | |
virtual auto | block_maps_grid_to_inertial (size_t number_of_blocks) const -> std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Grid, Frame::Inertial, MeshDim > > >=0 |
Returns the coordinate maps from the Frame::Grid to the Frame::Inertial frame for each block. More... | |
virtual auto | block_maps_grid_to_distorted (size_t number_of_blocks) const -> std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Grid, Frame::Distorted, MeshDim > > >=0 |
Returns the coordinate maps from the Frame::Grid to the Frame::Distorted frame for each block. Returns vector of nullptr if there is no distorted frame. More... | |
virtual auto | block_maps_distorted_to_inertial (size_t number_of_blocks) const -> std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Distorted, Frame::Inertial, MeshDim > > >=0 |
Returns the coordinate maps from the Frame::Distorted to the Frame::Inertial frame for each block. Returns vector of nullptr if is no distorted frame. More... | |
virtual auto | functions_of_time (const std::unordered_map< std::string, double > &initial_expiration_times={}) const -> std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > >=0 |
Returns the functions of time for the domain. More... | |
bool | is_none () const |
Returns true if the instance is None , meaning no time dependence. | |
Static Public Member Functions | |
static std::string | name () |
Static Public Attributes | |
static constexpr size_t | mesh_dim = MeshDim |
static constexpr Options::String | help |
Friends | |
template<size_t LocalDim, size_t LocalIndex> | |
bool | operator== (const UniformTranslation< LocalDim, LocalIndex > &lhs, const UniformTranslation< LocalDim, LocalIndex > &rhs) |
A uniform translation in the \(x-, y-\) and \(z-\)direction.
The coordinates are adjusted according to:
\begin{align} x^i \to x^i + f^i(t) \end{align}
where \(f^i(t)\) are the functions of time.
Index
is used to distinguish multiple UniformTranslation
s from each other in CompositionUniformTranslation.
See the documentation for the constructors below: one constructor takes two velocities, which correspond to two translations: one from Frame::Grid to Frame::Distorted, and the other from Frame::Distorted to Frame::Inertial.
|
overridevirtual |
Returns the coordinate maps from the Frame::Distorted
to the Frame::Inertial
frame for each block. Returns vector of nullptr if is no distorted frame.
Implements domain::creators::time_dependence::TimeDependence< MeshDim >.
|
overridevirtual |
Returns the coordinate maps from the Frame::Grid
to the Frame::Distorted
frame for each block. Returns vector of nullptr if there is no distorted frame.
Implements domain::creators::time_dependence::TimeDependence< MeshDim >.
|
overridevirtual |
Returns the coordinate maps from the Frame::Grid
to the Frame::Inertial
frame for each block.
Implements domain::creators::time_dependence::TimeDependence< MeshDim >.
|
overridevirtual |
Returns the functions of time for the domain.
Implements domain::creators::time_dependence::TimeDependence< MeshDim >.
|
overridevirtual |
Returns a std::unique_ptr
pointing to a copy of the TimeDependence
.
Implements domain::creators::time_dependence::TimeDependence< MeshDim >.
|
staticconstexpr |