SpECTRE  v2024.12.16
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
domain::creators::time_dependence::RotationAboutZAxis< MeshDim > Class Template Referencefinal

A spatially uniform rotation about the z axis: More...

#include <RotationAboutZAxis.hpp>

Classes

struct  InitialAngle
 
struct  InitialAngularAcceleration
 
struct  InitialAngularVelocity
 The x-, y-, and z-velocity. More...
 
struct  InitialTime
 The initial time of the function of time. More...
 

Public Types

using maps_list = implementation defined
 
using GridToInertialMap = implementation defined
 
using options = implementation defined
 
- Public Types inherited from domain::creators::time_dependence::TimeDependence< MeshDim >
using creatable_classes = implementation defined
 

Public Member Functions

 RotationAboutZAxis (const RotationAboutZAxis &)=delete
 
 RotationAboutZAxis (RotationAboutZAxis &&)=default
 
RotationAboutZAxisoperator= (const RotationAboutZAxis &)=delete
 
RotationAboutZAxisoperator= (RotationAboutZAxis &&)=default
 
 RotationAboutZAxis (double initial_time, double initial_angle, double initial_angular_velocity, double initial_angular_acceleration)
 
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
 
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_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 Attributes

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

Friends

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

Detailed Description

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

A spatially uniform rotation about the z axis:

xxcosα(t)ysinα(t),yxsinα(t)+ycosα(t),

where α(t) is a domain::FunctionsOfTime::FunctionOfTime. For 3 spatial dimensions, zz, 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_distorted_to_inertial()

template<size_t MeshDim>
auto domain::creators::time_dependence::RotationAboutZAxis< MeshDim >::block_maps_distorted_to_inertial ( size_t  number_of_blocks) const -> std::vector< std::unique_ptr< domain::CoordinateMapBase< Frame::Distorted, Frame::Inertial, MeshDim > > >
inlineoverridevirtual

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

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>
auto domain::creators::time_dependence::RotationAboutZAxis< MeshDim >::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>
auto domain::creators::time_dependence::RotationAboutZAxis< MeshDim >::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>
auto domain::creators::time_dependence::RotationAboutZAxis< 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::RotationAboutZAxis< 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: