示例#1
0
def weight(nexus):
    vehicle = nexus.vehicle_configurations.base

    # weight analysis
    weights = nexus.analyses.base.weights.evaluate()

    # print "nexus_rest"
    compute_component_centers_of_gravity(vehicle)
    nose_load_fraction = .06
    compute_aircraft_center_of_gravity(vehicle, nose_load_fraction)

    weights = nexus.analyses.cruise.weights.evaluate()
    # print weights # FIXME
    weights = nexus.analyses.landing.weights.evaluate()
    # print weights
    weights = nexus.analyses.takeoff.weights.evaluate()
    #    weights = nexus.analyses.short_field_takeoff.weights.evaluate()

    empty_weight = vehicle.mass_properties.operating_empty

    passenger_weight = 0

    for config in nexus.vehicle_configurations:
        # config.mass_properties.max_zero_fuel                = empty_weight+passenger_weight
        config.mass_properties.zero_fuel_center_of_gravity = vehicle.mass_properties.zero_fuel_center_of_gravity
        config.fuel = vehicle.fuel

    return nexus
示例#2
0
def weight(nexus):
    vehicle = nexus.vehicle_configurations.base

    # weight analysis
    weights = nexus.analyses.base.weights.evaluate()

    # print "nexus_rest"
    compute_component_centers_of_gravity(vehicle)
    nose_load_fraction = .06
    compute_aircraft_center_of_gravity(vehicle, nose_load_fraction)

    weights = nexus.analyses.cruise.weights.evaluate()
    # print weights # FIXME
    weights = nexus.analyses.landing.weights.evaluate()
    # print weights
    weights = nexus.analyses.takeoff.weights.evaluate()
#    weights = nexus.analyses.short_field_takeoff.weights.evaluate()

    empty_weight = vehicle.mass_properties.operating_empty

    passenger_weight = 0

    for config in nexus.vehicle_configurations:
        # config.mass_properties.max_zero_fuel                = empty_weight+passenger_weight
        config.mass_properties.zero_fuel_center_of_gravity = vehicle.mass_properties.zero_fuel_center_of_gravity
        config.fuel = vehicle.fuel

    return nexus
示例#3
0
def simple_sizing(configs, analyses):

    base = configs.base
    base.pull_base()

    # zero fuel weight
    base.mass_properties.max_zero_fuel = 0.9 * base.mass_properties.max_takeoff 

    # wing areas
    for wing in base.wings:
        wing.areas.wetted   = 2.0 * wing.areas.reference
        wing.areas.exposed  = 0.8 * wing.areas.wetted
        wing.areas.affected = 0.6 * wing.areas.wetted

    # fuselage seats
    base.fuselages['fuselage'].number_coach_seats = base.passengers
    
    # weight analysis
    #need to put here, otherwise it won't be updated
    weights = analyses.configs.base.weights
    breakdown = weights.evaluate()    
    
    
    #compute centers of gravity
    #need to put here, otherwise, results won't be stored
    compute_component_centers_of_gravity(base,compute_propulsor_origin=True)
    compute_aircraft_center_of_gravity(base)
    
    # diff the new data
    base.store_diff()

    # ------------------------------------------------------------------
    #   Landing Configuration
    # ------------------------------------------------------------------
    landing = configs.landing

    # make sure base data is current
    landing.pull_base()

    # landing weight
    landing.mass_properties.landing = 0.85 * base.mass_properties.takeoff

    # diff the new data
    landing.store_diff()

    # done!
    return