RCAIDE.Library.Methods.Powertrain.Converters.Rotor.Performance.Blade_Element_Momentum_Theory_Helmholtz_Wake.BEMT_Helmholtz_performance
BEMT_Helmholtz_performance#
- BEMT_Helmholtz_performance(rotor, conditions)[source]#
Analyzes a general rotor given geometry and operating conditions using Blade Element Momentum Theory with a Helmholtz Vortex Wake Prescription.
- Parameters:
rotor (Data) –
- Rotor component with the following attributes:
- number_of_bladesint
Number of blades on the rotor
- tip_radiusfloat
Tip radius of the rotor [m]
- hub_radiusfloat
Hub radius of the rotor [m]
- twist_distributionarray_like
Blade twist distribution [radians]
- chord_distributionarray_like
Blade chord distribution [m]
- sweep_distributionarray_like
Blade sweep distribution [m]
- radius_distributionarray_like
Radial station positions [m]
- thickness_to_chordarray_like
Thickness-to-chord ratio at each radial station
- airfoil_polar_stationsarray_like
Indices of airfoil polars for each radial station
- airfoilsdict
Dictionary of airfoil objects
- number_azimuthal_stationsint
Number of azimuthal stations for 2D analysis
- nonuniform_freestreambool
Flag for nonuniform freestream velocity
- use_2d_analysisbool
Flag to use 2D (azimuthal) analysis
- body_to_prop_velfunction
Function to transform velocity from body to propeller frame
- orientation_euler_angleslist
Orientation of the rotor [rad, rad, rad]
conditions (Data) –
- Flight conditions with:
- freestreamData
- Freestream properties
- densityarray_like
Air density [kg/m³]
- dynamic_viscosityarray_like
Dynamic viscosity [kg/(m·s)]
- speed_of_soundarray_like
Speed of sound [m/s]
- temperaturearray_like
Temperature [K]
- framesData
- Reference frames
- bodyData
Body frame - transform_to_inertial : array_like
Rotation matrix from body to inertial frame
- inertialData
Inertial frame - velocity_vector : array_like
Velocity vector in inertial frame [m/s]
- energyData
- Energy conditions
- convertersdict
Converter energy conditions indexed by tag - commanded_thrust_vector_angle : array_like
Commanded thrust vector angle [rad]
- blade_pitch_commandarray_like
Blade pitch command [rad]
- omegaarray_like
Angular velocity [rad/s]
- throttlearray_like
Throttle setting [0-1]
- design_flagbool
Flag indicating design condition
- Return type:
None
Notes
This function implements the Blade Element Momentum Theory (BEMT) with a Helmholtz Vortex Wake model to analyze rotor performance. It calculates detailed aerodynamic properties at each blade element and azimuthal position, accounting for 3D wake effects.
- The computation follows these steps:
Extract rotor parameters and operating conditions
Transform velocity from inertial to rotor frame
Set up the blade geometry (radial and azimuthal distributions)
Initialize induced velocities
Include effects of rotor incidence and external velocity fields if specified
Compute wake-induced inflow velocities using the Helmholtz wake model
Calculate aerodynamic forces (lift, drag) at each blade element
Compute circulation, thrust, and torque distributions
Apply tip loss corrections
Calculate integrated performance metrics (thrust, power, efficiency)
Store results in the conditions data structure
- Major Assumptions
The wake is modeled using Helmholtz vortex filaments
Blade element theory is used to compute local aerodynamic forces
Tip losses are modeled using the Prandtl tip loss function
Compressibility effects are accounted for through Mach number corrections
Reynolds number effects on airfoil performance are included
Theory The Helmholtz wake model represents the wake as a system of vortex filaments that satisfy Helmholtz’s vortex theorems. The induced velocities at each blade element are computed by applying the Biot-Savart law to these vortex filaments.
- The blade forces are calculated using:
Lift: \(L = 0.5\cdot\rho\cdot W^2\cdot c\cdot Cl\)
Drag: \(D = 0.5\cdot\rho\cdot W^2\cdot c\cdot Cd\)
Circulation: \(\Gamma = 0.5\cdot W\cdot c\cdot Cl\)
- where:
ρ is density
W is relative velocity
c is chord
Cl is lift coefficient
Cd is drag coefficient
Γ is circulation
The thrust and torque are then computed by resolving these forces perpendicular and parallel to the rotor plane, respectively.
References
[1] Drela, M. “Qprop Formulation”, MIT AeroAstro, June 2006 http://web.mit.edu/drela/Public/web/qprop/qprop_theory.pdf [2] Leishman, Gordon J. Principles of helicopter aerodynamicsCambridge university press, 2006.