SpECTRE  v2023.05.16
control_system::metafunctions Namespace Reference

Metafunctions associated with the control systems. More...


struct  control_systems_with_measurement
 Given a list of control systems, extract those using a given measurement. More...
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...


template<typename ControlSystems >
using interpolation_target_tags = tmpl::flatten< tmpl::transform< measurements_t< ControlSystems >, tmpl::lazy::transform< submeasurements< tmpl::_1 >, tmpl::defer< detail::interpolation_target_tags_for_submeasurement< tmpl::_1, control_systems_with_measurement< tmpl::pin< ControlSystems >, 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.
template<typename ControlSystems >
using measurements_t = typename measurements< ControlSystems >::type
template<typename ControlSystems , typename Measurement >
using control_systems_with_measurement_t = typename control_systems_with_measurement< ControlSystems, Measurement >::type
template<typename Measurement >
using submeasurements_t = typename submeasurements< Measurement >::type

Detailed Description

Metafunctions associated with the control systems.