|
SpECTRE
2021.08.02
|
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 &&) noexcept=default | |
| UniformRotationAboutZAxis & | operator= (const UniformRotationAboutZAxis &)=delete |
| UniformRotationAboutZAxis & | operator= (UniformRotationAboutZAxis &&) noexcept=default |
| UniformRotationAboutZAxis (double initial_time, std::optional< double > initial_expiration_delta_t, 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. 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 | |
| TimeDependence & | operator= (const TimeDependence &)=default |
| TimeDependence (TimeDependence &&)=default | |
| TimeDependence & | operator= (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 UniformRotationAboutZAxis< LocalDim > &lhs, const UniformRotationAboutZAxis< LocalDim > &rhs) noexcept |
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.
|
overridevirtualnoexcept |
Returns the coordinate maps from the Frame::Grid to the Frame::Inertial frame for each block.
Implements domain::creators::time_dependence::TimeDependence< MeshDim >.
|
overridevirtualnoexcept |
Returns the functions of time for the domain.
Implements domain::creators::time_dependence::TimeDependence< MeshDim >.
|
overridevirtualnoexcept |
Returns a std::unique_ptr pointing to a copy of the TimeDependence.
Implements domain::creators::time_dependence::TimeDependence< MeshDim >.
|
staticconstexpr |