|
| Shape (const Shape &)=delete |
|
| Shape (Shape &&)=default |
|
Shape & | operator= (const Shape &)=delete |
|
Shape & | operator= (Shape &&)=default |
|
| Shape (double initial_time, size_t l_max, double mass, std::array< double, 3 > spin, std::array< double, 3 > center, double inner_radius, double outer_radius, const Options::Context &context={}) |
|
auto | get_clone () const -> std::unique_ptr< TimeDependence< mesh_dim > > 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, mesh_dim > > > 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, mesh_dim > > > 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, mesh_dim > > > 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< 3 > |
| TimeDependence (const TimeDependence &)=default |
|
| TimeDependence (TimeDependence &&)=default |
|
TimeDependence & | operator= (const TimeDependence &)=default |
|
TimeDependence & | operator= (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.
|
|
A Shape whose inner surface conforms to a surface of constant Boyer-Lindquist radius, in Kerr-Schild coordinates as given by domain::CoordinateMaps::TimeDependent::Shape.
Details
This TimeDependence is suitable for use on a spherical shell, where LMax is the number of l and m spherical harmonics to use in approximating the Kerr horizon, of mass Mass
and spin Spin
. The value of the Boyer-Lindquist radius to which the inner surface conforms is given by the value of inner_radius
. If the user wants the inner surface of the Shape to conform to a Kerr horizon for a given mass and spin, inner_radius
should be the Boyer-Lindquist radius of the outer horizon.
The actual shape map that is applied will go from the Grid to the Distorted frame, and then an identity map will go from the Distorted to Inertial frame. The reasoning behind this is because in basically all use cases (BBH), the shape map will go to the Distorted frame only and other maps will go from the Distorted frame to the Inertial frame.
- Note
- The quantities stored in the FunctionOfTime are not the complex spherical-harmonic coefficients \(\lambda_{lm}(t)\), but instead are the real-valued SPHEREPACK coefficients \(a_{lm}(t)\) and \(b_{lm}(t)\) used by Spherepack. The relationship between these two sets of coefficients is
\begin{align} a_{l0} & = \sqrt{\frac{2}{\pi}}\lambda_{l0}&\qquad l\geq 0,\\ a_{lm} & = (-1)^m\sqrt{\frac{2}{\pi}} \mathrm{Re}(\lambda_{lm}) &\qquad l\geq 1, m\geq 1, \\ b_{lm} & = (-1)^m\sqrt{\frac{2}{\pi}} \mathrm{Im}(\lambda_{lm}) &\qquad l\geq 1, m\geq 1. \end{align}
See domain::CoordinateMaps::TimeDependent::Shape for more details.
-
To use this time dependence with the
control_system::system::Shape
control system, you must choose the same
- Template Parameters
-
Label | that the control system is using. |