SpECTRE  2021.08.02
domain::creators::time_dependence::UniformTranslation< MeshDim > Class Template Referencefinal

A uniform translation in the \(x-, y-\) and \(z-\)direction. More...

#include <UniformTranslation.hpp>

Classes

struct  FunctionOfTimeNames
 The names of the functions of times to be added to the added to the DataBox. More...
 
struct  InitialExpirationDeltaT
 The time interval for updates of the functions of time. More...
 
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, Translation >, domain::CoordinateMap< Frame::Grid, Frame::Inertial, CoordinateMaps::TimeDependent::ProductOf2Maps< Translation, Translation > >, domain::CoordinateMap< Frame::Grid, Frame::Inertial, CoordinateMaps::TimeDependent::ProductOf3Maps< Translation, Translation, Translation > > >
 
using MapForComposition = detail::generate_coordinate_map_t< tmpl::list< tmpl::conditional_t< MeshDim==1, Translation, tmpl::conditional_t< MeshDim==2, domain::CoordinateMaps::TimeDependent::ProductOf2Maps< Translation, Translation >, domain::CoordinateMaps::TimeDependent::ProductOf3Maps< Translation, Translation, Translation > > > > >
 
using options = tmpl::list< InitialTime, InitialExpirationDeltaT, Velocity, FunctionOfTimeNames >
 
- 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 &&) noexcept=default
 
UniformTranslationoperator= (const UniformTranslation &)=delete
 
UniformTranslationoperator= (UniformTranslation &&) noexcept=default
 
 UniformTranslation (double initial_time, std::optional< double > initial_expiration_delta_t, const std::array< double, MeshDim > &velocity, std::array< std::string, MeshDim > functions_of_time_names=default_function_names()) noexcept
 
auto get_clone () const noexcept -> std::unique_ptr< TimeDependence< MeshDim > > override
 Returns a std::unique_ptr pointing to a copy of the TimeDependence. More...
 
auto block_maps (size_t number_of_blocks) const noexcept -> 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 functions_of_time () const noexcept -> std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > override
 Returns the functions of time for the domain. More...
 
MapForComposition map_for_composition () const noexcept
 Returns the map for each block to be used in a composition of TimeDependences.
 
- 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 noexcept
 Returns true if the instance is None, meaning no time dependence.
 

Static Public Attributes

static constexpr size_t mesh_dim = MeshDim
 
static constexpr Options::String help
 

Friends

template<size_t LocalDim>
bool operator== (const UniformTranslation< LocalDim > &lhs, const UniformTranslation< LocalDim > &rhs) noexcept
 

Detailed Description

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

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.

Member Function Documentation

◆ block_maps()

template<size_t MeshDim>
auto domain::creators::time_dependence::UniformTranslation< MeshDim >::block_maps ( size_t  number_of_blocks) const -> std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Grid, Frame::Inertial, MeshDim > > >
overridevirtualnoexcept

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>
auto domain::creators::time_dependence::UniformTranslation< MeshDim >::functions_of_time ( ) const -> std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > >
overridevirtualnoexcept

Returns the functions of time for the domain.

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

◆ get_clone()

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

Member Data Documentation

◆ help

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