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

# RCAIDE/Library/Components/Powertrain/Distributors/Fuel_Line.py 
# 
# Created:  Jul 2023, M. Clarke 

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

# RCAIDE imports
import RCAIDE
from RCAIDE.Framework.Core                                    import Data, Units
from RCAIDE.Library.Components                                import Component
from RCAIDE.Library.Components.Component                      import Container    
from RCAIDE.Library.Methods.Powertrain.Distributors.Fuel_Line import * 
from RCAIDE.Library.Methods.Mass_Properties.Moment_of_Inertia.compute_distributor_moment_of_inertia import compute_distributor_moment_of_inertia 
from RCAIDE.Library.Methods.Mass_Properties.Center_of_Gravity.compute_distributor_center_of_gravity import compute_distributor_center_of_gravity  

# ----------------------------------------------------------------------------------------------------------------------
#  Fuel Line
# ---------------------------------------------------------------------------------------------------------------------- 
[docs] class Fuel_Line(Component): """ Class for managing fuel distribution between aircraft fuel system components Attributes ---------- tag : str Identifier for the fuel line (default: 'fuel_line') fuel_tanks : Container Collection of fuel tanks connected to this line assigned_propulsors : list List of propulsion systems supplied by this fuel line active : bool Flag indicating if the fuel line is operational (default: True) efficiency : float Fuel transfer efficiency (default: 1.0) Notes ----- The fuel line manages fuel distribution between tanks and engines, handling fuel transfer and flow control. It supports multiple fuel tanks and propulsors in various aircraft configurations. See Also -------- RCAIDE.Library.Components.Powertrain.Sources.Fuel_Tanks Fuel tank components RCAIDE.Library.Components.Powertrain.Propulsors Aircraft propulsion system components """ def __defaults__(self): """This sets the default values. Assumptions: None Source: None """ self.tag = 'fuel_line' self.fuel_tanks = Container() self.assigned_propulsors = [] self.assigned_converters = [] self.converters = Container() self.active = True self.additional_line_flow_rate = 0.0 self.efficiency = 1.0 self.valve_unit_mass = 3 * Units.lbs self.fuel_probe_unit_mass = 2.5 * Units.lbs self.boost_pump_unit_mass = 12.5 * Units.lbs self.venting_system_length = 0.0 self.pipe = Data() self.pipe.rigid_material = RCAIDE.Library.Attributes.Materials.Aluminum() self.pipe.flexible_material = RCAIDE.Library.Attributes.Materials.Stainless_Steel_304() self.pipe.flexible_material_ratio = 0.25 self.pipe.diameters = Data() self.pipe.diameters.external = 0.0 self.pipe.diameters.internal = 0.0 self.insulation = Data() self.insulation.rigid_material = RCAIDE.Library.Attributes.Materials.Aluminum() self.insulation.flexible_material = RCAIDE.Library.Attributes.Materials.Stainless_Steel_304() self.insulation.flexible_material_ratio = 0.25 self.insulation.diameters = Data() self.insulation.diameters.external = 0.0 self.insulation.diameters.internal = 0.0
[docs] def append_operating_conditions(self, segment): """ Append operating conditions for a flight segment Parameters ---------- segment : Segment Flight segment containing operating conditions """ append_fuel_line_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_fuel_line_segment_conditions(self, segment) 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 """ _ , _ = compute_distributor_moment_of_inertia(self,vehicle,center_of_gravity= center_of_gravity) 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 """ _ = compute_distributor_center_of_gravity(self,vehicle) return