Classes | Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
domain::creators::time_dependence::CubicScale< MeshDim > Class Template Referencefinal

A linear or cubic radial scaling time dependence. More...

#include <CubicScale.hpp>


struct  Acceleration
 The acceleration of the expansion factors. More...
struct  FunctionOfTimeNames
 The names of the functions of times to be added to the added to the DataBox. More...
struct  InitialExpansion
 The initial values of the expansion factors. More...
struct  InitialTime
 The initial time of the functions of time. More...
struct  OuterBoundary
 The outer boundary or pivot point of the domain::CoordinateMaps::TimeDependent::CubicScale map. More...
struct  Velocity
 The velocity of the expansion factors. More...

Public Types

using maps_list = tmpl::list< CoordinateMap< Frame::Grid, Frame::Inertial, CubicScaleMap > >
using options = tmpl::list< InitialTime, OuterBoundary, FunctionOfTimeNames, InitialExpansion, Velocity, Acceleration >
using MapForComposition = domain::CoordinateMap< Frame::Grid, Frame::Inertial, CubicScaleMap >
- 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

 CubicScale (const CubicScale &)=delete
 CubicScale (CubicScale &&) noexcept=default
CubicScaleoperator= (const CubicScale &)=delete
CubicScaleoperator= (CubicScale &&) noexcept=default
 CubicScale (double initial_time, double outer_boundary, std::array< std::string, 2 > functions_of_time_names, const std::array< double, 2 > &initial_expansion, const std::array< double, 2 > &velocity, const std::array< double, 2 > &acceleration) noexcept
auto get_clone () const noexcept -> std::unique_ptr< TimeDependence< MeshDim >> override
 Returns a std::unique_ptr pointing to a copy of the TimeDependence.
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.
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.
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
TimeDependenceoperator= (const TimeDependence &)=default
 TimeDependence (TimeDependence &&)=default
TimeDependenceoperator= (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


template<size_t LocalDim>
bool operator== (const CubicScale< LocalDim > &lhs, const CubicScale< LocalDim > &rhs) noexcept

Detailed Description

template<size_t MeshDim>
class domain::creators::time_dependence::CubicScale< MeshDim >

A linear or cubic radial scaling time dependence.

Adds the domain::CoordinateMaps::TimeDependent::CubicScale map. A linear radial scaling can be used by specifying the two functions of time to have the same name.

Member Data Documentation

◆ help

template<size_t MeshDim>
constexpr Options::String domain::creators::time_dependence::CubicScale< MeshDim >::help
Initial value:
= {
"A spatial radial scaling either based on a cubic scaling or a simple\n"
"linear scaling.\n"
"If the two functions of time have the same name then the scaling is a\n"
"linear radial scaling."}

The documentation for this class was generated from the following files: