satellite launch system

Upload: tengyan

Post on 14-Apr-2018

279 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Satellite Launch System

    1/16

    FACULTY OF ENGINEERING

    DEPARTMENT OF AEROSPACE ENGINEERING

    EAS3802 SATELLITE TECHNOLOGY

    SEMESTER 2, 2012/2013

    LECTURER: PROF. IR. DR. HARIJONO DJOJODIHARDJO

    ABSTRACT FOR TERM PAPER

    SATELLITE LAUNCH SYSTEM

    NAME: CHAN TENG YANMATRIC NO.: 157388

  • 7/29/2019 Satellite Launch System

    2/16

    ABSTRACT

    This paper studies the design and analysis of satellite launch vehicle by the consideration

    of design specifications of the satellite. The main purpose of this paper is to design and

    select a best launch system that satisfies specific payload constraints, such as payloadmass, payload dimensions, required launch frequency, maximum acceleration loads, and

    desired orbit.

    Specifically in the beginning of this paper, a literature survey is performed to gather

    currently available launch vehicle specifications. More particularly, the prominent U.S.

    launch vehicles are surveyed. The type of launch vehicle is categorized based on the

    different payload and specification of spacecraft and satellite. A more detailed and specific

    study is done towards the payload mass and performance of the launch system used.

    Next, the basic launch system for typical spacecraft is studied as far as itsmechanic analysis is concerned. The rocket propulsion system is also studied. Since

    launch system is the only transportation that accelerates continuously throughout the

    performance envelope, therefore the forces acting on the launch vehicle is analyzed so

    that its flight path is well controlled. The performance of the launch vehicle is further

    investigated in the context of the thrust produced and the flight vehicle mass.

    In the beginning of the system design and selection process, the mission needs

    and requirements are stated in specific payload constraints, performance, trajectory and

    family of vehicles. The information studied includes spacecraft weight, spacecraftdimension, mission orbit, mission timeline, and cost constraint. Next, the acceptable

    configurations such as weight of spacecraft propellant, weight of booster adapter,

    performance margin, and reliability are studied in order to identify the potential launch

    system to make the launch more likely. Finally, the environment detected by the launch

    system is determined based on the acoustic frequency, vibration frequency, and

    temperature extreme.

    In the selection process, a selection flow chart is laid out to prioritize down

    selection criteria/logic for the software tool. The software tool will then be codedincorporating the data and selection logic. The tool will allow the user to control the

    number of input constraints.

    At the end of the paper, the launch sequence of the satellite is studied. The

    sequence discussed includes the low Earth circular orbits, elliptical eccentric orbits and

    geostationary orbits. The suitability of each type of orbit for a given application is also

    discussed. Next, the paper continues with a basic discussion on orbits and trajectories.

  • 7/29/2019 Satellite Launch System

    3/16

    Introduction

    The number of small satellites including micro-satellites and nano-satellites launched hasincreased in the past 20 years. For the last ten years, over 350 small space vehicles have

    been launched in space by a lot of countries in the world and the small satellites are the

    major fraction out of the general numbers of spacecraft. Since the 1960s launch vehicle

    performance has increased by an order of magnitude while reliability of launch systems

    has increased from 85% to 95%.

    The launch process can be severely obliged for satellite. The vehicles lift capability

    and propulsive thrust is the foremost consideration in the launching process. The

    specification of the satellite itself has to be studied before design of most suitable launchsystem. The solution for inexpensive launch system can be based on an aircraft-based

    launching system that uses the existing aircraft (fighter) and a designed micro-rocket or

    existing missile as its operating stages.

    Prominent U.S. Launch Vehicles

    Atlas

    Lockheed Martins Atlas family of launch vehicles is one of the largest commercial launch

    vehicle lines in the United States. The Atlas IIA has an upgraded RL 10 engine withoptional nozzle extension for the Centaur stage. The Atlas IIAS adds solid strap-on

    boosters to this architecture. The relatively new Atlas IIIA (2000) is a re-engineered Atlas

    II, utilizing a high-performance RD-180 engine from Russia. The Atlas IIIB has a stretched

    Centaur that can use single or dual Centaur configurations.

    Delta

    Following the Challenger shuttle disaster in 1986, President Reagan announced that the

    Space Shuttle would carry no more commercial payloads. To fill this gap, the Delta II was

    built by Boeing (1989) to launch medium-sized NASA payloads and small commercialpayloads. Delta III development began in 1995 to launch heavier commercial payloads.

    The Delta III includes a larger fairing, larger strap-on motors, and a cryogenic second

    stage. The Delta IV line of medium-to-heavy launch vehicles is Boeings most advanced

    product in the Evolved Expendable Launch Vehicle (EELV) program. The Delta IV Heavy

    is capable of delivering a payload directly to geostationary orbit.

    Pegasus

  • 7/29/2019 Satellite Launch System

    4/16

    Orbital Sciences Corporations Pegasus XL (1994) is designed to launch small commercial

    and government payloads. The Pegasus XL is air-launched from Orbitals L-1011

    Stargazer aircraft at an altitude of approximately 12 km and a speed of Mach 0.8. The

    Pegasus XL consists of a solid-propellant booster with wings. Advantages to the air launch

    concept include added initial velocity, lower drag, and flexible inclination angles.Space Shuttle

    NASAs Space Shuttle (first launched in 1981) consists of two recoverable solid-propellant

    rocket boosters, an expendable liquid propellant tank, and a reusable delta-wing space

    plane. Primary Space Shuttle missions include launch of heavy payloads to LEO, and

    transfer of humans and cargo to the International Space Station.

    Taurus

    The Taurus launch vehicle (1994) is Orbital Sciences Corporations ground -launched

    derivative of the Pegasus. The Taurus incorporates the motors and avionics of thePegasus with a larger first stage (the government-provided Peacekeeper missile). Taurus

    was funded by DARPA to supporting a rapid-response launch capability.

    Basic Rocket Propulsion System

    ( )

    Near burnout, rocket acceleration is diminished because payload mass includes entire

    launch systems structure. Staging removes lower stage structural weight

  • 7/29/2019 Satellite Launch System

    5/16

    Moi = initial mass of rocket including all upper stages and payload.

    Mfi = final mass after stage has burned before separation.

    i = stage number

    Msi = mass structure for stage i

    Mpi = mass propellant for stage i

    Launch Vehicle Forces

    Launch System Selection Process

    The first step in the launch system selection process is to establish the mission needs

    and objectives, since they dictate the performance, trajectory, and the family of vehicles.

    The mission need should be stated in terms of the specific return desired, e.g. earth

    observation data over specific portions of the Earth, weather information, etc.

    Another critical issue is whether the spacecraft will use a dedicated or sharedlaunch system. Payload security may also demand a dedicated launch. On the other hand,

    shared launches are usually less expensive per spacecraft. Before deciding on a shared

    launch, we must consider the interaction between payloads in the shroud. If we mount

    them serially, we must analyze the probability that the upper payload will not deploy and

    thus interfere with the lower payload's deployment. Examples of larger vehicles that can

    launch multiple payloads are the Space Shuttle, several Ariane 4 variants, Ariane 5 and

    Titan IV. We consider launching multiple spacecraft if their desired orbital aititudes and

    inclinations are compatible.

  • 7/29/2019 Satellite Launch System

    6/16

    Next we specify mission requirement. Estimating payload weight and dimensions

    become requirements to the launch system. The mission concept specifies such

    parameters as number of spacecraft, anticipated lifetime and replacement strategy, and

    method of data retrieval and management. A required launch date also becomes a

    selection parameter as it affects schedules, and the vehicle and launch site availabilities.The spacecraft navigation, guidance and control subsystem can technically provide

    this function to the launch system during ascent. However, this approach results in a

    highly coupled payload and launch system which presents some negative attributes,

    including a more complex integration of the two, and makes it more difficult to manage at

    the spacecraft-to-Iaunch-vehicle interface. The current trend is to separate the spacecraft

    and launch system functions at the interface, both functionally and physically, to minimize

    interface requirements and complexity.

    We must assess each function required to achieve the mission objective throughthis process and allocate functions based on cost, reliability, and risk. This is a classic

    systems engineering problem, which we must continuously evaluate as part of the vehicle

    selection process and as the spacecraft design matures.

    Having established mission requirements, constraints, and the required

    information, we must decide which launch-system configurations can deliver the

    spacecraft to its mission orbit. The launch systems selected during conceptual design

    should satisfy the missions performance requirement. Selecting a launch system

    depends on at least these criteria: the launch vehicle's performance capability to boost thenecessary weight to the mission orbit, the required launch date versus vehicle availability,

    spacecraft-to-launch-vehicle compatibility, and of course, cost of the launch service. The

    launch system's performance capability must include factors such as performance.

    Example Launch Systems

  • 7/29/2019 Satellite Launch System

    7/16

    Example Orbit Transfer Vehicles

    Launch System Selection

    MATLAB program is used in selecting the launch system. (refer to Appendix).

    For the test run, a payload with constraints shown in table 3 is submitted to the launcher

    selection tool. Table 4 shows the results sorted by cost. The negative availability valuesare because the current vehicle database shows those vehicles as having never launched

    any payload. This also has the effect of driving up the risk and absolute cost for those

    particular vehicles. The Atlas IIs zero risk is due to its perfect launch record.

  • 7/29/2019 Satellite Launch System

    8/16

    Type of Launch Sequence

    There are two broad categories of launch sequence, one that is employed by expendable

    launch vehicles such as Ariane of the European Space Agency and Atlas Centaur and

    Thor Delta of the United States and the other that is employed by a re-usable launch

    vehicle such as the Space Shuttle of the United States and the recent development Buran

    of Russia.

    Irrespective of whether a satellite is launched by a re-usable launch vehicle or an

    expendable vehicle, the satellite heading for a geostationary orbit is first placed in a

    transfer orbit. The transfer orbit is elliptical in shape with its perigee at an altitude between

    200 km and 300 km and its apogee at the geostationary altitude. In some cases, the

    launch vehicle injects the satellite directly into a transfer orbit of this type.

    Following this, an apogee manoeuvre circularizes the orbit at the geostationary

    altitude. The last step is then to correct the orbit for its inclination. This type of launch

    sequence is illustrated in Figure 1. In the second case, the satellite is first injected into a

    low Earth circular orbit. In the second step, the low Earth circular orbit is transformed into

    an elliptical transfer orbit with a perigee manoeuvre. Circularization of the transfer orbit

    and then correction of the orbit inclination follow this. This type of sequence is illustrated in

    Figure 2.

    Figure 1 Figure 2

  • 7/29/2019 Satellite Launch System

    9/16

    REFERENCES

    1. Anil K. Maini and Varsha Agrawal (2011). Satellite Technology: Principles and

    Applications, 2nd edition. UK: John Wiley & Sons Ltd.2. Isakowitz, Steven J. (1999). AIAA International Reference Guide to Space Launch

    Systems (3rd Edition). Washington, DC: American Institute of Aeronautics and

    Astronautics.

    3. Wertz, James R. and Wiley J. Larson (Ed.). (1999). Space Mission Analysis and

    Design. El Segundo: Microcosm Press.

    http://www.kobobooks.com/ebook/Satellite-Technology/book-ONeXqFjFuUuVutbrSfpSkQ/page1.htmlhttp://www.chapters.indigo.ca/books/satellite-technology-principles-and-applications/9780470033357-item.htmlhttp://www.chapters.indigo.ca/books/satellite-technology-principles-and-applications/9780470033357-item.htmlhttp://www.chapters.indigo.ca/books/satellite-technology-principles-and-applications/9780470033357-item.htmlhttp://www.chapters.indigo.ca/books/satellite-technology-principles-and-applications/9780470033357-item.htmlhttp://www.kobobooks.com/ebook/Satellite-Technology/book-ONeXqFjFuUuVutbrSfpSkQ/page1.html
  • 7/29/2019 Satellite Launch System

    10/16

    Appendix - Source Code Listing

    Payload Constraints & Optimization Flags, payload_dat.m

    %##################################%## payload data

    %specify a "-1" value to disable constraint

    payload.name = 'Test Payload';payload.mass = 6000; %[kg], total payload mass (spacecraft, adaptors, propellant)payload.diameter = 3; %[m], payload diameterpayload.height = 3; %[m], payload heightpayload.orbit_type = 'leo'; %orbit class // options: [leo, polar, sunsync, ss, gto, geo]payload.inclination = 34; %[deg], desired orbit inclinationpayload.launchfreq = 2; %[launches/year], launch frequencypayload.max_axial_accel = 8.5; %[g], max axial accelerationpayload.max_lat_accel = 2.2; %[g], max lateral accelerationpayload.lat_freq = 45; %[Hz], min lateral frequencypayload.long_freq = 30; %[Hz], min longitudinal frequencypayload.acoustic = 200; %[dB], noise intensitypayload.max_aeroheating = 1200; %[W/m^2], aeroheating after fairing deploypayload.air_clean = 10000; %[class], air cleanliness classpayload.orbital_accu_alt = 20; %[km], allowable LEO insertion altitude error (+/-)

    payload.orbital_accu_incl = 2; %[deg], allowable LEO insertion inclination error (+/-)

    %##################################%## Program Optimization Sorting Options

    % 1 for category sort on // 0 for category sort off% You may only enable one sort category at a time.

    payload.cost = 0; %minimize costpayload.risk = 0; %minimize riskpayload.pmargin = 0; %maximize marginpayload.availiability = 0; %maximize availabilitypayload.absolute_cost = 1; %minimize absolute cost

    Load Data File, load_data.m%##################################%## load data

    clearclc

    %loads payload datapayload_dat

    %Loads all launch vehicles

    i=0;

    Ariane4Ariane5

    AtlasIIAtlasIIIAtlasVDeltaIIDeltaIVMolniyaPegasusProton_aProton_bSoyuz

    clear i j

  • 7/29/2019 Satellite Launch System

    11/16

    Sample Vehicle Data File, AtlasII.m

    % Launch Vehicle Database

    i=i+1;

    veh{i}.family = 'Atlas';veh{i}.class = 'Atlas II';veh{i}.country = 'USA';veh{i}.provider = 'Lockheed Martin';veh{i}.success_flight = 41; %# of flights%veh{i}.total_flights = 41;veh{i}.stddwntime = 0.3; %yearsveh{i}.surge = 1.15; %percentageveh{i}.max_axial_accel = 6; %gveh{i}.max_lat_accel = 2; %gveh{i}.min_lat_freq = 10; %Hzveh{i}.min_long_freq = 15; %Hzveh{i}.shock = 4000; %gveh{i}.acoustic = 131; %dBveh{i}.fairing_press = 7; %kPa/sveh{i}.max_aeroheating = 1135; %W/m^2veh{i}.air_clean = 100000; %class

    veh{i}.orbital_accu_alt = 19.4; %kmveh{i}.orbital_accu_incl = 0.02; %degveh{i}.rate = 7; %# per year

    veh{i}.site{1}.name = 'KSC';veh{i}.site{1}.min_incl = 28.5; %degveh{i}.site{1}.max_incl = 55; %deg

    veh{i}.site{2}.name = 'Vandenberg';veh{i}.site{2}.min_incl = 63; %degveh{i}.site{2}.max_incl = 120; %deg

    %-- Variants / Upper Stages --j=1;

    veh{i}.upper_stage{j}.var_name = 'A';veh{i}.upper_stage{j}.mass2leo = 7316; %kgveh{i}.upper_stage{j}.mass2polar = 6192; %kg

    veh{i}.upper_stage{j}.mass2SS = 6074; %kgveh{i}.upper_stage{j}.mass2sunsync = 0; %kgveh{i}.upper_stage{j}.mass2gto = 3066; %kgveh{i}.upper_stage{j}.mass2geo = 0; %kgveh{i}.upper_stage{j}.cost = 85; %million dollarsveh{i}.upper_stage{j}.fairingheight = 4.1; %mveh{i}.upper_stage{j}.fairingdiameter = 2.9; %m

    j=j+1;veh{i}.upper_stage{j}.var_name = 'AS';veh{i}.upper_stage{j}.mass2leo = 8618; %kgveh{i}.upper_stage{j}.mass2polar = 7212; %kgveh{i}.upper_stage{j}.mass2SS = 7225; %kgveh{i}.upper_stage{j}.mass2sunsync = 0; %kgveh{i}.upper_stage{j}.mass2gto = 3719; %kgveh{i}.upper_stage{j}.mass2geo = 0; %kgveh{i}.upper_stage{j}.cost = 105; %million dollars

    veh{i}.upper_stage{j}.fairingheight = 4.1; %mveh{i}.upper_stage{j}.fairingdiameter = 3.7; %m

  • 7/29/2019 Satellite Launch System

    12/16

    Launch Select Tool, launcher_select.m

    function bestveh = launcher_select(payload, veh_input);

    % This is a launch vehicle selection tool% input #1 - payload specifictions% input #2 - launch vehicle specs

    %expand database for upper stageskk = 1;

    for ii = [1:length(veh_input)]

    %## if generic vehicle can lift payload, add to database

    for jj = [1:length(veh_input{ii}.upper_stage)]veh{kk} = veh_input{ii};veh{kk}.class = [veh_input{ii}.class '_' veh_input{ii}.upper_stage{jj}.var_name];

    veh{kk}.mass2leo = veh_input{ii}.upper_stage{jj}.mass2leo;veh{kk}.mass2polar = veh_input{ii}.upper_stage{jj}.mass2polar;veh{kk}.mass2ss = veh_input{ii}.upper_stage{jj}.mass2SS;veh{kk}.mass2sunsync = veh_input{ii}.upper_stage{jj}.mass2sunsync;veh{kk}.mass2gto = veh_input{ii}.upper_stage{jj}.mass2gto;veh{kk}.mass2geo = veh_input{ii}.upper_stage{jj}.mass2geo;

    veh{kk}.cost = veh_input{ii}.upper_stage{jj}.cost;veh{kk}.fairingheight = veh_input{ii}.upper_stage{jj}.fairingheight;veh{kk}.fairingdiameter = veh_input{ii}.upper_stage{jj}.fairingdiameter;

    end

    end

    veh{kk} = rmfield(veh{kk}, 'upper_stage');kk = kk+1;

    % filter based on all constraintssite_found = 0; %flag foundm = 1; %counter for qualified vehiclesfor i = [1:length(veh)]

    %site and inclination constraintfor j = [1:length(veh{i}.site)]

    if(veh{i}.site{j}.max_incl >= payload.inclination & veh{i}.site{j}.min_incl

  • 7/29/2019 Satellite Launch System

    13/16

    10

    if(veh{i}.mass2ss < payload.mass)continue;

    end

    end

    %diameter constraintif(veh{i}.fairingdiameter < payload.diameter)

    continue;end%height constraintif(veh{i}.fairingheight < payload.height)

    continue;end%max_acceleration constraintif(payload.max_lat_accel ~= -1)

    if(veh{i}.max_lat_accel > payload.max_lat_accel)continue;

    endend

    %max_acceleration constraintif(payload.max_axial_accel ~= -1)if(veh{i}.max_axial_accel > payload.max_axial_accel)

    continue;

    endend

    %vibration constraintif(payload.lat_freq ~= -1)

    if(veh{i}.min_lat_freq > payload.lat_freq)continue;

    end

    end

    if(payload.long_freq ~= -1)if(veh{i}.min_long_freq > payload.long_freq)

    continue;

    end

    end

    %acoustic constraintif(payload.acoustic ~= -1)if(veh{i}.acoustic > payload.acoustic)

    continue;

    endend

    %temp constraint if(payload.max_aeroheating ~= -1)if(veh{i}.max_aeroheating > payload.max_aeroheating)

    continue;

    endend

    %air_clean constraintif(payload.air_clean ~= -1)

    if(veh{i}.air_clean < payload.air_clean)continue;

    end

    end

    %orbit_accu if(payload.orbital_accu_alt ~= -1)if(veh{i}.orbital_accu_alt > payload.orbital_accu_alt)

    continue;

    endend

    if(payload.orbital_accu_incl ~= -1)if(veh{i}.orbital_accu_incl > payload.orbital_accu_incl)

    continue;

    end

    end

    %vehicle passes all constraints, add to listqualified_vehicles{m} = veh{i};

    % fprintf(['\n' qualified_vehicles{m}.class '\n'])m = m+1;

    end

    %calculate reliability%calculate availiability for remaining vehicles%calculate performance marginif(exist('qualified_vehicles') == 0)

    error(' No Vehicles Qualify.');end

    for i = [1:length(qualified_vehicles)]if(qualified_vehicles{i}.total_flights == 0)

    qualified_vehicles{i}.reliability = 0;else

    qualified_vehicles{i}.reliability = qualified_vehicles{i}.success_flight/qualified_vehicles{i}.total_flights;

  • 7/29/2019 Satellite Launch System

    14/16

    11

    endqualified_vehicles{i}.availiability = 1 - (payload.launchfreq*(1-

    qualified_vehicles{i}.reliability)*qualified_vehicles{i}.stddwntime/(1 - 1/qualified_vehicles{i}.surge));if(strcmp(payload.orbit_type,'leo') == 1)

    qualified_vehicles{i}.pmargin = qualified_vehicles{i}.mass2leo - payload.mass;endif(strcmp(payload.orbit_type,'gto') == 1)

    qualified_vehicles{i}.pmargin = qualified_vehicles{i}.mass2gto - payload.mass;endif(strcmp(payload.orbit_type,'geo') == 1)

    qualified_vehicles{i}.pmargin = qualified_vehicles{i}.mass2geo - payload.mass;endif(strcmp(payload.orbit_type, 'polar') == 1)

    qualified_vehicles{i}.pmargin = qualified_vehicles{i}.mass2polar - payload.mass;endif(strcmp(payload.orbit_type, 'sunsync') == 1)

    qualified_vehicles{i}.pmargin = qualified_vehicles{i}.mass2sunsync - payload.mass;endif(strcmp(payload.orbit_type, 'ss') == 1)

    qualified_vehicles{i}.pmargin = qualified_vehicles{i}.mass2ss - payload.mass;

    end

    end

    % now optimize based on optionsm = 1;if(payload.absolute_cost == 1)

    fprintf('\n## Absolute Cost Optimization ##\n')while(~isempty(qualified_vehicles))

    min = qualified_vehicles{1}.cost+((1 - qualified_vehicles{1}.reliability)*qualified_vehicles{1}.cost);

    bestveh{m} = qualified_vehicles{1};bestveh{m}.abs_cost = min;

    best = 1;for i = [1:length(qualified_vehicles)]

    if(qualified_vehicles{i}.cost + ((1 - qualified_vehicles{i}.reliability)*qualified_vehicles{i}.cost) < min)bestveh{m} = qualified_vehicles{i};bestveh{m}.abs_cost = (qualified_vehicles{i}.cost + ((1 -

    qualified_vehicles{i}.reliability)*qualified_vehicles{i}.cost));min = qualified_vehicles{1}.cost+((1 - qualified_vehicles{1}.reliability)*qualified_vehicles{1}.cost);best = i;

    endend

    %delete best entry from qualified vehiclesfprintf(['\n ' qualified_vehicles{best}.class ' | ' num2str(qualified_vehicles{best}.cost+((1 -

    qualified_vehicles{best}.reliability)*qualified_vehicles{best}.cost)) '\n'])qualified_vehicles(best) = [];m = m+1;

    end

    end

    if(payload.cost == 1)fprintf('\n## Cost Optimization ##\n')while(~isempty(qualified_vehicles)) min

    = qualified_vehicles{1}.cost;bestveh{m} = qualified_vehicles{1};best = 1;for i = [1:length(qualified_vehicles)]

    if(qualified_vehicles{i}.cost < min)bestveh{m} = qualified_vehicles{i};min = qualified_vehicles{i}.cost;best = i;

    end

    end

    end

    end

    %delete best entry from qualified vehiclesfprintf(['\n ' qualified_vehicles{best}.class ' | ' num2str(qualified_vehicles{best}.cost) '\n'])qualified_vehicles(best) = [];m = m+1;

    if(payload.risk == 1)fprintf('\n## Risk Optimization ##\n')while(~isempty(qualified_vehicles))

    min = (1 - qualified_vehicles{1}.reliability)*qualified_vehicles{1}.cost;bestveh{m} = qualified_vehicles{1};best = 1;for i = [1:length(qualified_vehicles)]

    if((1 - qualified_vehicles{i}.reliability)*qualified_vehicles{i}.cost < min)bestveh{m} = qualified_vehicles{i};min = (1 - qualified_vehicles{i}.reliability)*qualified_vehicles{i}.cost;best = i;

    endend

    %delete best entry from qualified vehicles

  • 7/29/2019 Satellite Launch System

    15/16

    12

    fprintf(['\n ' qualified_vehicles{best}.class ' | ' num2str((1 -qualified_vehicles{best}.reliability)*qualified_vehicles{best}.cost) '\n'])

    qualified_vehicles(best) = [];m = m+1;

    endend

    if(payload.availiability == 1)fprintf('\n## Availability Optimization ##\n')while(~isempty(qualified_vehicles))

    max = qualified_vehicles{1}.availiability;bestveh{m} = qualified_vehicles{1};best = 1;for i = [1:length(qualified_vehicles)]

    if(qualified_vehicles{i}.availiability > max)bestveh{m} = qualified_vehicles{i};max = qualified_vehicles{i}.availiability;best = i;

    end

    end

    %delete best entry from qualified vehiclesfprintf(['\n ' qualified_vehicles{best}.class ' | ' num2str(qualified_vehicles{best}.availiability) '\n'])

    endend

    qualified_vehicles(best) = [];m = m+1;

    if(payload.pmargin == 1)fprintf('\n## Performance Margin Optimization ##\n')while(~isempty(qualified_vehicles))

    max = qualified_vehicles{1}.pmargin;bestveh{m} = qualified_vehicles{1};best = 1;for i = [1:length(qualified_vehicles)]

    if(qualified_vehicles{i}.pmargin > max)bestveh{m} = qualified_vehicles{i};max = qualified_vehicles{i}.pmargin;best = i;

    endend

  • 7/29/2019 Satellite Launch System

    16/16