Source code for RCAIDE.Library.Methods.Powertrain.Converters.Rotor.append_rotor_conditions
# RCAIDE/Library/Methods/Powertrain/Converters/Rotor/append_rotor_conditions.py
#
# Created: Jun 2024, M. Clarke
from RCAIDE.Framework.Mission.Common import Conditions
# ----------------------------------------------------------------------------------------------------------------------
# append_rotor_conditions
# ----------------------------------------------------------------------------------------------------------------------
[docs]
def append_rotor_conditions(rotor, segment, energy_conditions, noise_conditions):
"""
Initializes and appends rotor conditions to the energy and noise conditions dictionaries.
Parameters
----------
rotor : Rotor
The rotor component for which conditions are being initialized.
segment : Segment
The mission segment in which the rotor is operating.
energy_conditions : dict
Dictionary containing energy-related conditions for all propulsion components.
noise_conditions : dict
Dictionary containing noise-related conditions for all propulsion components.
Returns
-------
None
This function modifies the energy_conditions and noise_conditions dictionaries in-place.
Notes
-----
This function creates empty Conditions objects for the rotor's energy and noise
characteristics within the respective dictionaries. These conditions will be populated
during the mission analysis process.
The energy conditions include various performance metrics such as:
- Orientation and thrust vector angle
- Blade pitch command
- Torque, thrust, and throttle settings
- RPM and angular velocity
- Disc and power loading
- Tip Mach number
- Efficiency and figure of merit
- Power coefficient
All values are initialized as zero or one arrays (as appropriate) with the same
length as the segment's state vector.
See Also
--------
RCAIDE.Library.Methods.Powertrain.Converters.Rotor.compute_rotor_performance
"""
ones_row = segment.state.ones_row
energy_conditions.converters[rotor.tag] = Conditions()
energy_conditions.converters[rotor.tag].orientation = 0. * ones_row(3)
energy_conditions.converters[rotor.tag].design_flag = False
energy_conditions.converters[rotor.tag].commanded_thrust_vector_angle = 0. * ones_row(1)
energy_conditions.converters[rotor.tag].blade_pitch_command = ones_row(1) * rotor.blade_pitch_command
energy_conditions.converters[rotor.tag].torque = 0. * ones_row(1)
energy_conditions.converters[rotor.tag].throttle = ones_row(1)
energy_conditions.converters[rotor.tag].thrust = 0. * ones_row(1)
energy_conditions.converters[rotor.tag].rpm = 0. * ones_row(1)
energy_conditions.converters[rotor.tag].omega = 0. * ones_row(1)
energy_conditions.converters[rotor.tag].disc_loading = 0. * ones_row(1)
energy_conditions.converters[rotor.tag].power_loading = 0. * ones_row(1)
energy_conditions.converters[rotor.tag].tip_mach = 0. * ones_row(1)
energy_conditions.converters[rotor.tag].efficiency = 0. * ones_row(1)
energy_conditions.converters[rotor.tag].figure_of_merit = 0. * ones_row(1)
energy_conditions.converters[rotor.tag].power_coefficient = 0. * ones_row(1)
noise_conditions.converters[rotor.tag] = Conditions()
return