Source code for RCAIDE.Library.Components.Powertrain.Distributors.Electrical_Bus

# RCAIDE/Library/Components/Powertrain/Distributors/Electrical_Bus.py 
# 
# Created:  Jul 2023, M. Clarke 
# Modofied: Jan 2025, M. Clarke 

# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ---------------------------------------------------------------------------------------------------------------------- 

# RCAIDE imports  
import RCAIDE 
from RCAIDE.Library.Components                                 import Component
from RCAIDE.Library.Components.Component                       import Container
from RCAIDE.Library.Methods.Powertrain.Distributors.Electrical_Bus import *
from RCAIDE.Library.Methods.Mass_Properties.Moment_of_Inertia.compute_distributor_moment_of_inertia import *
from RCAIDE.Library.Methods.Mass_Properties.Center_of_Gravity.compute_distributor_center_of_gravity import * 


# ----------------------------------------------------------------------------------------------------------------------
#  Electrical_Bus
# ---------------------------------------------------------------------------------------------------------------------- 
[docs] class Electrical_Bus(Component): """ Class for managing power distribution between aircraft electrical components Attributes ---------- tag : str Identifier for the electrical bus (default: 'bus') battery_modules : Container Collection of battery modules connected to this bus assigned_propulsors : list List of propulsion systems powered by this bus avionics : Component Aircraft avionics system identical_battery_modules : bool Flag indicating if all battery modules are identical (default: True) active : bool Flag indicating if the bus is operational (default: True) efficiency : float Power distribution efficiency (default: 1.0) voltage : float Bus voltage in volts (default: 0.0) power_split_ratio : float Ratio of power distribution between multiple buses (default: 1.0) nominal_capacity : float Total capacity of connected batteries (default: 0.0) charging_c_rate : float Battery charging rate in C (default: 1.0) battery_module_electric_configuration : str Configuration of battery modules ('Series' or 'Parallel') (default: 'Series') Notes ----- The electrical bus manages power distribution between sources and consumers, handling voltage regulation, power splitting, and battery management. It supports both series and parallel battery configurations. **Definitions** 'C-rate' Rate at which a battery is charged/discharged relative to its capacity 'Power Split Ratio' Fraction of total power handled by this bus in multi-bus configurations See Also -------- RCAIDE.Library.Components.Powertrain.Sources.Battery_Modules Battery module components """ def __defaults__(self): """This sets the default values. Assumptions: None Source: None """ self.tag = 'bus' self.battery_modules = Container() self.fuel_cell_stacks = Container() self.fuel_tanks = Container() self.assigned_propulsors = [] self.assigned_converters = [] self.identical_battery_modules = True self.identical_fuel_cell_stacks = True self.active = True self.efficiency = 1.0 self.voltage = 0.0 self.power_split_ratio = 1.0 self.nominal_capacity = 0.0 self.maximum_energy = 0.0 self.charging_c_rate = 1.0 self.battery_module_electric_configuration = "Series" self.fuel_cell_stack_electric_configuration = "Series"
[docs] def append_operating_conditions(self, segment): """ Append operating conditions for a flight segment Parameters ---------- segment : Segment Flight segment containing operating conditions """ append_bus_conditions(self, segment) return
[docs] def append_segment_conditions(self, segment): """ Append segment-specific conditions to the bus Parameters ---------- conditions : Data Container for segment conditions segment : Segment Flight segment data """ append_bus_segment_conditions(self,segment) return
[docs] def initialize_bus_properties(self): """ Initialize electrical bus properties Sets up initial values for bus voltage, capacity, and other electrical properties based on connected components. """ initialize_bus_properties(self) return
[docs] def compute_distributor_conditions(self,state,t_idx, delta_t): """ Compute electrical conditions during operation Parameters ---------- state : Data Current system state t_idx : int Time index delta_t : float Time step """ compute_bus_conditions(self,state,t_idx, delta_t) return
[docs] def compute_moments_of_inertia(self,vehicle,center_of_gravity=[[0, 0, 0]]): """ Computes the moment of inertia tensor for the fuel line. Parameters ---------- center_of_gravity : list, optional Reference point coordinates for moment calculation, defaults to [[0, 0, 0]] See Also -------- RCAIDE.Library.Methods.weights.vehicle.moments_of_inertia.compute_fuselage_moment_of_inertia Implementation of the moment of inertia calculation """ return
[docs] def compute_center_of_gravity(self,vehicle): """ Computes the center of gravity for the distributor. See Also -------- RCAIDE.Library.Methods.weights.vehicle.center_of_gravity.compute_fuselage_center_of_gravity Implementation of the moment of inertia calculation """ return