Source code for RCAIDE.Library.Components.Network

# RCAIDE/Library/Compoments/Network.py
# 
# Created:  Jul 2024, S. Shekar

# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ----------------------------------------------------------------------------------------------------------------------  
from RCAIDE.Framework.Core import Container as ContainerBase
from RCAIDE.Framework.Core import Data
from .Mass_Properties import Mass_Properties

# package imports 
import numpy as np

# ----------------------------------------------------------------------------------------------------------------------
#  Network
# ----------------------------------------------------------------------------------------------------------------------        
[docs] class Network(Data): """ Base class for component networks that manage connections and interactions between system components. Attributes ---------- tag : str Unique identifier for the network, defaults to 'Network' mass_properties : Mass_Properties Mass and inertia properties, initialized empty origin : ndarray 3D coordinates [x, y, z] defining network's reference point, defaults to [0.0, 0.0, 0.0] inputs : Data Collection of network input parameters, initialized empty outputs : Data Collection of network output parameters, initialized empty Notes ----- The Network class serves as a framework for managing interconnected components. It provides: * Input/output parameter management * Mass tracking for network components * Spatial positioning capabilities * Container functionality for sub-networks See Also -------- RCAIDE.Library.Components.Mass_Properties Class containing mass and inertia data RCAIDE.Framework.Core.Data Parent class providing data structure functionality """ def __defaults__(self): """ Sets default values for the network attributes. """ self.tag = 'Network' self.mass_properties = Mass_Properties() self.origin = np.array([[0.0,0.0,0.0]]) self.inputs = Data() self.outputs = Data()
# ---------------------------------------------------------------------------------------------------------------------- # Network Container # ----------------------------------------------------------------------------------------------------------------------
[docs] class Container(ContainerBase): """ Container class for managing collections of networks. Notes ----- The Container class provides organization and mass calculation functionality for groups of networks. Key features include: * Recursive mass summation * Moment calculation about reference points * Network hierarchy management See Also -------- RCAIDE.Framework.Core.Container Parent class providing base container functionality """ pass
# ------------------------------------------------------------ # Handle Linking # ------------------------------------------------------------ Network.Container = Container