pub struct InnerTube {
pub length_m: f64,
pub outer_radius_m: f64,
pub thickness_m: f64,
pub radial_offset_m: f64,
pub angle_rad: f64,
pub material: Material,
pub cluster_m: Vec<[f64; 2]>,
}Expand description
A tube inside the airframe: a coupler, a motor mount tube, an engine block or thrust ring. It may sit off the axis, and it may be a cluster: several like tubes side by side, as in a cluster’s motor mount.
A cluster. Self::cluster_m lists where each tube’s axis sits, [x, y] in body axes
from the axis the radial offset and angle give. The tubes are the one tube written here,
repeated at each place: their mass is the sum of the copies, each with its own parallel-axis
term. What the tube holds (an engine block, a motor) is repeated in every tube in the same way
(docs/physics/design.md, the decision record on clusters, ADR-075).
Fields§
§length_m: f64Length, m.
outer_radius_m: f64Outer radius, m.
thickness_m: f64Wall thickness, m.
radial_offset_m: f64Distance of the tube’s axis from the body axis, m.
angle_rad: f64Roll angle of that offset from x_B toward y_B, rad.
material: MaterialMaterial (bulk).
cluster_m: Vec<[f64; 2]>A cluster’s tubes: each tube’s axis, [x, y] in body axes, m, measured from the axis the
radial offset and angle give. Empty (the default) for one tube on that axis.
Implementations§
Source§impl InnerTube
impl InnerTube
Sourcepub fn mass_properties(&self) -> Result<MassProperties, DesignError>
pub fn mass_properties(&self) -> Result<MassProperties, DesignError>
Mass properties in the tube’s frame: every tube of a cluster.
§Errors
Geometry and material errors, and DesignError::Domain for a cluster offset that is not
finite.
Sourcepub fn tubes_m(&self) -> Result<Vec<[f64; 2]>, DesignError>
pub fn tubes_m(&self) -> Result<Vec<[f64; 2]>, DesignError>
Where each tube sits, [x, y] from the axis the radial offset and angle give, m: the
cluster’s places, or [0, 0] alone for one tube.
§Errors
DesignError::Domain for a cluster offset that is not finite.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for InnerTube
impl<'de> Deserialize<'de> for InnerTube
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for InnerTube
impl JsonSchema for InnerTube
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more