SpECTRE Documentation Coverage Report
 Current view: top level - ControlSystem - CalculateMeasurementTimescales.hpp Hit Total Coverage Commit: 697db44127ce57424c079f629b3283267ec6bd78 Lines: 1 2 50.0 % Date: 2024-06-21 21:13:41 Legend: Lines: hit not hit
  Line data Source code  1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include 7 : 8 : /// \cond 9 : template 10 : class Controller; 11 : class DataVector; 12 : template 13 : class TimescaleTuner; 14 : /// \endcond 15 : 16 : namespace control_system { 17 : /*! 18 : * \ingroup ControlSystemGroup 19 : * \brief Calculate the measurement timescale based on the damping timescale, 20 : * update fraction, and DerivOrder of the control system 21 : * 22 : * The update timescale is \f$\tau_\mathrm{update} = \alpha_\mathrm{update} 23 : * \tau_\mathrm{damp}\f$ where \f$\tau_\mathrm{damp}\f$ is the damping timescale 24 : * (from the TimescaleTuner) and \f$\alpha_\mathrm{update}\f$ is the update 25 : * fraction (from the controller). For an Nth order control system, the averager 26 : * requires at least N measurements in order to perform its finite 27 : * differencing to calculate the derivatives of the control error. This implies 28 : * that the largest the measurement timescale can be is \f$\tau_\mathrm{m} = 29 : * \tau_\mathrm{update} / N\f$. To ensure that we have sufficient measurements, 30 : * we calculate the measurement timescales as \f$\tau_\mathrm{m} = 31 : * \tau_\mathrm{update} / N\f$ where \f$N\f$ is measurements_per_update. 32 : */ 33 : template 34 1 : DataVector calculate_measurement_timescales( 35 : const ::Controller& controller, 36 : const ::TimescaleTuner& tuner, 37 : const int measurements_per_update); 38 : } // namespace control_system 

 Generated by: LCOV version 1.14