SpECTRE  v2022.05.05
control_system::Trigger< ControlSystems > Class Template Reference

Trigger for control system measurements. More...

#include <Trigger.hpp>

Public Types

using is_triggered_argument_tags = tmpl::list<::Tags::Time, control_system::Tags::MeasurementTimescales >
using is_ready_argument_tags = tmpl::list<::Tags::Time >

Public Member Functions

Result is_triggered (const double time, const std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > &measurement_timescales)
void pup (PUP::er &p) override
- Public Member Functions inherited from DenseTrigger
template<typename DbTags >
Result is_triggered (const db::DataBox< DbTags > &box)
 Check whether the trigger fires.
template<typename DbTags , typename Metavariables , typename ArrayIndex , typename Component >
bool is_ready (const db::DataBox< DbTags > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const Component *const component) const
 Check whether all data required to evaluate the trigger is available. The trigger is not responsible for checking whether dense output of the evolved variables is possible, but may need to check things such as the availability of FunctionOfTime data.
std::optional< double > previous_trigger_time () const
 Reports the value of Tags::Time when the trigger most recently fired, except for the most recent call of is_triggered. More...
void pup (PUP::er &p) override

Static Public Member Functions

template<typename Metavariables , typename ArrayIndex , typename Component >
static bool is_ready (Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const Component *component, const double time)

Static Public Attributes

static constexpr bool factory_creatable = false

Detailed Description

template<typename ControlSystems>
class control_system::Trigger< ControlSystems >

Trigger for control system measurements.

This trigger is only intended to be used with the control_system::Event event. A specialization of this trigger will be created during control system initialization for each unique measurement.

These triggers must be added to the factory_creation struct in the metavariables, even though they cannot be created from the input file. The control_system::control_system_triggers metafunction provides the list of triggers to include.

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