RCAIDE.Library.Components.Powertrain.Converters.Ducted_Fan

Ducted_Fan#

class Ducted_Fan(*args, **kwarg)[source]#

Bases: Converter

Ducted Fan Component Class

This class models a ducted fan propulsion system with both rotor and stator components. It inherits from the base Converter class and implements ducted-fan specific attributes and methods.

tag#

Identifier for the ducted fan component, defaults to ‘ducted_fan’

Type:

str

number_of_radial_stations#

Number of radial stations for blade element analysis, defaults to 20

Type:

int

number_of_rotor_blades#

Number of rotor blades, defaults to 12

Type:

int

tip_radius#

Outer radius of the rotor [m], defaults to 1.0

Type:

float

hub_radius#

Inner radius of the rotor at hub [m], defaults to 0.1

Type:

float

exit_radius#

Radius at the duct exit [m], defaults to 1.1

Type:

float

blade_clearance#

Clearance between blade tip and duct wall [m], defaults to 0.01

Type:

float

length#

Axial length of the ducted fan [m], defaults to 1.0

Type:

float

fan_effectiveness#

Fan effectiveness factor [-], defaults to 1.1

Type:

float

Cp_polynomial_coefficients#

Coefficients for power coefficient polynomial [-, -, -]

Type:

list

Ct_polynomial_coefficients#

Coefficients for thrust coefficient polynomial [-, -, -]

Type:

list

etap_polynomial_coefficients#

Coefficients for propulsive efficiency polynomial [-, -, -]

Type:

list

fidelity#

Analysis fidelity level, either ‘Blade_Element_Momentum_Theory’ or ‘Rankine_Froude_Momentum_Theory’

Type:

str

orientation_euler_angles#

Default orientation angles of rotor [rad, rad, rad]

Type:

list

rotor#

Container for rotor geometry and performance data

Type:

Data

stator#

Container for stator geometry and performance data

Type:

Data

cruise#

Container for cruise design conditions

Type:

Data

Notes

The ducted fan model includes detailed geometric parameters and performance characteristics for both the rotor and stator components. The model supports multiple fidelity levels and includes coordinate transformation capabilities for thrust vectoring analysis.

Major Assumptions
  • Axisymmetric flow

  • Steady state operation

  • Incompressible flow for low-fidelity analysis

  • No radial flow

  • Uniform inflow

  • No blade-to-blade interaction

append_duct_airfoil(airfoil)[source]#

Adds an airfoil to the ducted fan’s duct section.

Parameters:

airfoil (Data) – Airfoil data container with aerodynamic properties for the duct section. Must be of type Data().

Return type:

None

Notes

This method appends airfoil data to the duct_airfoil attribute of the ducted fan. The airfoil data is used to model the aerodynamic characteristics of the duct section, which influences the overall performance of the ducted fan system.

Raises:

Exception – If input airfoil is not of type Data()

append_hub_airfoil(airfoil)[source]#

Adds an airfoil to the ducted fan’s hub section.

Parameters:

airfoil (Data) – Airfoil data container with aerodynamic properties for the hub section. Must be of type Data().

Return type:

None

Notes

This method appends airfoil data to the hub_airfoil attribute of the ducted fan. The airfoil data is used to model the aerodynamic characteristics of the hub section, which affects the flow field and performance of the ducted fan system.

Raises:

Exception – If input airfoil is not of type Data()

append_operating_conditions(segment, energy_conditions, noise_conditions=None)[source]#
vec_to_vel()[source]#

Rotates from the ducted fan’s vehicle frame to the ducted fan’s velocity frame.

Parameters:

None

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 ducted fan. When the ducted fan 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

Theory The transformation is accomplished using a rotation of π radians about the Y-axis, represented as a rotation vector [0, π, 0].

Major Assumptions * The ducted fan’s default orientation is aligned with the vehicle body * Right-handed coordinate system is used

body_to_prop_vel(commanded_thrust_vector)[source]#

Rotates from the system’s body frame to the ducted fan’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 ducted fan velocity frame.

  • rots (ndarray) – Array of rotation vectors including commanded thrust angles.

Notes

This method performs a sequence of rotations to transform coordinates from the vehicle body frame to the ducted fan’s velocity frame. The transformation sequence is: 1. Body to vehicle frame (π rotation about Y-axis) 2. Vehicle to ducted fan vehicle frame (includes thrust vector rotation) 3. Ducted fan vehicle to ducted fan velocity frame

Reference frames: 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

Theory The complete transformation is computed as: rot_mat = (body_2_vehicle @ vehicle_2_duct_vec) @ duct_vec_2_duct_vel

Major Assumptions * The ducted fan’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

duct_vel_to_body(commanded_thrust_vector)[source]#

Rotates from the ducted fan’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 ducted fan velocity frame to body frame.

  • rots (ndarray) – Array of rotation vectors including commanded thrust angles.

Notes

This method performs the inverse transformation sequence of body_to_prop_vel. The transformation sequence is: 1. Ducted fan velocity to ducted fan vehicle frame 2. Ducted fan vehicle to vehicle frame (includes thrust vector rotation) 3. Vehicle to body frame (π rotation about Y-axis)

Reference frames: 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

Theory The transformation is computed by inverting the rotation matrix from body_to_prop_vel using: rot_mat = (body_2_duct_vel)^(-1)

Major Assumptions * The ducted fan’s default orientation is defined by orientation_euler_angles * Right-handed coordinate system is used * Thrust vector rotation is applied about the Y-axis

vec_to_duct_body(commanded_thrust_vector)[source]#