AAE 450 Spring 2008 William Yeong Liang Ling 2/14/2008 Propulsion The effect and trends of launch type on launch costs (Model Analysis) Credit to all code authors and all MAT teams Propulsion
AAE 450 Spring 2008 Model results and trends Propulsion Credit to all code authors and all MAT teams Things of note: Rapid increase in price with delta-v Delta-v effect on price for balloons 1kg more expensive than 0.2kg at 18km/s All cases above 9km/s for aircraft had GLOW > White Knight payload Simplification of balloon cost model
AAE 450 Spring 2008 Future work Propulsion Refine ground support and personnel cost modifiers Consider aircraft that can carry higher payloads (e.g. cargo planes, very likely reduction in forward velocity) Code for automation from a list of cases
AAE 450 Spring 2008 Model data, ground launch Propulsion Payload (kg) Stages ΔV (m/s) GLOW (kg) CostProp 1Prop 2Prop 3Material 1 Material 2 Material ,640$22,020Solid SteelTitanium ,531$71,942HybridSolid Steel ,583$138,032CryoSolid Al ,023$248,934CryoSolid Al ,711$22.460Solid SteelTitanium ,728$72,811HybridSolid Steel ,629$138,408HybridSolid Al ,256$243,126CryoSolid Al ,070$24,627Solid SteelTitanium ,262$75,161HybridSolid Steel ,111$141,170CryoSolid Al ,533$261,131CryoSolid Al
AAE 450 Spring 2008 Model data, balloon launch Propulsion Payload (kg) Stages ΔV (m/s) GLOW (kg) CostProp 1Prop 2Prop 3Material 1 Material 2 Material ,640$31,703Solid SteelTitanium ,531$98,593HybridSolid Steel ,583$211,832CryoSolid Al ,023$518,168CryoSolid Al ,711$32,565Solid SteelTitanium ,158$99,395HybridSolid Al ,118$216,746CryoSolid Al ,256$502,037CryoSolid Al ,070$36,839Solid SteelTitanium ,325$100,913HybridSolid Al ,111$226,906CryoSolid Al ,533$550,868CryoSolid Al
AAE 450 Spring 2008 Model data, aircraft launch Propulsion Payload (kg) Stages ΔV (m/s) GLOW (kg) CostProp 1Prop 2Prop 3Material 1 Material 2 Material ,640$47,140Solid SteelTitanium ,711$47,580Solid SteelTitanium ,070$49,747Solid SteelTitanium
AAE 450 Spring 2008 Automation code Propulsion % William Y.L. Ling % AAE 450 Spring 2008 % Propulsion Team % Model Analysis Automation v1.0 (2/9/08) function Output = Automation % VARIABLES stages = 3; % Use either 2 or 3 to specify the number of stages % Propellant type - 1: Cryogenic, 2: Storable, 3: Hybrid, 4: Solid propellant_type_1 = [4]; % Change to [1], [2], [3] or [4] as necessary depending on your first stage propellant % Tank material - S: Steel, A: Aluminum, C: Composite, T: Titanium (Do not % confuse the code (eg. CS-XS) with the propellant. The second character is % the tank material. tank_material_1 = ['A']; % Use ['S'], ['A'], ['C'] or ['T'] as necessary for your first stage tank material tank_material_2 = ['A']; % Use ['S'], ['A'], ['C'] or ['T'] as necessary for your second stage tank material tank_material_3 = ['A']; % Use ['X'] for two-stage, or ['S'], ['A'], ['C'] or ['T'] for your various 3rd stages % Do not touch, with the exception of those doing code of course, or the world will explode delta_v = [9000,12000,15000,18000]; % Do not touch. Analysis of all delta-v's are required. payload_mass = [0.2,1,5]; % Do not touch. Analysis of all three payloads is required. launch_type = [1,2,3]; %Do not touch. All cases require analysis of all 3 launch types propellant_type_2 = [3,4,1,2]; % Do not touch. All cases have variable 2nd stages. This is arranged 3,4,1,2 on purpose. It allows the calculation of both 2 and 3 stages with the same code. propellant_type_3 = [3,4]; % Do not touch. All cases have variable 3rd stages. Restricted to hybrid/solid for the final stage. tank_material = ['A','A','A']; propellant_type = zeros(1,3);
AAE 450 Spring 2008 Propulsion if stages == 2 Status_total = length(delta_v).*length(payload_mass).*length(launch_type).*2; elseif stages == 3 Status_total = length(delta_v).*length(payload_mass).*length(launch_type).*length(propellant_type_2).*length(propellant_type_3); end Status = 0; %count_delta_v = 1; %count_payload_mass = 1; %count_stages = 1; %count_launch_type = 1; %count_tank_material_1 = 1; %count_tank_material_2 = 1; %count_tank_material_3 = 1; %count_propellant_type_1 = 1; %count_propellant_type_2 = 1; %count_propellant_type_3 = 1; for count_delta_v = 1:length(delta_v) delta_v_current = delta_v(count_delta_v); for count_payload_mass = 1:length(payload_mass) payload_mass_current = payload_mass(count_payload_mass); for count_stages = 1:length(stages) stages_current = stages(count_stages); for count_launch_type = 1:length(launch_type) launch_type_current = launch_type(count_launch_type); for count_tank_material_1 = 1:length(tank_material_1) tank_material(1) = tank_material_1(count_tank_material_1); for count_tank_material_2 = 1:length(tank_material_2) tank_material(2) = tank_material_2(count_tank_material_2); for count_tank_material_3 = 1:length(tank_material_3) tank_material(3) = tank_material_3(count_tank_material_3);
AAE 450 Spring 2008 Propulsion if stages_current == 2 tank_material(3) = 'X'; % In case someone forgets to set to 'X' for count_propellant_type_1 = 1:length(propellant_type_1) propellant_type(1) = propellant_type_1(count_propellant_type_1); for count_propellant_type_2 = 1:2 propellant_type(2) = propellant_type_2(count_propellant_type_2); propellant_type(3) = 0; Status = Status + 1; fprintf('\n Calculating %i/%i \n', Status, Status_total) main_loop(delta_v_current, payload_mass_current, stages_current, propellant_type, tank_material, launch_type_current); %file_1 = fopen('cases.txt', 'a+'); %fprintf(file_1, '%i,', delta_v_current); %fprintf(file_1, '%i,', stages_current); %fprintf(file_1, '%f,', payload_mass_current); %fprintf(file_1, '%i,', launch_type_current); %fprintf(file_1, '%i,', propellant_type(1)); %fprintf(file_1, '%s,', tank_material(1)); %fprintf(file_1, '%i,', propellant_type(2)); %fprintf(file_1, '%s,', tank_material(2)); %fprintf(file_1, '%i,', propellant_type(3)); %fprintf(file_1, '%s \n', tank_material(3)); %fclose(file_1); end elseif stages_current == 3 for count_propellant_type_1 = 1:length(propellant_type_1) propellant_type(1) = propellant_type_1(count_propellant_type_1); for count_propellant_type_2 = 1:length(propellant_type_2) propellant_type(2) = propellant_type_2(count_propellant_type_2); for count_propellant_type_3 = 1:length(propellant_type_3) propellant_type(3) = propellant_type_3(count_propellant_type_3);
AAE 450 Spring 2008 Propulsion Status = Status + 1; fprintf('\n Calculating %i/%i \n', Status, Status_total) main_loop(delta_v_current, payload_mass_current, stages_current, propellant_type, tank_material, launch_type_current); %file_1 = fopen('cases.txt', 'a+'); %fprintf(file_1, '%i,', delta_v_current); %fprintf(file_1, '%i,', stages_current); %fprintf(file_1, '%f,', payload_mass_current); %fprintf(file_1, '%i,', launch_type_current); %fprintf(file_1, '%i,', propellant_type(1)); %fprintf(file_1, '%s,', tank_material(1)); %fprintf(file_1, '%i,', propellant_type(2)); %fprintf(file_1, '%s,', tank_material(2)); %fprintf(file_1, '%i,', propellant_type(3)); %fprintf(file_1, '%s \n', tank_material(3)); %fclose(file_1); end Output = fprintf('\n Analysis complete! Open ''output.txt'' and copy and paste everything into the Excel file. Make sure you move this file before running another case. \n\n');