Fuselage Sizing (vehicle-design/sizing/fuselage-sizing)
Use when the task is fuselage sizing for a transport or civil
aeroplane starting from the payload: cabin length from the seat
count and seat pitch, cabin width and fuselage diameter from the
cross-section layout, the length to diameter ratio sanity band, and
the underfloor cargo volume check against the required baggage
volume.
Domain quick reference
- Cabin length from the payload: L_cabin = rows * pitch, with rows
the number of seat rows and pitch the seat pitch in m. Example:
30 rows at 0.81 m pitch (about 32 in) give 24.3 m. Typical
economy pitch is 0.76 to 0.84 m (30 to 33 in).
- Cabin width from the cross-section layout: W_cabin =
seats_abreast * seat_width + aisle_width, with seat width and
aisle width in m. Example: 6 abreast with 0.48 m seats (about
19 in) and one 0.51 m aisle (about 20 in) give 3.39 m.
- Fuselage diameter: D = W_cabin + sidewall_allowance, the cabin
width plus a total allowance for trim, insulation, and structure
on both sides (typical 0.15 to 0.25 m, default 0.18 m). Example:
the 3.39 m cabin above gives a 3.57 m diameter.
- Length to diameter sanity band: ratio = L_fuselage / D, with the
OVERALL fuselage length (nose to tailcone, not just the cabin).
A ratio from 6 to 12 is typical for transport jets; below 6 the
layout is stubby, above 12 it is slender. The band is sizing
guidance, not a certification requirement.
- Cargo volume check: required baggage volume V_req = passengers *
0.12 m^3 per passenger (typical range 0.10 to 0.15 m^3 per
passenger); the available underfloor cargo volume must meet or
exceed it.
- FAR-25 (14 CFR Part 25) and CS-25 set the certification context
for transport-category aeroplane design (cabin layout, exits,
emergency provisions); the geometric relations above are common
conceptual sizing practice.
Workflow
- Set the payload layout: seats abreast, seat width, aisle width,
seat pitch, and row count.
- Compute the cabin length with cabin_length(rows, pitch).
- Compute the interior cabin width with cabin_width(seats_abreast,
seat_width, aisle_width).
- Compute the outer fuselage diameter with
fuselage_diameter(seats_abreast, seat_width, aisle_width),
adjusting sidewall_allowance for the structure and insulation
concept.
- Judge the length to diameter ratio with
length_diameter_verdict(fuselage_length, diameter) using the
overall fuselage length, and rework the layout until the verdict
is within the typical band.
- Estimate the required baggage volume with
required_baggage_volume(passengers) and compare it with the
available underfloor cargo volume using cargo_volume_verdict;
rework the underfloor layout until the check passes.
Pitfalls
- Using the cabin length where the overall fuselage length belongs:
the length to diameter ratio uses nose-to-tailcone length, which
exceeds the cabin length by the cockpit, tailcone, and closures.
- Mixing units: pitch in inches, seat width in cm, or aisle width
in ft with a row count in meters; keep everything SI (m).
- Forgetting the sidewall allowance: the fuselage diameter is
larger than the cabin width; sizing the diameter equal to the
cabin width leaves no room for trim, insulation, and structure.
- Treating the 6 to 12 length to diameter band as a hard limit: it
is a conceptual sanity band that flags layouts for rework, not a
certification requirement.
- Skipping the cargo check: a passenger-feasible cabin can still be
cargo-limited, so the underfloor volume must be verified against
the baggage volume per passenger.
- Counting the aisle once per side: the aisle width enters the
cabin width once for a single-aisle layout, not multiplied by the
number of seat columns.
- Passing zero or negative inputs; the module raises ValueError
instead of returning a nonsense dimension.
Behavior contract (gate 3)
The cabin length, cabin width, fuselage diameter, length to
diameter verdict, and cargo volume check relations are exercised by
the gate 3 contract test: scripts/test_fuselage_sizing.py against
scripts/fuselage_sizing_logic.py (stdlib unittest, offline). Run:
python3 scripts/test_fuselage_sizing.py
Compliance
- Standards referenced, not reproduced: FAR-25 is US government work
(public domain) and CS-25 is a free EASA download; the geometric
fuselage sizing relations are common conceptual sizing
methodology, summary-only per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.
1---2name: fuselage-sizing3description: Use when you must size a transport fuselage from the payload: compute the cabin length from the seat count and the seat pitch, compute the cabin width and the fuselage diameter from the seats-abreast layout and the aisle width, judge the overall fuselage length to diameter ratio against the typical transport band, and check the underfloor cargo volume against the required baggage volume. Produces the cabin length, fuselage diameter, and cross-section layout that feed the conceptual sizing loop, with the sanity band and cargo verdicts. Trigger: fuselage sizing, cabin length, fuselage diameter, seats abreast, seat pitch, cabin width, aisle width, cargo volume.4license: Apache-2.05---67# Fuselage Sizing (vehicle-design/sizing/fuselage-sizing)89Use when the task is fuselage sizing for a transport or civil10aeroplane starting from the payload: cabin length from the seat11count and seat pitch, cabin width and fuselage diameter from the12cross-section layout, the length to diameter ratio sanity band, and13the underfloor cargo volume check against the required baggage14volume.1516## Domain quick reference1718- Cabin length from the payload: L_cabin = rows * pitch, with rows19 the number of seat rows and pitch the seat pitch in m. Example:20 30 rows at 0.81 m pitch (about 32 in) give 24.3 m. Typical21 economy pitch is 0.76 to 0.84 m (30 to 33 in).22- Cabin width from the cross-section layout: W_cabin =23 seats_abreast * seat_width + aisle_width, with seat width and24 aisle width in m. Example: 6 abreast with 0.48 m seats (about25 19 in) and one 0.51 m aisle (about 20 in) give 3.39 m.26- Fuselage diameter: D = W_cabin + sidewall_allowance, the cabin27 width plus a total allowance for trim, insulation, and structure28 on both sides (typical 0.15 to 0.25 m, default 0.18 m). Example:29 the 3.39 m cabin above gives a 3.57 m diameter.30- Length to diameter sanity band: ratio = L_fuselage / D, with the31 OVERALL fuselage length (nose to tailcone, not just the cabin).32 A ratio from 6 to 12 is typical for transport jets; below 6 the33 layout is stubby, above 12 it is slender. The band is sizing34 guidance, not a certification requirement.35- Cargo volume check: required baggage volume V_req = passengers *36 0.12 m^3 per passenger (typical range 0.10 to 0.15 m^3 per37 passenger); the available underfloor cargo volume must meet or38 exceed it.39- FAR-25 (14 CFR Part 25) and CS-25 set the certification context40 for transport-category aeroplane design (cabin layout, exits,41 emergency provisions); the geometric relations above are common42 conceptual sizing practice.4344## Workflow45461. Set the payload layout: seats abreast, seat width, aisle width,47 seat pitch, and row count.482. Compute the cabin length with cabin_length(rows, pitch).493. Compute the interior cabin width with cabin_width(seats_abreast,50 seat_width, aisle_width).514. Compute the outer fuselage diameter with52 fuselage_diameter(seats_abreast, seat_width, aisle_width),53 adjusting sidewall_allowance for the structure and insulation54 concept.555. Judge the length to diameter ratio with56 length_diameter_verdict(fuselage_length, diameter) using the57 overall fuselage length, and rework the layout until the verdict58 is within the typical band.596. Estimate the required baggage volume with60 required_baggage_volume(passengers) and compare it with the61 available underfloor cargo volume using cargo_volume_verdict;62 rework the underfloor layout until the check passes.6364## Pitfalls6566- Using the cabin length where the overall fuselage length belongs:67 the length to diameter ratio uses nose-to-tailcone length, which68 exceeds the cabin length by the cockpit, tailcone, and closures.69- Mixing units: pitch in inches, seat width in cm, or aisle width70 in ft with a row count in meters; keep everything SI (m).71- Forgetting the sidewall allowance: the fuselage diameter is72 larger than the cabin width; sizing the diameter equal to the73 cabin width leaves no room for trim, insulation, and structure.74- Treating the 6 to 12 length to diameter band as a hard limit: it75 is a conceptual sanity band that flags layouts for rework, not a76 certification requirement.77- Skipping the cargo check: a passenger-feasible cabin can still be78 cargo-limited, so the underfloor volume must be verified against79 the baggage volume per passenger.80- Counting the aisle once per side: the aisle width enters the81 cabin width once for a single-aisle layout, not multiplied by the82 number of seat columns.83- Passing zero or negative inputs; the module raises ValueError84 instead of returning a nonsense dimension.8586## Behavior contract (gate 3)8788The cabin length, cabin width, fuselage diameter, length to89diameter verdict, and cargo volume check relations are exercised by90the gate 3 contract test: scripts/test_fuselage_sizing.py against91scripts/fuselage_sizing_logic.py (stdlib unittest, offline). Run:92python3 scripts/test_fuselage_sizing.py9394## Compliance9596- Standards referenced, not reproduced: FAR-25 is US government work97 (public domain) and CS-25 is a free EASA download; the geometric98 fuselage sizing relations are common conceptual sizing99 methodology, summary-only per standards-map.yaml.100- compliance: STANDARDS-REF, gated: false.