Fuel fraction sizing

バージョン 2.4.0.0 (7.24 KB) 作成者: Sky Sartorius
Finds aircraft gross weight using the fuel fraction sizing method
ダウンロード: 1.2K
更新 2015/8/21

ライセンスの表示

Read about fuel fraction sizing in Raymer's "Aircraft Design: A Conceptual Approach" or most other aircraft design text books.
FUELFRACTIONSIZING finds aircraft gross weight using the fuel fraction sizing method.
W0 = fuelfractionsizing(EWfunc, fixedW, FF, tol, maxW)
BREGUET uses the Breguet range equation to calculate the weight fraction for a cruise or loiter mission segment -OR- to find the range and endurance for a given segment weight fraction.
segFrac = breguet('Jet', 'Cruise', R, LD, TSFC, V)
segFrac = breguet('Jet', 'Loiter', E, LD, TSFC)
[R, E] = breguet('Jet', 'Range', segFrac, LD, TSFC, V)

segFrac = breguet('Prop', 'Cruise', R, LD, PSFC, [], eta_p)
segFrac = breguet('Prop', 'Loiter', E, LD, PSFC, V, eta_p)
[R, E] = breguet('Prop', 'Range', segFrac, LD, PSFC, V, eta_p)

All functions in the suite are vectorized and can accept arrays for input parameters - very useful for conducting trade studies.

Example 1: Find gross weight of a light sport aircraft with 600 nmi range, PSFC of 0.4 lb/hr/bhp, and fixed weights (pilot, passenger, cargo) of 400 lbs.
Single line:
W0 = fuelfractionsizing({3.03 -.235}, 400, 1.06*missionfuelburn...
(.98,.99,breguet('Prop','Cruise',1111200,10,6.628e-07,0,.8),.99))

Verbose:
fixedW = 400;
R = 600*1852; %convert nmi to m
L_over_D = 10;
PSFC = 0.4*1.657e-06; %convert lbm/hr/bhp to 1/m
eta_prop = 0.8;

segments = {.98 %startup, runup, taxi, takeoff
.99 %climb
breguet('Prop','Cruise', R, L_over_D, PSFC, false, eta_prop)
.99}; %decent, landing, taxi, shutdown

fuel_safety_margin = 0.06;
FF = (1+fuel_safety_margin)*missionfuelburn(segments{:});

EWfunc = @(W0) 3.03*W0.^-.235;
W0 = fuelfractionsizing(EWfunc, fixedW, FF)

Example 2: Evaluate sensitivity of W0 to variations in historical trendline parameter A.
A0 = 3.03; A = linspace(.8*A0,1.2*A0,30);
W0 = fuelfractionsizing({A -0.235}, 400, 1.06*missionfuelburn...
(.98,.99,breguet('Prop','Cruise',1111200,10,6.628e-07,0,.8),.99));
plot(A,W0); xlabel('A'); ylabel('W0 (lb)')

Example 3: Take advantage of vectorization to do a gross weight trade study for the effect of range and fixed weights on gross weight, ignoring aircraft that are heavier than the light sport category limit of 1,320 pounds.
R = 1852*(300:2:1000)'; %convert nmi to m
fixedW = 200:2:600;
[R, fixedW] = meshgrid(R,fixedW);
W0 = fuelfractionsizing({3.03 -.235},fixedW,1.06*missionfuelburn...
(.98,.99,breguet('Prop','Cruise',R,10,6.628e-07,0,.8),.99),[],1320);
surfc(R/1852,fixedW,W0,'LineStyle','none')
xlabel('Range (nmi)'); ylabel('Fixed Weights (lb)')
zlabel('Gross Weight (lb)')

引用

Sky Sartorius (2024). Fuel fraction sizing (https://www.mathworks.com/matlabcentral/fileexchange/38973-fuel-fraction-sizing), MATLAB Central File Exchange. 取得済み .

MATLAB リリースの互換性
作成: R2013a
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
カテゴリ
Help Center および MATLAB AnswersGuidance, Navigation, and Control (GNC) についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
バージョン 公開済み リリース ノート
2.4.0.0

breguet format

1.9.0.0

breguet updates; error handling updates; lots of documentation updates

1.7.0.0

bisection usage now consistent with full function to help modularity; brequet made more general (no longer metric-specific documentation)

1.6.0.0

fixed a small bug that would in some cases evaluate EWfunc at a weight above the upper limit.

1.5.0.0

fixed premature convergence bug; more testing confirmed that bisection is better than classic iteration

1.3.0.0

changed the math to vastly increase robustness of the method for more reliable convergence; added maxW optional input; fixed bisection bug; added new input to example 3.

1.2.0.0

added a . to missionfuelburn so it can handle multiple array inputs; fixed typo in documentation; did testing and confirmed that bisection is the most stable array-capable search method; integrated bisection as sub-function

1.1.0.0

DimensionedVariable example and documentation; more EWfunc options; better BREGUET case handling; improved documentation; added example for arrays in EWfunc

1.0.0.0