SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
control_system::metafunctions Namespace Reference

Metafunctions associated with the control systems. More...

Classes

struct  control_systems_with_measurement
 Given a list of control systems, extract those using a given measurement. More...
struct  event_from_submeasurement
struct  measurement
 Extract the measurement alias from a control system struct. More...
struct  measurements
 Given a list of control systems, obtain a list of distinct control system measurement structs used by them. More...
struct  submeasurements
 Given a measurement, obtain a list of its submeasurements (i.e., Measurement::submeasurements). More...

Typedefs

template<typename ControlSystems>
using interpolation_target_tags
 Extract the interpolation_target_tag aliases from all submeasurements for the list of control systems. This is intended for use in constructing the global list of interpolation target tags in the metavariables.
template<typename ControlSystems>
using horizon_metavars
template<typename Metavariables>
using all_control_components
 Get all ControlComponents from the metavariables, even if they are mocked.
template<typename ControlSystems, typename Submeasurement>
using event_from_submeasurement_t
template<typename ControlSystems>
using control_system_events
 The list of events needed for measurements for a list of control systems.
template<typename ControlSystems>
using measurements_t = typename measurements<ControlSystems>::type
template<typename ControlSystems, typename Measurement>
using control_systems_with_measurement_t
template<typename Measurement>
using submeasurements_t = typename submeasurements<Measurement>::type

Detailed Description

Metafunctions associated with the control systems.

Typedef Documentation

◆ all_control_components

template<typename Metavariables>
using control_system::metafunctions::all_control_components
Initial value:
tmpl::filter<detail::all_not_mocked_components<Metavariables>,
detail::wrapped_is_a< detail::is_a_wrapper< U >, T > is_a
Check if type T is a template specialization of U
Definition IsA.hpp:58

Get all ControlComponents from the metavariables, even if they are mocked.

◆ control_systems_with_measurement_t

template<typename ControlSystems, typename Measurement>
using control_system::metafunctions::control_systems_with_measurement_t
Initial value:
typename control_systems_with_measurement<ControlSystems,
Measurement>::type
Given a list of control systems, extract those using a given measurement.
Definition Metafunctions.hpp:46

◆ event_from_submeasurement_t

template<typename ControlSystems, typename Submeasurement>
using control_system::metafunctions::event_from_submeasurement_t
Initial value:
typename event_from_submeasurement<ControlSystems, Submeasurement>::type

◆ horizon_metavars

template<typename ControlSystems>
using control_system::metafunctions::horizon_metavars
Initial value:
tmpl::flatten<tmpl::transform<
measurements_t<ControlSystems>,
tmpl::lazy::transform<
tmpl::defer<detail::horizon_metavars_for_submeasurement<
tmpl::_1,
tmpl::parent<tmpl::_1>>>>>>>
Given a measurement, obtain a list of its submeasurements (i.e., Measurement::submeasurements).
Definition Metafunctions.hpp:59

◆ interpolation_target_tags

template<typename ControlSystems>
using control_system::metafunctions::interpolation_target_tags
Initial value:
tmpl::flatten<tmpl::transform<
measurements_t<ControlSystems>,
tmpl::lazy::transform<
tmpl::defer<detail::interpolation_target_tags_for_submeasurement<
tmpl::_1,
tmpl::parent<tmpl::_1>>>>>>>

Extract the interpolation_target_tag aliases from all submeasurements for the list of control systems. This is intended for use in constructing the global list of interpolation target tags in the metavariables.