SpECTRE
v2024.09.29
|
This holds all options related to the time dependent maps of the domain::creators::Sphere domain creator. More...
#include <Sphere.hpp>
Classes | |
struct | ExpansionMapOptions |
struct | InitialTime |
The initial time of the functions of time. More... | |
struct | RotationMapOptions |
struct | TransitionRotScaleTrans |
struct | TranslationMapOptions |
Public Types | |
using | maps_list = tmpl::list< IdentityForComposition< Frame::Grid, Frame::Inertial >, IdentityForComposition< Frame::Grid, Frame::Distorted >, IdentityForComposition< Frame::Distorted, Frame::Inertial >, GridToDistortedComposition, GridToInertialShapeMap, GridToInertialSimple, GridToInertialComposition, DistortedToInertialComposition > |
using | ShapeMapOptions = time_dependent_options::ShapeMapOptions< false, domain::ObjectLabel::None > |
using | options = tmpl::list< InitialTime, ShapeMapOptions, RotationMapOptions, ExpansionMapOptions, TranslationMapOptions, TransitionRotScaleTrans > |
Public Member Functions | |
TimeDependentMapOptions (double initial_time, std::optional< ShapeMapOptions > shape_map_options, std::optional< RotationMapOptions > rotation_map_options, std::optional< ExpansionMapOptions > expansion_map_options, std::optional< TranslationMapOptions > translation_map_options, bool transition_rot_scale_trans) | |
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. More... | |
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. More... | |
MapType< Frame::Distorted, Frame::Inertial > | distorted_to_inertial_map (size_t block_number, bool is_inner_cube) const |
This will construct the map from Frame::Distorted to Frame::Inertial . More... | |
MapType< Frame::Grid, Frame::Distorted > | grid_to_distorted_map (size_t block_number, bool is_inner_cube) const |
This will construct the map from Frame::Grid to Frame::Distorted . More... | |
MapType< Frame::Grid, Frame::Inertial > | grid_to_inertial_map (size_t block_number, bool is_outer_shell, bool is_inner_cube) const |
This will construct the map from Frame::Grid to Frame::Inertial . More... | |
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.
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:
Shape
(with a size function of time)Rotation
Expansion
ExpansionOuterBoundary
Translation
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:
PiecewisePolynomial<3>
PiecewisePolynomial<2>
SettleToConstantQuaternion
SettleToConstant
PiecewisePolynomial<2>
PiecewisePolynomial<2>
MapType< Frame::Distorted, Frame::Inertial > domain::creators::sphere::TimeDependentMapOptions::distorted_to_inertial_map | ( | size_t | block_number, |
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
.
MapType< Frame::Grid, Frame::Distorted > domain::creators::sphere::TimeDependentMapOptions::grid_to_distorted_map | ( | size_t | block_number, |
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
.
MapType< Frame::Grid, Frame::Inertial > domain::creators::sphere::TimeDependentMapOptions::grid_to_inertial_map | ( | size_t | block_number, |
bool | is_outer_shell, | ||
bool | is_inner_cube | ||
) | 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.
|
inlinestatic |
|
staticconstexpr |