Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
Loading...
Searching...
No Matches
icarus::SimulatorConfig Struct Reference

Complete simulation configuration. More...

#include <SimulatorConfig.hpp>

Collaboration diagram for icarus::SimulatorConfig:

Public Member Functions

std::vector< std::string > Validate () const
 Validate configuration consistency.

Static Public Member Functions

static SimulatorConfig Default ()
 Create default config.
static SimulatorConfig FromFile (const std::string &path)
static SimulatorConfig FromFiles (const std::string &, const std::string &)

Public Attributes

std::string name = "Simulation"
std::string version = icarus::Version()
std::string description
std::string source_file
 Path to source YAML file (set by loader).
double t_start = 0.0
double t_end = 100.0
double dt = 0.01
 Note: may be auto-derived from scheduler.
EpochConfig epoch
std::vector< ComponentConfigcomponents
std::vector< signal::SignalRouteroutes
SchedulerConfig scheduler = SchedulerConfig::Default()
StageConfig staging
PhaseConfig phases
IntegratorConfig< double > integrator = IntegratorConfig<double>::RK4Default()
LogConfig logging
RecordingConfig recording
OutputConfig output

Detailed Description

Complete simulation configuration.

Loaded from simulation.yaml master binding file. All sub-configs can be inline or referenced via includes.

NOT templated - uses double for numeric values.

Member Function Documentation

◆ Default()

SimulatorConfig icarus::SimulatorConfig::Default ( )
inlinestaticnodiscard

Create default config.

◆ FromFile()

SimulatorConfig icarus::SimulatorConfig::FromFile ( const std::string & path)
inlinestaticnodiscard

Load from master binding file

Note
Implementation in SimulationLoader.hpp to avoid circular include

◆ FromFiles()

SimulatorConfig icarus::SimulatorConfig::FromFiles ( const std::string & ,
const std::string &  )
inlinestaticnodiscard

Load from master + explicit routes file

Note
Use SimulationLoader::Load() which handles routes in the main config

◆ Validate()

std::vector< std::string > icarus::SimulatorConfig::Validate ( ) const
inlinenodiscard

Validate configuration consistency.

Member Data Documentation

◆ components

std::vector<ComponentConfig> icarus::SimulatorConfig::components

◆ description

std::string icarus::SimulatorConfig::description

◆ dt

double icarus::SimulatorConfig::dt = 0.01

Note: may be auto-derived from scheduler.

◆ epoch

EpochConfig icarus::SimulatorConfig::epoch

Epoch configuration for absolute time support When configured, enables time scale conversions (UTC, TAI, GPS, etc.)

◆ integrator

IntegratorConfig<double> icarus::SimulatorConfig::integrator = IntegratorConfig<double>::RK4Default()

◆ logging

LogConfig icarus::SimulatorConfig::logging

◆ name

std::string icarus::SimulatorConfig::name = "Simulation"

◆ output

OutputConfig icarus::SimulatorConfig::output

◆ phases

PhaseConfig icarus::SimulatorConfig::phases

◆ recording

RecordingConfig icarus::SimulatorConfig::recording

◆ routes

std::vector<signal::SignalRoute> icarus::SimulatorConfig::routes

◆ scheduler

SchedulerConfig icarus::SimulatorConfig::scheduler = SchedulerConfig::Default()

◆ source_file

std::string icarus::SimulatorConfig::source_file

Path to source YAML file (set by loader).

◆ staging

StageConfig icarus::SimulatorConfig::staging

◆ t_end

double icarus::SimulatorConfig::t_end = 100.0

◆ t_start

double icarus::SimulatorConfig::t_start = 0.0

◆ version

std::string icarus::SimulatorConfig::version = icarus::Version()

The documentation for this struct was generated from the following files: