Source code for RCAIDE.Library.Methods.Powertrain.Converters.Ducted_Fan.append_ducted_fan_conditions
# RCAIDE/Library/Methods/Powertrain/Converters/Ducted_Fan/append_ducted_fan_conditions.py
# (c) Copyright 2023 Aerospace Research Community LLC
#
# Created: Jun 2024, M. Clarke
from RCAIDE.Framework.Mission.Common import Conditions
# ----------------------------------------------------------------------------------------------------------------------
# append_ducted_fan_conditions
# ----------------------------------------------------------------------------------------------------------------------
[docs]
def append_ducted_fan_conditions(ducted_fan,segment,energy_conditions,noise_conditions=None):
"""
Initializes ducted fan operating conditions for a mission segment.
Parameters
----------
ducted_fan : Converter
Ducted fan component for which conditions are being initialized
segment : Segment
Mission segment containing the state conditions
energy_conditions : Conditions
Container for energy system operating conditions
Returns
-------
None
Modifies energy_conditions in-place by adding ducted-fan-specific conditions
Notes
-----
This function initializes arrays for key ducted fan operating parameters during
a mission segment. The conditions are stored in a nested structure under the
ducted fan's tag within energy_conditions.
The following conditions are initialized:
- orientation : array(3)
Fan orientation angles [rad]
- commanded_thrust_vector_angle : array(1)
Commanded thrust vectoring angle [rad]
- torque : array(1)
Shaft torque [N-m]
- throttle : array(1)
Throttle setting [-]
- thrust : array(1)
Net thrust [N]
- rpm : array(1)
Rotor speed [RPM]
- omega : array(1)
Angular velocity [rad/s]
- disc_loading : array(1)
Thrust per unit disc area [N/m^2]
- power_loading : array(1)
Power per unit disc area [W/m^2]
- tip_mach : array(1)
Blade tip Mach number [-]
- efficiency : array(1)
Overall efficiency [-]
- figure_of_merit : array(1)
Hovering figure of merit [-]
- power_coefficient : array(1)
Non-dimensional power coefficient [-]
**Major Assumptions**
* All conditions except throttle are initialized as zero arrays
* Throttle is initialized as ones array
* Array length matches the segment state vector length
* Conditions are stored using the ducted fan's tag as the dictionary key
See Also
--------
RCAIDE.Library.Components.Powertrain.Converters.Ducted_Fan
RCAIDE.Library.Methods.Powertrain.Converters.Ducted_Fan.compute_ducted_fan_performance
"""
ones_row = segment.state.ones_row
energy_conditions.converters[ducted_fan.tag] = Conditions()
energy_conditions.converters[ducted_fan.tag].orientation = 0. * ones_row(3)
energy_conditions.converters[ducted_fan.tag].commanded_thrust_vector_angle = 0. * ones_row(1)
energy_conditions.converters[ducted_fan.tag].torque = 0. * ones_row(1)
energy_conditions.converters[ducted_fan.tag].throttle = ones_row(1)
energy_conditions.converters[ducted_fan.tag].thrust = 0. * ones_row(1)
energy_conditions.converters[ducted_fan.tag].rpm = 0. * ones_row(1)
energy_conditions.converters[ducted_fan.tag].omega = 0. * ones_row(1)
energy_conditions.converters[ducted_fan.tag].disc_loading = 0. * ones_row(1)
energy_conditions.converters[ducted_fan.tag].power_loading = 0. * ones_row(1)
energy_conditions.converters[ducted_fan.tag].tip_mach = 0. * ones_row(1)
energy_conditions.converters[ducted_fan.tag].efficiency = 0. * ones_row(1)
energy_conditions.converters[ducted_fan.tag].figure_of_merit = 0. * ones_row(1)
energy_conditions.converters[ducted_fan.tag].power_coefficient = 0. * ones_row(1)
return