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 *
# ----------------------------------------------------------------------------------------------------------------------
# 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
payload : Component
Aircraft payload 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.cryogenic_tanks = Container()
self.assigned_propulsors = []
self.assigned_converters = []
self.avionics = RCAIDE.Library.Components.Powertrain.Systems.Avionics()
self.payload = RCAIDE.Library.Components.Payloads.Payload()
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.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, conditions, 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, conditions, 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