SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
domain::creators::sphere::TimeDependentMapOptions Struct Reference

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  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::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 > &center, 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::Inertialdistorted_to_inertial_map (size_t block_number, bool is_inner_cube, size_t num_blocks_per_shell) const
 This will construct the map from Frame::Distorted to Frame::Inertial.
MapType< Frame::Grid, Frame::Distortedgrid_to_distorted_map (size_t block_number, bool is_inner_cube, size_t num_blocks_per_shell) const
 This will construct the map from Frame::Grid to Frame::Distorted.
MapType< Frame::Grid, Frame::Inertialgrid_to_inertial_map (size_t block_number, bool is_outer_shell, bool is_central_region, size_t num_blocks_per_shell) 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"}

Detailed Description

This holds all options related to the time dependent maps of the domain::creators::Sphere domain creator.

Member Typedef Documentation

◆ maps_list

using domain::creators::sphere::TimeDependentMapOptions::maps_list
Initial value:
tmpl::list<IdentityForComposition<Frame::Grid, Frame::Inertial>,
IdentityForComposition<Frame::Grid, Frame::Distorted>,
IdentityForComposition<Frame::Distorted, Frame::Inertial>,
GridToDistortedComposition, GridToInertialShapeMap,
GridToInertialSimple, GridToInertialComposition,
DistortedToInertialComposition>

◆ options

using domain::creators::sphere::TimeDependentMapOptions::options
Initial value:
tmpl::list<InitialTime, ShapeMapOptions, RotationMapOptions,
The initial time of the functions of time.
Definition BinaryCompactObject.hpp:149
domain::creators::time_dependent_options::TranslationMapOptions< 3 > TranslationMapOptions
Options for the Translation Map, the outer radius is always set to the outer boundary of the Domain,...
Definition BinaryCompactObject.hpp:171
domain::creators::time_dependent_options::ExpansionMapOptions< false > ExpansionMapOptions
Options for the expansion map. The outer boundary radius of the map is always set to the outer bounda...
Definition BinaryCompactObject.hpp:159
domain::creators::time_dependent_options::RotationMapOptions< false > RotationMapOptions
Options for the rotation map.
Definition BinaryCompactObject.hpp:164

◆ ShapeMapOptions

◆ TranslationMapOptions

Initial value:
Class that holds hard coded translation map options from the input file.
Definition TranslationMap.hpp:28

◆ TranslationMapOptionType

using domain::creators::sphere::TimeDependentMapOptions::TranslationMapOptionType
Initial value:
typename TranslationMapOptions::type::value_type

Member Function Documentation

◆ build_maps()

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: Shape (with a size function of time)
  • Rotation: Rotation
  • Expansion: Expansion
  • Expansion outside the transition region: ExpansionOuterBoundary
  • Translation: Translation

◆ create_functions_of_time()

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:

  • Size: PiecewisePolynomial<3>
  • Shape: PiecewisePolynomial<2>
  • Rotation: SettleToConstantQuaternion
  • Expansion: SettleToConstant
  • ExpansionOuterBoundary: PiecewisePolynomial<2>
  • Translation: PiecewisePolynomial<2>

◆ distorted_to_inertial_map()

MapType< Frame::Distorted, Frame::Inertial > domain::creators::sphere::TimeDependentMapOptions::distorted_to_inertial_map ( size_t block_number,
bool is_inner_cube,
size_t num_blocks_per_shell ) 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.

◆ grid_to_distorted_map()

MapType< Frame::Grid, Frame::Distorted > domain::creators::sphere::TimeDependentMapOptions::grid_to_distorted_map ( size_t block_number,
bool is_inner_cube,
size_t num_blocks_per_shell ) 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.

◆ grid_to_inertial_map()

MapType< Frame::Grid, Frame::Inertial > domain::creators::sphere::TimeDependentMapOptions::grid_to_inertial_map ( size_t block_number,
bool is_outer_shell,
bool is_central_region,
size_t num_blocks_per_shell ) 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.

Member Data Documentation

◆ expansion_outer_boundary_name

const std::string domain::creators::sphere::TimeDependentMapOptions::expansion_outer_boundary_name
inlinestatic
Initial value:
{
"ExpansionOuterBoundary"}

◆ help

Options::String domain::creators::sphere::TimeDependentMapOptions::help
staticconstexpr
Initial value:
{
"The options for all the hard-coded time dependent maps in the "
"Sphere domain."}

The documentation for this struct was generated from the following file:
  • src/Domain/Creators/TimeDependentOptions/Sphere.hpp