|
Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
|
Numeric trim using finite differences. More...
#include <TrimSolver.hpp>


Classes | |
| struct | Options |
Public Member Functions | |
| FiniteDifferenceTrim () | |
| FiniteDifferenceTrim (Options opts) | |
| ::icarus::staging::TrimResult | Solve (::icarus::Simulator &sim, const TrimConfig &config) override |
| Solve trim problem. | |
| Public Member Functions inherited from icarus::staging::TrimSolver | |
| virtual | ~TrimSolver ()=default |
Numeric trim using finite differences.
Simple and robust Newton solver using central differences for Jacobian. Works with the existing double-typed Simulator without symbolic components.
Algorithm:
|
inline |
|
inlineexplicit |
|
inlineoverridevirtual |
Solve trim problem.
Finds control values that zero the specified derivatives. Modifies the simulator's signal values to the trim solution.
| sim | Simulator to trim (will be modified) |
| config | Trim configuration |
Implements icarus::staging::TrimSolver.