SpECTRE  v2023.01.13
control_system::Tags::MeasurementTimescales Struct Reference

The measurement timescales associated with domain::Tags::FunctionsOfTime. More...

#include <MeasurementTimescales.hpp>

Public Types

using type = std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > >
 
template<typename Metavariables >
using option_tags = typename detail::OptionList< Metavariables, true, ::detail::has_override_functions_of_time_v< Metavariables > >::type
 

Static Public Member Functions

template<typename Metavariables , typename... OptionHolders>
static type create_from_options (const int measurements_per_update, const std::unique_ptr<::DomainCreator< Metavariables::volume_dim > > &domain_creator, const std::optional< std::string > &function_of_time_file, const std::map< std::string, std::string > &function_of_time_name_map, const double initial_time, const double initial_time_step, const OptionHolders &... option_holders)
 This version of create_from_options is used if the metavariables defined a constexpr bool override_functions_of_time and it is true, and there are control systems in the metavariables.
 
template<typename Metavariables , typename... OptionHolders>
static type create_from_options (const int measurements_per_update, const std::unique_ptr<::DomainCreator< Metavariables::volume_dim > > &domain_creator, const double initial_time, const double initial_time_step, const OptionHolders &... option_holders)
 This version of create_from_options is used if the metavariables did not define a constexpr bool override_functions_of_time or it did define it and it is false, and the metavariables did define control systems.
 

Static Public Attributes

static constexpr bool pass_metavariables = true
 

Detailed Description

The measurement timescales associated with domain::Tags::FunctionsOfTime.

Each function of time associated with a control system has a corresponding set of timescales here, represented as PiecewisePolynomial<0> with the same components as the function itself.

If the control system isn't active or the function of time is being overridden from inputs, then the measurement timescale and expiration time are std::numeric_limits<double>::infinity().


The documentation for this struct was generated from the following file: