SpECTRE
v2023.05.16
|
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 |
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()
.