Classes | Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
domain::creators::time_dependence::UniformRotationAboutZAxis< MeshDim > Class Template Referencefinal

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

#include <UniformRotationAboutZAxis.hpp>


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  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, 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 &&) noexcept=default
UniformRotationAboutZAxisoperator= (const UniformRotationAboutZAxis &)=delete
UniformRotationAboutZAxisoperator= (UniformRotationAboutZAxis &&) noexcept=default
 UniformRotationAboutZAxis (double initial_time, double angular_velocity, std::string function_of_time_name="RotationAngle") noexcept
auto get_clone () const noexcept -> std::unique_ptr< TimeDependence< MeshDim >> override
 Returns a std::unique_ptr pointing to a copy of the TimeDependence.
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.
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.
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


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

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 Data Documentation

◆ help

template<size_t MeshDim>
constexpr Options::String domain::creators::time_dependence::UniformRotationAboutZAxis< MeshDim >::help
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 files: