RCAIDE.Library.Components.Powertrain.Converters.Rotor
Rotor#
- class Rotor(*args, **kwarg)[source]#
Bases:
Component
A generalized rotor component model serving as the base class for various rotary propulsion devices.
- tag#
Identifier for the rotor. Default is ‘rotor’.
- Type:
str
- number_of_blades#
Number of rotor blades. Default is 0.0.
- Type:
float
- tip_radius#
Outer radius of the rotor [m]. Default is 0.0.
- Type:
float
- hub_radius#
Inner radius of the rotor at hub [m]. Default is 0.0.
- Type:
float
- twist_distribution#
Blade twist angle distribution [rad]. Default is 0.0.
- Type:
float
- sweep_distribution#
Quarter chord sweep distribution [m]. Default is 0.0.
- Type:
float
- chord_distribution#
Blade chord length distribution [m]. Default is 0.0.
- Type:
float
- thickness_to_chord#
Ratio of blade thickness to chord. Default is 0.0.
- Type:
float
- max_thickness_distribution#
Maximum thickness distribution along blade [m]. Default is 0.0.
- Type:
float
- radius_distribution#
Radial stations along blade [m]. Default is None.
- Type:
ndarray
- mid_chord_alignment#
Mid-chord line alignment [m]. Default is 0.0.
- Type:
float
- blade_solidity#
Ratio of total blade area to rotor disk area. Default is 0.0.
- Type:
float
- flap_angle#
Blade flapping angle [rad]. Default is 0.0.
- Type:
float
- number_azimuthal_stations#
Number of azimuthal calculation points. Default is 16.
- Type:
int
- vtk_airfoil_points#
Number of points for VTK airfoil visualization. Default is 40.
- Type:
int
- Airfoils#
Container for blade airfoil definitions. Default is empty container.
- Type:
- airfoil_polar_stations#
Radial stations for airfoil polars. Default is None.
- Type:
ndarray
- induced_power_factor#
Factor accounting for non-ideal induced power. Default is 1.48.
- Type:
float
- profile_drag_coefficient#
Mean blade profile drag coefficient. Default is 0.03.
- Type:
float
- clockwise_rotation#
Direction of rotation. Default is True.
- Type:
bool
- phase_offset_angle#
Initial blade phase angle [rad]. Default is 0.0.
- Type:
float
- orientation_euler_angles#
Angles defining rotor orientation [rad]. Default is [0.,0.,0.].
- Type:
list
- blade_pitch_command#
Commanded blade pitch angle [rad]. Default is 0.0.
- Type:
float
- ducted#
Flag for ducted rotor configuration. Default is False.
- Type:
bool
- sol_tolerance#
Solution convergence tolerance. Default is 1e-8.
- Type:
float
- use_2d_analysis#
Flag for 2D aerodynamic analysis. Default is False.
- Type:
bool
- nonuniform_freestream#
Flag for nonuniform inflow conditions. Default is False.
- Type:
bool
Notes
The Rotor class provides a comprehensive framework for modeling rotary propulsion devices including:
Geometric definition of rotor and blades
Aerodynamic performance calculation
Wake modeling capabilities
Blade element analysis
Performance optimization
Acoustic analysis
- Major Assumptions
Rigid blade structure
Quasi-steady aerodynamics
Small angle approximations for flapping
Linear blade twist and taper
Uniform inflow (unless nonuniform_freestream is True)
Theory
- The rotor model combines:
Blade Element Momentum Theory
Prescribed/Free Wake Analysis
Acoustic Propagation Models
Performance Optimization Methods
Definitions
- ‘Blade Solidity’
Ratio of total blade area to rotor disk area
- ‘Induced Power Factor’
Correction for non-ideal induced power effects
- ‘Phase Offset’
Initial azimuthal position of reference blade
See also
RCAIDE.Library.Components.Powertrain.Converters.Propeller
,RCAIDE.Library.Components.Powertrain.Converters.Lift_Rotor
,RCAIDE.Library.Components.Powertrain.Converters.Prop_Rotor
- append_airfoil(airfoil)[source]#
Adds an airfoil to the segment
Assumptions: None
Source: N/A
Inputs: None
Outputs: None
Properties Used: N/A
- vec_to_vel()[source]#
Rotates from the rotor’s vehicle frame to the rotor’s velocity frame.
- Returns:
rot_mat – 3x3 rotation matrix transforming from vehicle frame to velocity frame.
- Return type:
ndarray
Notes
This method creates a rotation matrix for transforming coordinates between two reference frames of the rotor. When rotor is axially aligned with the vehicle body.
Velocity frame:
X-axis points out the nose
Z-axis points towards the ground
Y-axis points out the right wing
Vehicle frame:
X-axis points towards the tail
Z-axis points towards the ceiling
Y-axis points out the right wing
Major Assumptions
The rotor’s default orientation is aligned with the vehicle body
Right-handed coordinate system is used
Small angle approximations are not used
Rotation sequence is fixed
- body_to_prop_vel(commanded_thrust_vector)[source]#
Rotates from the system’s body frame to the rotor’s velocity frame.
- Parameters:
commanded_thrust_vector (ndarray) – Vector of commanded thrust angles [rad] for each time step.
- Returns:
rot_mat (ndarray) – 3x3 rotation matrix transforming from body frame to rotor velocity frame.
rots (ndarray) – Array of rotation vectors including commanded thrust angles and orientation.
Notes
This method performs a sequence of rotations to transform coordinates from the vehicle body frame to the rotor’s velocity frame. The transformation sequence is:
Body to vehicle frame (π rotation about Y-axis)
Vehicle to rotor vehicle frame (includes thrust vector and orientation)
Rotor vehicle to rotor velocity frame
Theory The complete transformation is computed as: .. math:
R_{total} = (R_{body2vehicle} R_{vehicle2rotor}) R_{rotor2vel}
Where:
R_{body2vehicle} is a π rotation about Y-axis
R_{vehicle2rotor} includes orientation_euler_angles and thrust command
R_{rotor2vel} is from vec_to_vel()
Velocity frame:
X-axis points out the nose
Z-axis points towards the ground
Y-axis points out the right wing
Vehicle frame:
X-axis points towards the tail
Z-axis points towards the ceiling
Y-axis points out the right wing
Major Assumptions
The rotor’s default orientation is defined by orientation_euler_angles
Right-handed coordinate system is used
Thrust vector rotation is applied about the Y-axis
Matrix multiplication order preserves proper transformation sequence
Euler angle sequence is fixed
- prop_vel_to_body(commanded_thrust_vector)[source]#
Rotates from the rotor’s velocity frame to the system’s body frame.
- Parameters:
commanded_thrust_vector (ndarray) – Vector of commanded thrust angles [rad] for each time step.
- Returns:
rot_mat (ndarray) – 3x3 rotation matrix transforming from rotor velocity frame to body frame.
rots (ndarray) – Array of rotation vectors including commanded thrust angles and orientation.
Notes
This method performs the inverse transformation sequence of body_to_prop_vel. The transformation sequence is:
Rotor velocity to rotor vehicle frame
Rotor vehicle to vehicle frame (includes thrust vector and orientation)
Vehicle to body frame (π rotation about Y-axis)
Theory The complete transformation is computed as: .. math:
R_{total} = (R_{body2propvel})^{-1}
Velocity frame:
X-axis points out the nose
Z-axis points towards the ground
Y-axis points out the right wing
Vehicle frame:
X-axis points towards the tail
Z-axis points towards the ceiling
Y-axis points out the right wing
Major Assumptions
The rotor’s default orientation is defined by orientation_euler_angles
Right-handed coordinate system is used
Thrust vector rotation is applied about the Y-axis
Rotation matrices are orthogonal (inverse = transpose)
Euler angle sequence is fixed