Source code for RCAIDE.Library.Methods.Powertrain.Systems.compute_payload_power_draw

# RCAIDE/Library/Methods/Powertrain/Systems/compute_payload_power_draw.py
# 
# Created:  Jul 2024, RCAIDE Team 

# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ----------------------------------------------------------------------------------------------------------------------    
# package imports  
[docs] def compute_payload_power_draw(payload, bus, conditions): """ Computes the power draw of a payload component on an electrical bus. Parameters ---------- payload : RCAIDE.Library.Components.Systems.Payload Payload component with the following attributes: - tag : str Identifier for the payload - power_draw : float Power required by the payload [W] bus : RCAIDE.Library.Components.Systems.Electrical_Bus Electrical bus component with the following attributes: - tag : str Identifier for the electrical bus - power_split_ratio : float Ratio of power allocation to this bus - efficiency : float Efficiency of the bus [0-1] conditions : RCAIDE.Framework.Mission.Common.Conditions Flight conditions with: - energy : dict Energy conditions indexed by component tag - [bus.tag] : Data Bus-specific conditions - [payload.tag] : Data Payload-specific conditions - power : numpy.ndarray Power draw of the payload [W] - power_draw : numpy.ndarray Total power draw on the bus [W] Returns ------- None Notes ----- This function calculates the power draw of a payload component on an electrical bus and updates the total power draw on the bus. The power draw is adjusted by the bus power split ratio and efficiency. **Major Assumptions** * Constant payload power draw * Constant bus efficiency * Power draw is independent of flight conditions See Also -------- RCAIDE.Library.Methods.Powertrain.Systems.compute_avionics_power_draw """ bus_conditions = conditions.energy[bus.tag] payload_conditions = bus_conditions[payload.tag] payload_conditions.power[:,0] = payload.power_draw bus_conditions.power_draw += payload_conditions.power*bus.power_split_ratio /bus.efficiency return