SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
domain::creators::time_dependence::UniformTranslation< MeshDim, Index > Class Template Referencefinal

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
using GridToInertialMapSimple
using GridToInertialMapCombined
using GridToDistortedMap
using DistortedToInertialMap
using options = tmpl::list<InitialTime, Velocity>
Public Types inherited from domain::creators::time_dependence::TimeDependence< MeshDim >
using creatable_classes

Public Member Functions

 UniformTranslation (const UniformTranslation &)=delete
 UniformTranslation (UniformTranslation &&)=default
UniformTranslationoperator= (const UniformTranslation &)=delete
UniformTranslationoperator= (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.
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.
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.
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.
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.
Public Member Functions inherited from domain::creators::time_dependence::TimeDependence< MeshDim >
 TimeDependence (const TimeDependence &)=default
TimeDependenceoperator= (const TimeDependence &)=default
 TimeDependence (TimeDependence &&)=default
TimeDependenceoperator= (TimeDependence &&)=default
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)

Detailed Description

template<size_t MeshDim, size_t Index>
class domain::creators::time_dependence::UniformTranslation< MeshDim, Index >

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 UniformTranslations 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.

Member Typedef Documentation

◆ DistortedToInertialMap

template<size_t MeshDim, size_t Index>
using domain::creators::time_dependence::UniformTranslation< MeshDim, Index >::DistortedToInertialMap
Initial value:
detail::generate_coordinate_map_t<Frame::Distorted, Frame::Inertial,
tmpl::list<TranslationMap>>
Definition IndexType.hpp:47
Definition IndexType.hpp:46

◆ GridToDistortedMap

template<size_t MeshDim, size_t Index>
using domain::creators::time_dependence::UniformTranslation< MeshDim, Index >::GridToDistortedMap
Initial value:
detail::generate_coordinate_map_t<Frame::Grid, Frame::Distorted,
tmpl::list<TranslationMap>>
Definition IndexType.hpp:45

◆ GridToInertialMapCombined

template<size_t MeshDim, size_t Index>
using domain::creators::time_dependence::UniformTranslation< MeshDim, Index >::GridToInertialMapCombined
Initial value:
detail::generate_coordinate_map_t<
Frame::Grid, Frame::Inertial, tmpl::list<TranslationMap, TranslationMap>>

◆ GridToInertialMapSimple

template<size_t MeshDim, size_t Index>
using domain::creators::time_dependence::UniformTranslation< MeshDim, Index >::GridToInertialMapSimple
Initial value:
detail::generate_coordinate_map_t<Frame::Grid, Frame::Inertial,
tmpl::list<TranslationMap>>

◆ maps_list

template<size_t MeshDim, size_t Index>
using domain::creators::time_dependence::UniformTranslation< MeshDim, Index >::maps_list

Member Function Documentation

◆ block_maps_distorted_to_inertial()

template<size_t MeshDim, size_t Index>
auto domain::creators::time_dependence::UniformTranslation< MeshDim, Index >::block_maps_distorted_to_inertial ( size_t number_of_blocks) const -> std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Distorted, Frame::Inertial, MeshDim > > >
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 >.

◆ block_maps_grid_to_distorted()

template<size_t MeshDim, size_t Index>
auto domain::creators::time_dependence::UniformTranslation< MeshDim, Index >::block_maps_grid_to_distorted ( size_t number_of_blocks) const -> std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Grid, Frame::Distorted, 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 >.

◆ block_maps_grid_to_inertial()

template<size_t MeshDim, size_t Index>
auto domain::creators::time_dependence::UniformTranslation< MeshDim, Index >::block_maps_grid_to_inertial ( size_t number_of_blocks) const -> std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Grid, Frame::Inertial, 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 >.

◆ functions_of_time()

template<size_t MeshDim, size_t Index>
auto domain::creators::time_dependence::UniformTranslation< MeshDim, Index >::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 > >
overridevirtual

Returns the functions of time for the domain.

Implements domain::creators::time_dependence::TimeDependence< MeshDim >.

◆ get_clone()

template<size_t MeshDim, size_t Index>
auto domain::creators::time_dependence::UniformTranslation< MeshDim, Index >::get_clone ( ) const -> std::unique_ptr< TimeDependence< MeshDim > >
overridevirtual

Member Data Documentation

◆ help

template<size_t MeshDim, size_t Index>
Options::String domain::creators::time_dependence::UniformTranslation< MeshDim, Index >::help
staticconstexpr
Initial value:
= {
"A spatially uniform translation initialized with a constant velocity."}

The documentation for this class was generated from the following file:
  • src/Domain/Creators/TimeDependence/UniformTranslation.hpp