Source code for RCAIDE.Library.Components.Nacelles.Body_of_Revolution_Nacelle
# RCAIDE/Compoments/Nacelles/Body_of_Revolution_Nacelle.py
#
# Created: Mar 2024, M. Clarke
# ----------------------------------------------------------------------------------------------------------------------
# IMPORT
# ----------------------------------------------------------------------------------------------------------------------
# RCAIDE imports
import RCAIDE
from RCAIDE.Framework.Core import Data
from .Nacelle import Nacelle
# ----------------------------------------------------------------------------------------------------------------------
# Body_of_Revolution_Nacelle
# ----------------------------------------------------------------------------------------------------------------------
[docs]
class Body_of_Revolution_Nacelle(Nacelle):
"""
A nacelle design generated by rotating an airfoil profile around a central axis,
commonly used for podded engine installations.
Attributes
----------
tag : str
Unique identifier for the nacelle component, defaults to 'body_of_revolution_nacelle'
Airfoil : Data
Container for airfoil profile data used to generate the nacelle shape,
defaults to empty Data()
Notes
-----
A body of revolution nacelle is created by rotating an airfoil section about a
central axis, creating an axisymmetric shape. This approach is commonly used for:
* Podded engine installations
* Streamlined auxiliary power unit enclosures
* External fuel tank designs
**Major Assumptions**
* Axisymmetric geometry
* Smooth surface transitions
* No significant flow separation
**Definitions**
'Body of Revolution'
A three-dimensional shape created by rotating a two-dimensional profile
around a central axis
'Highlight Radius'
The radius at the forward-most point of the nacelle inlet
See Also
--------
RCAIDE.Library.Components.Nacelles.Nacelle
Base nacelle class
RCAIDE.Library.Components.Nacelles.Stack_Nacelle
Alternative nacelle design approach
"""
def __defaults__(self):
"""
Sets default values for the body of revolution nacelle attributes.
"""
self.tag = 'body_of_revolution_nacelle'
self.Airfoil = None
[docs]
def append_airfoil(self, airfoil):
"""
Adds an airfoil profile to the nacelle definition.
Parameters
----------
airfoil : Data
Airfoil profile data to be used in generating the nacelle shape
"""
# Assert database type
if not isinstance(airfoil,RCAIDE.Library.Components.Airfoils.Airfoil):
raise Exception('input component must be of type Airfoil')
# Store data
self.airfoil = airfoil
return