#[non_exhaustive]pub enum SimError {
Domain {
what: &'static str,
value: f64,
},
Unsupported {
what: &'static str,
},
Parting {
what: &'static str,
component: String,
},
Shift {
what: &'static str,
component: String,
},
MassRelease {
what: &'static str,
component: String,
},
DesignChecks(Vec<Finding>),
Design(DesignError),
Aero(AeroError),
Atmosphere(AtmosError),
Core(CoreError),
Settings(SettingsError),
Integration(Box<IntegrationError<SimError>>),
}Expand description
An error setting up or running a flight.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Domain
An input outside its domain, such as a negative rail length.
Unsupported
A model doesn’t cover the input, such as a flutter panel of an elliptical fin.
Parting
A separation or ejection that the design can’t make, with the component (or stage) id it names or runs through.
Shift
A mass shift that the design can’t make, with the component id it names.
MassRelease
A mass release that the design can’t make, with the component id it names.
DesignChecks(Vec<Finding>)
The design’s checks found errors, and the settings don’t accept them: every finding, errors and warnings, in the checks’ order. The message counts and names only the errors.
Design(DesignError)
The design can’t be assembled.
Aero(AeroError)
The aerodynamic models refused the design or a flow condition (for example Mach 5 or faster, past the normal force’s and the drag buildup’s range).
Atmosphere(AtmosError)
The atmosphere or wind model refused a height.
Core(CoreError)
A geodesy, gravity or numerics error.
Settings(SettingsError)
Bad integrator settings or initial state.
Integration(Box<IntegrationError<SimError>>)
The integration failed for a reason other than the step limit.
Trait Implementations§
Source§impl Error for SimError
impl Error for SimError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()