SpECTRE  v2021.11.01
domain::creators::time_dependence::UniformRotationAboutZAxis< MeshDim > Class Template Referencefinal

A uniform rotation about the \(z\) axis: More...

#include <UniformRotationAboutZAxis.hpp>

Classes

struct  AngularVelocity
 The \(x\)-, \(y\)-, and \(z\)-velocity. More...
 
struct  FunctionOfTimeName
 The name of the function of time to be 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 function of time. More...
 

Public Types

using maps_list = tmpl::list< domain::CoordinateMap< Frame::Grid, Frame::Inertial, Rotation >, domain::CoordinateMap< Frame::Grid, Frame::Inertial, CoordinateMaps::TimeDependent::ProductOf2Maps< Rotation, Identity > > >
 
using MapForComposition = detail::generate_coordinate_map_t< tmpl::list< tmpl::conditional_t< MeshDim==2, Rotation, domain::CoordinateMaps::TimeDependent::ProductOf2Maps< Rotation, Identity > > > >
 
using options = tmpl::list< InitialTime, InitialExpirationDeltaT, AngularVelocity, FunctionOfTimeName >
 
- 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

 UniformRotationAboutZAxis (const UniformRotationAboutZAxis &)=delete
 
 UniformRotationAboutZAxis (UniformRotationAboutZAxis &&)=default
 
UniformRotationAboutZAxisoperator= (const UniformRotationAboutZAxis &)=delete
 
UniformRotationAboutZAxisoperator= (UniformRotationAboutZAxis &&)=default
 
 UniformRotationAboutZAxis (double initial_time, std::optional< double > initial_expiration_delta_t, double angular_velocity, std::string function_of_time_name="RotationAngle")
 
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 (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 functions_of_time () const -> 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
 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
 
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 (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 functions_of_time () 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 Attributes

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

Friends

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

Detailed Description

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

A uniform rotation about the \(z\) axis:

\begin{eqnarray*} x &\to& x \cos \alpha(t) - y \sin \alpha(t)\text{,} \\ y &\to& x \sin \alpha(t) + y \cos \alpha(t)\text{,} \end{eqnarray*}

where \(\alpha(t)\) is a domain::FunctionsOfTime::FunctionOfTime. For 3 spatial dimensions, \(z \to z\), and the rotation is implemented as a product of the 2D rotation and an identity map. The rotation is undefined (and therefore unimplemented here) for 1 spatial dimension.

Member Function Documentation

◆ block_maps()

template<size_t MeshDim>
auto domain::creators::time_dependence::UniformRotationAboutZAxis< MeshDim >::block_maps ( 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>
auto domain::creators::time_dependence::UniformRotationAboutZAxis< MeshDim >::functions_of_time ( ) 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>
auto domain::creators::time_dependence::UniformRotationAboutZAxis< MeshDim >::get_clone ( ) const -> std::unique_ptr< TimeDependence< MeshDim > >
overridevirtual

Member Data Documentation

◆ help

template<size_t MeshDim>
constexpr Options::String domain::creators::time_dependence::UniformRotationAboutZAxis< MeshDim >::help
staticconstexpr
Initial value:
= {
"A spatially uniform rotation about the z axis initialized with a "
"constant angular velocity."}

The documentation for this class was generated from the following file: