SpECTRE
v2024.05.11

Class for computing the upcoming measurement times for a control system measurement. More...
#include <FutureMeasurements.hpp>
Public Member Functions  
FutureMeasurements (size_t measurements_per_update, double first_measurement_time)  
std::optional< double >  next_measurement () const 
Next measurement time, if known.  
std::optional< double >  next_update () const 
Next measurement that triggers an update, if known.  
void  pop_front () 
Remove the earliest measurement form the list, generally because it has been performed.  
void  update (const domain::FunctionsOfTime::FunctionOfTime &measurement_timescale) 
Calculate and store measurement times up through the expiration time of the argument. More...  
void  pup (PUP::er &p) 
Friends  
bool  operator== (const FutureMeasurements &lhs, const FutureMeasurements &rhs) 
Class for computing the upcoming measurement times for a control system measurement.
At any time, the measurement timescales can be queried to find the spacing between control system measurements. Most uses, however, require the actual measurement times, and sometimes need to know times of controlsystem update triggers. This class calculates these quantities from the timescales.
void control_system::FutureMeasurements::update  (  const domain::FunctionsOfTime::FunctionOfTime &  measurement_timescale  ) 
Calculate and store measurement times up through the expiration time of the argument.
Given a measurement time \(t_i\), the next measurement will occur at \(t_{i+1} = t_i + \tau_m(t_i)\), where \(\tau_m(t)\) is the measurement timescale at time \(t\).