|
SpECTRE
v2026.06.30
|
This holds all options related to the time dependent maps of the domain::creators::Sphere domain creator. More...
#include <Sphere.hpp>
Classes | |
| struct | InitialTime |
| The initial time of the functions of time. More... | |
| struct | NumberOfRadialShellsWithShapeMap |
| struct | TransitionRotScaleTrans |
Public Types | |
| using | maps_list |
| using | ShapeMapOptions |
| using | ShapeMapOptionType = typename ShapeMapOptions::type::value_type |
| using | RotationMapOptions = time_dependent_options::RotationMapOptions<true> |
| using | RotationMapOptionType = typename RotationMapOptions::type::value_type |
| using | ExpansionMapOptions = time_dependent_options::ExpansionMapOptions<true> |
| using | ExpansionMapOptionType = typename ExpansionMapOptions::type::value_type |
| using | TranslationMapOptions |
| using | TranslationMapOptionType |
| using | options |
Public Member Functions | |
| TimeDependentMapOptions (double initial_time, ShapeMapOptionType shape_map_options, RotationMapOptionType rotation_map_options, ExpansionMapOptionType expansion_map_options, TranslationMapOptionType translation_map_options, bool transition_rot_scale_trans, std::optional< size_t > number_of_radial_shells_with_shape_map) | |
| std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > | create_functions_of_time (const std::unordered_map< std::string, double > &initial_expiration_times) const |
| Create the function of time map using the options that were provided to this class. | |
| void | build_maps (const std::array< double, 3 > ¢er, bool is_filled, double inner_radius, const std::vector< double > &radial_partitions, double outer_radius) |
| Construct the actual maps that will be used. | |
| MapType< Frame::Distorted, Frame::Inertial > | distorted_to_inertial_map (size_t radial_shell, bool is_inner_cube) const |
| This will construct the map from Frame::Distorted to Frame::Inertial. | |
| MapType< Frame::Grid, Frame::Distorted > | grid_to_distorted_map (size_t radial_shell, size_t shape_map_index, bool is_inner_cube) const |
| This will construct the map from Frame::Grid to Frame::Distorted. | |
| MapType< Frame::Grid, Frame::Inertial > | grid_to_inertial_map (size_t radial_shell, size_t shape_map_index, bool is_outer_shell, bool is_central_region) const |
| This will construct the map from Frame::Grid to Frame::Inertial. | |
| bool | using_distorted_frame () const |
| Whether or not the distorted frame is being used. I.e. whether or not shape map options were specified. | |
Static Public Attributes | |
| static constexpr Options::String | help |
| static const std::string | size_name {"Size"} |
| static const std::string | shape_name {"Shape"} |
| static const std::string | rotation_name {"Rotation"} |
| static const std::string | expansion_name {"Expansion"} |
| static const std::string | expansion_outer_boundary_name |
| static const std::string | translation_name {"Translation"} |
This holds all options related to the time dependent maps of the domain::creators::Sphere domain creator.
| using domain::creators::sphere::TimeDependentMapOptions::maps_list |
| using domain::creators::sphere::TimeDependentMapOptions::options |
| using domain::creators::sphere::TimeDependentMapOptions::TranslationMapOptionType |
| void domain::creators::sphere::TimeDependentMapOptions::build_maps | ( | const std::array< double, 3 > & | center, |
| bool | is_filled, | ||
| double | inner_radius, | ||
| const std::vector< double > & | radial_partitions, | ||
| double | outer_radius ) |
Construct the actual maps that will be used.
Currently, this constructs a:
| std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > domain::creators::sphere::TimeDependentMapOptions::create_functions_of_time | ( | const std::unordered_map< std::string, double > & | initial_expiration_times | ) | const |
Create the function of time map using the options that were provided to this class.
Currently, this will add:
| MapType< Frame::Distorted, Frame::Inertial > domain::creators::sphere::TimeDependentMapOptions::distorted_to_inertial_map | ( | size_t | radial_shell, |
| bool | is_inner_cube ) const |
This will construct the map from Frame::Distorted to Frame::Inertial.
For blocks with a shape map, this will be a RotScaleTrans map. For other blocks, this returns nullptr.
| radial_shell | Zero-based index specifying a shell in the Sphere or SphericalShells domain, starting at the innermost shell. |
| is_inner_cube | Whether the block is the central cube of a filled sphere. |
| MapType< Frame::Grid, Frame::Distorted > domain::creators::sphere::TimeDependentMapOptions::grid_to_distorted_map | ( | size_t | radial_shell, |
| size_t | shape_map_index, | ||
| bool | is_inner_cube ) const |
This will construct the map from Frame::Grid to Frame::Distorted.
For blocks with a shape map, this will return the Shape map (with a size function of time). For other blocks, this returns nullptr.
| radial_shell | Zero-based index specifying a shell in the Sphere or SphericalShells domain, starting at the innermost shell. |
| shape_map_index | Index of the wedge direction in the order returned by orientations_for_sphere_wrappings. This is only used for filled spheres. In that case, the implementation uses the Wedge transition function and builds two sets of shape maps for the six canonical wedge directions: indices 0..5 deform the innermost shell and indices 6..11 roll off the deformation in outer shells. If the sphere is not filled, then the implementation uses the SphereTransition function and builds only one shape map, leaving this option unused. |
| is_inner_cube | Whether the block is the central cube of a filled sphere. |
| MapType< Frame::Grid, Frame::Inertial > domain::creators::sphere::TimeDependentMapOptions::grid_to_inertial_map | ( | size_t | radial_shell, |
| size_t | shape_map_index, | ||
| bool | is_outer_shell, | ||
| bool | is_central_region ) const |
This will construct the map from Frame::Grid to Frame::Inertial.
For blocks with a shape map, this will return the Shape and RotScaleTrans composition. For other blocks, this returns just the RotScaleTrans map. In the outer shell, the RotScaleTrans map will transition to zero.
| radial_shell | Zero-based index specifying a shell in the Sphere or SphericalShells domain, starting at the innermost shell. |
| shape_map_index | Index of the wedge direction in the order returned by orientations_for_sphere_wrappings. This is only used for filled spheres. In that case, the implementation uses the Wedge transition function and builds two sets of shape maps for the six canonical wedge directions: indices 0..5 deform the innermost shell and indices 6..11 roll off the deformation in outer shells. If the sphere is not filled, then the implementation uses the SphereTransition function and builds only one shape map, leaving this option unused. |
| is_outer_shell | Whether the block is in the outermost radial shell. |
| is_central_region | Whether the map is for the central cube of a filled sphere or the excision boundary of an excised sphere. |
|
inlinestatic |
|
staticconstexpr |