Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
Loading...
Searching...
No Matches
TrimSolver.hpp File Reference

Trim/initialization solvers for state setup during Stage(). More...

#include <icarus/core/Error.hpp>
#include <icarus/core/ValidationResult.hpp>
#include <icarus/sim/SimulatorConfig.hpp>
#include <icarus/staging/StagingTypes.hpp>
#include <icarus/staging/SymbolicSimulatorCore.hpp>
#include <janus/core/Function.hpp>
#include <janus/math/RootFinding.hpp>
#include <vulcan/io/HDF5Reader.hpp>
#include <Eigen/Dense>
#include <cmath>
#include <algorithm>
#include <memory>
#include <string>
#include <unordered_set>
#include <vector>
#include <icarus/sim/Simulator.hpp>
Include dependency graph for TrimSolver.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  icarus::staging::TrimSolver
 Abstract trim solver interface. More...
class  icarus::staging::FiniteDifferenceTrim
 Numeric trim using finite differences. More...
struct  icarus::staging::FiniteDifferenceTrim::Options
class  icarus::staging::SymbolicTrim
 Symbolic trim using janus::NewtonSolver. More...
class  icarus::staging::WarmstartSolver
 Warmstart solver - restores state from HDF5 recording. More...

Namespaces

namespace  icarus
namespace  icarus::staging

Functions

std::unique_ptr< TrimSolvericarus::staging::CreateTrimSolver (const TrimConfig &config, bool symbolic_enabled)
 Create appropriate trim solver based on configuration.

Detailed Description

Trim/initialization solvers for state setup during Stage().

Supports multiple modes for state initialization:

  • Equilibrium (FiniteDifferenceTrim): Numeric Newton with central differences
  • Equilibrium (SymbolicTrim): Exact Jacobians via janus::NewtonSolver
  • Warmstart (WarmstartSolver): Restore state from HDF5 recording