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

# RCAIDE/Library/Components/Powertrain/Distributors/Coolant_Line.py 
# 
# Created:  Aug 2024, S. Shekar

# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ---------------------------------------------------------------------------------------------------------------------- 
# RCAIDE imports  
from RCAIDE.Library.Components                                import Component
from RCAIDE.Library.Components.Component                      import Container    

# ----------------------------------------------------------------------------------------------------------------------
#  Coolant Line
# ---------------------------------------------------------------------------------------------------------------------- 
[docs] class Coolant_Line(Component): """ Class for modeling coolant distribution lines in thermal management systems This class represents coolant distribution lines that connect various thermal management components like heat exchangers, reservoirs, and battery cooling systems. Attributes ---------- tag : str Identifier for the coolant line (default: 'coolant_line') heat_exchangers : Container Collection of heat exchangers connected to the coolant line reservoirs : Container Collection of coolant reservoirs in the system active : bool Flag indicating if the coolant line is operational (default: True) efficiency : float Distribution efficiency of the coolant line (default: 1.0) battery_modules : Container, optional Collection of battery cooling systems, created when batteries are present identical_battery_modules : bool, optional Flag indicating if all battery modules use identical cooling systems Notes ----- The coolant line serves as a connection framework between thermal management components. It manages the routing of coolant between heat sources (like batteries) and heat sinks (like heat exchangers and reservoirs). **Definitions** 'Container' A specialized dictionary-like object for storing RCAIDE components 'Heat Acquisition System' Components and geometry for removing heat from battery modules See Also -------- RCAIDE.Library.Components.Powertrain.Distributors.Heat_Exchanger Heat exchanger components for thermal management RCAIDE.Library.Components.Powertrain.Distributors.Reservoir Coolant reservoir components """ def __defaults__(self): """This sets the default values. Assumptions: None Source: None """ self.tag = 'coolant_line' self.heat_exchangers = Container() self.reservoirs = Container()
[docs] def __init__ (self, distributor=None): """ Initialize coolant line and set up containers for thermal management components This method initializes empty containers for heat acquisition systems for battery modules present on a particular bus. Parameters ---------- distributor : Component, optional Component containing battery modules that need thermal management Notes ----- When a distributor with battery modules is provided, the method creates containers to store the cooling system components for each battery. """ self.active = True self.efficiency = 1.0 if distributor is not None: for tag, item in distributor.items(): self.identical_battery_modules = distributor.identical_battery_modules if tag == 'battery_modules': if not hasattr(self, 'battery_modules'): self.battery_modules = Container() for battery in item: self.battery_modules[battery.tag] = Container()