Source code for RCAIDE.Library.Components.Nacelles.Stack_Nacelle
# RCAIDE/Compoments/Nacelles/Stack_Nacelle.py
#
# Created: Mar 2024, M. Clarke
# ----------------------------------------------------------------------------------------------------------------------
# IMPORT
# ----------------------------------------------------------------------------------------------------------------------
# RCAIDE imports
import RCAIDE
from RCAIDE.Framework.Core import Data, Container
from .Nacelle import Nacelle
# ----------------------------------------------------------------------------------------------------------------------
# Stack_Nacelle
# ----------------------------------------------------------------------------------------------------------------------
[docs]
class Stack_Nacelle(Nacelle):
"""
A nacelle design built up from a series of stacked cross-sectional segments,
allowing for complex, non-axisymmetric shapes.
Attributes
----------
tag : str
Unique identifier for the nacelle component, defaults to 'stack_nacelle'
segments : Container
Collection of cross-sectional segments defining the nacelle shape,
initialized empty
Notes
-----
The stack nacelle approach provides flexibility in designing complex nacelle
shapes through the use of multiple cross-sections. This is particularly useful for:
* Non-axisymmetric designs
* Complex inlet and nozzle geometries
* Integration with adjacent structures
**Major Assumptions**
* Segments are ordered from front to back
* Adjacent segments form smooth transitions
* Cross-sections are defined using super-ellipse parameters
**Definitions**
'Stack'
Series of cross-sectional segments arranged longitudinally to define
the nacelle shape
'Cross-section'
Individual segment defining the nacelle shape at a specific longitudinal station
See Also
--------
RCAIDE.Library.Components.Nacelles.Nacelle
Base nacelle class
RCAIDE.Library.Components.Nacelles.Segments.Segment
Individual segments used to build the stack
RCAIDE.Library.Components.Nacelles.Body_of_Revolution_Nacelle
Alternative nacelle design approach
"""
def __defaults__(self):
"""
Sets default values for the stack nacelle attributes.
"""
self.tag = 'stack_nacelle'
self.segments = Container()
[docs]
def append_segment(self, segment):
"""
Adds a new segment to the nacelle's segment container.
Parameters
----------
segment : Data
Cross-sectional segment to be added to the nacelle definition
"""
# Assert database type
if not isinstance(segment,RCAIDE.Library.Components.Nacelles.Segments.Segment):
raise Exception('input component must be of type Segment')
# Store data
self.segments.append(segment)
return