100 likes | 237 Views
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. Model results and trends. Things of note: Rapid increase in price with delta-v Delta-v effect on price for balloons
E N D
William Yeong Liang Ling2/14/2008PropulsionThe effect and trends of launch type on launch costs (Model Analysis)Credit to all code authors and all MAT teams AAE 450 Spring 2008 Propulsion
Model results and trends • 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 Credit to all code authors and all MAT teams AAE 450 Spring 2008 Propulsion
Future work • 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 Propulsion
Model data, ground launch AAE 450 Spring 2008 Propulsion
Model data, balloon launch AAE 450 Spring 2008 Propulsion
Model data, aircraft launch AAE 450 Spring 2008 Propulsion
Automation code % 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 end elseifstages_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 end end end end end end end end end 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'); AAE 450 Spring 2008 Propulsion