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
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
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