|
SpECTRE
2021.08.02
|
Contains control system elements. More...
Classes | |
| class | Averager< DerivOrder > |
| A weighted exponential averager of \(Q\) and its derivatives implementing Appendix A in [57]. More... | |
| class | Controller< DerivOrder > |
| A PND (proportional to Q and N derivatives of Q) controller that computes the control signal: More... | |
| class | FunctionOfTimeUpdater< DerivOrder > |
Responsible for updating the FunctionOfTime map parameters. modify: updates the FunctionOfTime map parameters, changing the maps. measure: provides updated information to the ControlSystem, without modifying the maps. More... | |
| class | TimescaleTuner |
| Manages control system timescales. More... | |
| class | domain::FunctionsOfTime::FixedSpeedCubic |
| Sets \(f(t)\) and derivatives using cubic rational functions, such that the first derivative approaches a constant and the second derivative approaches zero. More... | |
| class | domain::FunctionsOfTime::SettleToConstant |
| Given an initial function of time, transitions the map to a constant-in-time value. More... | |
Contains control system elements.
The control system manages the time-dependent mapping between frames, such as the fixed computational frame (grid frame) and the inertial frame. The time-dependent parameters of the mapping are adjusted by a feedback control system in order to follow the dynamical evolution of objects such as horizons of black holes or surfaces of neutron stars. For example, in binary black hole simulations the map is typically a composition of maps that include translation, rotation, scaling, shape, etc. Each map under the governance of the control system has an associated time-dependent map parameter \(\lambda(t)\) that is a piecewise Nth order polynomial. At discrete times (called reset times), the control system resets the Nth time derivative of \(\lambda(t)\) to a new constant value, in order to minimize an error function \(Q(t)\) that is specific to each map. At each reset time, the Nth derivative of \(\lambda(t)\) is set to a function \(U(t)\), called the control signal, that is determined by \(Q(t)\) and its time derivatives and time integral. Note that \(\lambda(t)\), \(U(t)\), and \(Q(t)\) can be vectors.
The key components of the control system are:
\[U(t) = a_{0}\int_{t_{0}}^{t} Q(t') dt'+a_{1}Q(t)+a_{2}\frac{dQ}{dt}\]
or PND (proportional/N derivatives)\[ U(t) = \sum_{k=0}^{N} a_{k} \frac{d^kQ}{dt^k} \]
The coefficients \( a_{k} \) in the computation of \(U(t)\) are chosen at each time such that the error \(Q(t)\) will be critically damped on a timescale of \(\tau\) (the damping time), i.e. \(Q(t) \propto e^{-t/\tau}\).For additional details describing our control system approach, see [57].