RCAIDE.Library.Methods.Powertrain.Converters.Rotor.Performance.Blade_Element_Momentum_Theory_Helmholtz_Wake.wake_model

wake_model#

Functions

compute_dR_dpsi(PSI, wake_inputs, rotor)

Computes the analytical derivative for the BEVW iteration.

evaluate_slipstream(rotor, rotor_conditions, ...)

Evaluates the velocities induced by the rotor on a specified wing of the vehicle.

evaluate_wake(rotor, wake_inputs, conditions)

Evaluates the rotor wake using Helmholtz vortex theory.

evaluate_wake_velocities(rotor, ...)

Links the rotor wake to compute the wake-induced velocities at the specified evaluation points.

iteration(PSI, wake_inputs, rotor)

Computes the BEVW iteration.

va_vt(PSI, wake_inputs, rotor)

Computes the inflow velocities

wake_convergence(rotor, wake_inputs)

Wake evaluation is performed using a simplified vortex wake method for Fidelity Zero, following Helmholtz vortex theory.

evaluate_wake(rotor, wake_inputs, conditions)[source]#

Evaluates the rotor wake using Helmholtz vortex theory.

Parameters:
  • rotor (RCAIDE.Library.Components.Powertrain.Converters.Rotor) –

    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]

    • sol_tolerancefloat

      Solution tolerance for wake convergence

  • wake_inputs (Data) –

    Wake input parameters with:
    • ctrl_ptsint

      Number of control points

    • Nrint

      Number of radial stations

    • Naint

      Number of azimuthal stations

    • use_2d_analysisbool

      Flag for 2D (azimuthal) analysis

    • velocity_totalarray_like

      Total velocity magnitude [m/s]

    • velocity_axialarray_like

      Axial velocity component [m/s]

    • velocity_tangentialarray_like

      Tangential velocity component [m/s]

    • twist_distributionarray_like

      Blade twist distribution [rad]

    • chord_distributionarray_like

      Blade chord distribution [m]

    • radius_distributionarray_like

      Radial station positions [m]

    • speed_of_soundsarray_like

      Speed of sound [m/s]

    • dynamic_viscositiesarray_like

      Dynamic viscosity [kg/(m·s)]

  • conditions (Data) – Flight conditions

Returns:

  • va (array_like) – Axially-induced velocity from rotor wake [m/s]

  • vt (array_like) – Tangentially-induced velocity from rotor wake [m/s]

Notes

This function evaluates the rotor wake using Helmholtz vortex theory to calculate the induced velocities. It solves for the inflow angle (PSI) that satisfies the circulation equation, then computes the axial and tangential induced velocities.

The computation follows these steps:
  1. Initialize the inflow angle (PSI) array

  2. Solve for the inflow angle using a nonlinear equation solver

  3. Calculate the axial and tangential induced velocities from the converged solution

Major Assumptions
  • The wake is modeled using Helmholtz vortex theory

  • The solution converges to a steady state

  • The inflow angle (PSI) is the primary variable being solved for

Theory The wake model is based on Helmholtz vortex theory, which relates the circulation around the blade to the induced velocities in the wake. The key equation being solved is:

\[R = \Gamma - \frac{1}{2}W \cdot c \cdot C_l = 0\]
where:
  • Γ is the circulation

  • W is the relative velocity

  • c is the chord

  • Cl is the lift coefficient

The circulation is related to the tangential induced velocity by:

\[\Gamma = v_t \cdot \frac{4\pi r}{B} \cdot F \cdot \sqrt{1 + \left(\frac{4\lambda_w R}{\pi B r}\right)^2}\]
where:
  • vt is the tangential induced velocity

  • r is the radial position

  • B is the number of blades

  • F is the tip loss factor

  • λw is the inflow ratio

References

[1] Drela, M. “Qprop Formulation”, MIT AeroAstro, June 2006 http://web.mit.edu/drela/Public/web/qprop/qprop_theory.pdf

evaluate_slipstream(rotor, rotor_conditions, geometry, ctrl_pts, wing_instance=None)[source]#

Evaluates the velocities induced by the rotor on a specified wing of the vehicle. If no wing instance is specified, uses main wing or last available wing in geometry.

Assumptions: None

Source: N/A

Inputs:

self - rotor wake rotor - rotor geometry - vehicle geometry

Outputs:

wake_V_ind - induced velocity from rotor wake at (VD.XC, VD.YC, VD.ZC)

Properties Used: None

evaluate_wake_velocities(rotor, rotor_conditions, evaluation_points, ctrl_pts)[source]#

Links the rotor wake to compute the wake-induced velocities at the specified evaluation points.

Assumptions: None

Source: N/A

Inputs:

self - rotor wake rotor - rotor evaluation_points - points at which to evaluate the rotor wake-induced velocities

Outputs:

prop_V_wake_ind - induced velocity from rotor wake at (VD.XC, VD.YC, VD.ZC)

Properties Used: None

wake_convergence(rotor, wake_inputs)[source]#

Wake evaluation is performed using a simplified vortex wake method for Fidelity Zero, following Helmholtz vortex theory.

Assumptions: None

Source: Drela, M. “Qprop Formulation”, MIT AeroAstro, June 2006 http://web.mit.edu/drela/Public/web/qprop/qprop_theory.pdf

Inputs:

self - rotor wake rotor - SUAVE rotor wake_inputs.

Ua - Axial velocity Ut - Tangential velocity r - radius distribution

Outputs:

va - axially-induced velocity from rotor wake vt - tangentially-induced velocity from rotor wake

Properties Used: None

iteration(PSI, wake_inputs, rotor)[source]#

Computes the BEVW iteration.

Assumptions: N/A

Source: N/A

Inputs:

B number of rotor blades [-] beta blade twist distribution [-] r radius distribution [m] R tip radius [m] Wt tangential velocity [m/s] Wa axial velocity [m/s] U total velocity [m/s] Ut tangential velocity [m/s] Ua axial velocity [m/s] cos_psi cosine of the inflow angle PSI [-] sin_psi sine of the inflow angle PSI [-] piece output of a step in tip loss calculation [-]

Outputs:

dR_dpsi derivative of residual wrt inflow angle [-]

va_vt(PSI, wake_inputs, rotor)[source]#

Computes the inflow velocities

Assumptions: N/A

Source: N/A

Inputs:

B number of rotor blades [-] beta blade twist distribution [-] r radius distribution [m] R tip radius [m] Wt tangential velocity [m/s] Wa axial velocity [m/s] U total velocity [m/s] Ut tangential velocity [m/s] Ua axial velocity [m/s] cos_psi cosine of the inflow angle PSI [-] sin_psi sine of the inflow angle PSI [-] piece output of a step in tip loss calculation [-]

Outputs:

dR_dpsi derivative of residual wrt inflow angle [-]

compute_dR_dpsi(PSI, wake_inputs, rotor)[source]#

Computes the analytical derivative for the BEVW iteration.

Assumptions: N/A

Source: N/A

Inputs:

B number of rotor blades [-] beta blade twist distribution [-] r radius distribution [m] R tip radius [m] Wt tangential velocity [m/s] Wa axial velocity [m/s] U total velocity [m/s] Ut tangential velocity [m/s] Ua axial velocity [m/s] cos_psi cosine of the inflow angle PSI [-] sin_psi sine of the inflow angle PSI [-] piece output of a step in tip loss calculation [-]

Outputs:

dR_dpsi derivative of residual wrt inflow angle [-]