function SimplifiedSizing


%---------------------------------------------------------------------%

% Takeoff Weight Buildup: Mission Profile: %

% Simple Cruise %

% W0 = Wpayload + Wfuel + Wempty %

% W0 = Wpayload + W0(Wf/W0) + W0(We/W0) Crz %

% 2-----3 %

% W0 - W0(Wf/W0) - W0(We/W0) = Wpayload Clb / \ %

% / 4 Ltr %

% Wpayload / \ %

% W0 = ----------------- 0----1 5 %

% 1-(Wf/W0)-(We/W0) TO Lnd %

% %

% (Raymer, pg. 16) (Raymer, pg. 19) %

%---------------------------------------------------------------------%


hrTOs = 3600; %hours to seconds

ktsTOfps = 1.6878; %knots to feet per second

miTOft = 5280; %miles to feet

mphTOfps = 1.4667; %miles per hour to feet per second


%---------------------------------------------------------------------%




W1overW0 = 0.970; %estimated warmup and takeoff weight fraction

W2overW1 = 0.985; %estimated climb weight fraction (Raymer, pg. 20)




Rmi = 450; %design range in miles

%3 hr flight time

Rft = Rmi * miTOft; %range in feet

CbhpCRZ = 0.4; %typical piston-prop (variable

%pitch) SFC crz, lb/hr/bhp

%(Raymer, pg. 23)

VCRZmph = 150; %design cruise speed in mph

%faster than driving

VCRZfps = VCRZmph * mphTOfps; %crz spd in feet per second

np = 0.8; %assumed prop efficiency

%(Raymer, pg. 23)

CCRZperhr = CbhpCRZ * VCRZfps/(550*np); %equivalent-thrust SFC

%crz, 1/hr (Raymer, pg. 23)

CCRZpers = CCRZperhr * (1/hrTOs); %1/s


A = 8; %statistical aspect ratio (Raymer, pg. 59)

SwetSref = 5; %estimated wetted area ratio (Raymer, pg. 25)

WettedA = A/SwetSref; %wetted aspect ratio (Raymer, pg. 26)

LDmax = 14; %estimated max lift/drag (Raymer, pg. 26)

LDCRZ = 1 * LDmax; %lift/drag crz (Raymer, pg. 27)





W3overW2 = exp( -Rft*CCRZpers / ... %estimated crz weight fraction

(VCRZfps*LDCRZ) ); %(Raymer, pg. 21)




Ehr = 3/4; %hrs, design ltr time to meet

%FAA IFR req (Raymer, pg. 18)

Es = Ehr * hrTOs; %loiter time in seconds

CbhpLTR = 0.5; %SFC in loiter, lb/hr/bhp

%(Raymer, pg. 23)

VLTRkts = 100; %assumed loiter speed

%(Raymer, pg. 105)

VLTRfps = VLTRkts * ktsTOfps; %fps

CLTRperhr = CbhpLTR * VLTRfps/(550*np); %equivalent-thrust SFC

%in ltr, 1/hr (Raymer, pg. 23)

CLTRpers = CLTRperhr * (1/hrTOs); %1/s

LDLTR = 0.866 * LDmax; %lift/drag ltr (Raymer, pg. 27)




W4overW3 = exp( -Es*CLTRpers / LDLTR ); %estimated loiter weight

%fraction (Raymer, pg. 21)

W5overW4 = 0.995; %estimated landing weight

%fraction (Raymer, pg. 20)

W5overW0 = W1overW0 * W2overW1 * ... %total mission weight

W3overW2 * W4overW3 * W5overW4; %fraction (Raymer, pg. 27)

WfoverW0 = 1.06 * (1-W5overW0); %total fuel fraction with

%reserve/trapped fuel

%(Raymer, pg. 27)




W0guess = 8000; %takeoff weight guess in pounds

W0calc = 0; %initialized calculated takeoff weight

WeW0vsW0A = 1.09; %statistical empty weight fraction vs TO weight

WeW0vsW0C = -0.05; %(Raymer, pg. 18)

WeW0vsW0Kvs = 1; %fixed sweep

Wpayload = 2000; %design payload weight in lbs

count = 0; %number of iterations


while abs(W0guess-W0calc) > 1

WeoverW0 = WeW0vsW0A * W0guess^WeW0vsW0C * ... %empty weight

WeW0vsW0Kvs; %fraction

W0calc = Wpayload / (1-WfoverW0-WeoverW0); %takeoff weight, lb

%(Raymer, pg. 16)

W0guess = 0.9 * (W0calc-W0guess) + W0guess; %new W0guess

count = count + 1; %increment count

end




W0 = W0calc; %takeoff weight

Wempty = W0calc * WeoverW0; %empty weight

Wfuel = W0calc * WfoverW0; %total fuel weight

Wfueluse = W0calc * (1-W5overW0); %usable fuel weight




%---------------------------------------------------------------------%


disp(' ');

disp('SIMPLIFIED SIZING:');

disp(' ');

disp(['Range = ',num2str(Rmi),' miles']);

disp(['Cruise Speed = ',num2str(VCRZmph),' mph']);

disp(['Loiter Time = ',num2str(Ehr),' hrs']);

disp(' ');

disp(['Wetted Aspect Ratio = ',num2str(WettedA)]);

disp(['Aspect Ratio = ',num2str(A)]);

disp(['Max L/D = ',num2str(LDmax)]);

disp(' ');

disp(['Takeoff Weight = ',num2str(W0),' lbs']);

disp(['Empty Weight = ',num2str(Wempty),' lbs']);

disp(['Payload Weight = ',num2str(Wpayload),' lbs']);

disp(['Fuel Weight = ',num2str(Wfuel),' lbs']);

disp(['Usable Fuel = ',num2str(Wfueluse),' lbs']);

disp(' ');

disp(' ');


%---------------------------------------------------------------------%