#[non_exhaustive]pub enum AeroError {
Domain {
what: &'static str,
value: f64,
},
Mach {
mach: f64,
limit: f64,
model: &'static str,
},
Unsupported(String),
Layout(String),
InComponent {
id: String,
source: Box<AeroError>,
},
DragModel {
source: Box<AeroError>,
},
Design(DesignError),
Csv {
line: usize,
message: String,
},
Table(CoreError),
}Expand description
An error from the aerodynamic models: an input outside the models’ domain, a design they can’t describe, or an error from the design itself.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Domain
An input outside its domain, such as a negative span or a non-finite angle.
Mach
A Mach number past the range of the model asked: 0 ≤ M < 5 for the normal force
(crate::model::NORMAL_FORCE_MACH_LIMIT) and the drag buildup
(crate::drag::BUILDUP_MACH_LIMIT); an override table takes any Mach number.
Fields
Unsupported(String)
A part the models have no cited method for, such as tube fins.
Layout(String)
A layout that doesn’t hold together for the aerodynamic models, such as a fin set without the radius of its body tube.
InComponent
An error in one component, with its id.
DragModel
An error from a drag model of a program’s own (crate::custom::DragModel), as it gave
it: its own refusal, or one of hpr’s it passed on.
Design(DesignError)
An error from the design model, such as a profile whose volume integral fails.
Csv
CSV text that doesn’t read as a table, with its 1-based line (0 when the text has no rows).
Table(CoreError)
A table that doesn’t hold together, such as Mach numbers that don’t increase.
Trait Implementations§
Source§impl Error for AeroError
impl Error for AeroError
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()