aerosandbox.library.aerodynamics.viscous#

Module Contents#

Functions#

Cd_cylinder(Re_D[, mach, include_mach_effects, ...])

Returns the drag coefficient of a cylinder in crossflow as a function of its Reynolds number and Mach.

Cf_flat_plate(Re_L[, method])

Returns the mean skin friction coefficient over a flat plate.

Cl_flat_plate(alpha[, Re_c])

Returns the approximate lift coefficient of a flat plate, following thin airfoil theory.

Cd_flat_plate_normal()

Returns the drag coefficient of a flat plat oriented normal to the flow (i.e., alpha = 90 deg).

Cl_2412(alpha, Re_c)

Cd_profile_2412(alpha, Re_c)

Cl_e216(alpha, Re_c)

Cd_profile_e216(alpha, Re_c)

Cd_wave_e216(Cl, mach[, sweep])

A curve fit I did to Eppler 216 airfoil data.

Cl_rae2822(alpha, Re_c)

Cd_profile_rae2822(alpha, Re_c)

Cd_wave_rae2822(Cl, mach[, sweep])

A curve fit I did to RAE2822 airfoil data.

fuselage_upsweep_drag_area(upsweep_angle_rad, ...)

Calculates the drag area (in m^2) of the aft end of a fuselage with a given upsweep angle.

aerosandbox.library.aerodynamics.viscous.Cd_cylinder(Re_D, mach=0.0, include_mach_effects=True, subcritical_only=False)[source]#

Returns the drag coefficient of a cylinder in crossflow as a function of its Reynolds number and Mach.

Parameters:
  • Re_D (float) – Reynolds number, referenced to diameter

  • mach (float) – Mach number

  • include_mach_effects – If this is set False, it assumes Mach = 0, which simplifies the computation.

  • subcritical_only – Determines whether the model models purely subcritical (Re < 300k) cylinder flows. Useful, since

Return type:

float

this model is now convex and can be more well-behaved.

Returns:

# TODO rework this function to use tanh blending, which will mitigate overflows

aerosandbox.library.aerodynamics.viscous.Cf_flat_plate(Re_L, method='hybrid-sharpe-convex')[source]#

Returns the mean skin friction coefficient over a flat plate.

Don’t forget to double it (two sides) if you want a drag coefficient.

Parameters:
  • Re_L (float) – Reynolds number, normalized to the length of the flat plate.

  • method

    The method of computing the skin friction coefficient. One of:

    • ”blasius”: Uses the Blasius solution. Citing Cengel and Cimbala, “Fluid Mechanics: Fundamentals and

    Applications”, Table 10-4.

    Valid approximately for Re_L <= 5e5.

    • ”turbulent”: Uses turbulent correlations for smooth plates. Citing Cengel and Cimbala,

    ”Fluid Mechanics: Fundamentals and Applications”, Table 10-4.

    Valid approximately for 5e5 <= Re_L <= 1e7.

    • ”hybrid-cengel”: Uses turbulent correlations for smooth plates, but accounts for a

    non-negligible laminar run at the beginning of the plate. Citing Cengel and Cimbala, “Fluid Mechanics: Fundamentals and Applications”, Table 10-4. Returns: Mean skin friction coefficient over a flat plate.

    Valid approximately for 5e5 <= Re_L <= 1e7.

    • ”hybrid-schlichting”: Schlichting’s model, that roughly accounts for a non-negligtible laminar run.

    Citing “Boundary Layer Theory” 7th Ed., pg. 644

    • ”hybrid-sharpe-convex”: A hybrid model that blends the Blasius and Schlichting models. Convex in

    log-log space; however, it may overlook some truly nonconvex behavior near transitional Reynolds numbers.

    • ”hybrid-sharpe-nonconvex”: A hybrid model that blends the Blasius and Cengel models. Nonconvex in

    log-log-space; however, it may capture some truly nonconvex behavior near transitional Reynolds numbers.

Returns:

The skin friction coefficient, normalized to the length of the plate.

Return type:

C_f

You can view all of these functions graphically using aerosandbox.library.aerodynamics.test_aerodynamics.test_Cf_flat_plate.py

aerosandbox.library.aerodynamics.viscous.Cl_flat_plate(alpha, Re_c=None)[source]#

Returns the approximate lift coefficient of a flat plate, following thin airfoil theory. :param alpha: Angle of attack [deg] :param Re_c: Reynolds number, normalized to the length of the flat plate. :return: Approximate lift coefficient.

aerosandbox.library.aerodynamics.viscous.Cd_flat_plate_normal()[source]#

Returns the drag coefficient of a flat plat oriented normal to the flow (i.e., alpha = 90 deg).

Uses results from Tian, Xinliang, Muk Chen Ong, Jianmin Yang, and Dag Myrhaug. “Large-Eddy Simulation of the Flow Normal to a Flat Plate Including Corner Effects at a High Reynolds Number.” Journal of Fluids and Structures 49 ( August 2014): 149–69. https://doi.org/10.1016/j.jfluidstructs.2014.04.008.

Note: Cd for this case is effectively invariant of Re.

Returns: Drag coefficient

aerosandbox.library.aerodynamics.viscous.Cl_2412(alpha, Re_c)[source]#
aerosandbox.library.aerodynamics.viscous.Cd_profile_2412(alpha, Re_c)[source]#
aerosandbox.library.aerodynamics.viscous.Cl_e216(alpha, Re_c)[source]#
aerosandbox.library.aerodynamics.viscous.Cd_profile_e216(alpha, Re_c)[source]#
aerosandbox.library.aerodynamics.viscous.Cd_wave_e216(Cl, mach, sweep=0.0)[source]#

A curve fit I did to Eppler 216 airfoil data. Within -0.4 < CL < 0.75 and 0 < mach < ~0.9, has R^2 = 0.9982. See: C:ProjectsGitHubfirefly_aerodynamicsMSES Interfaceanalysise216 :param Cl: Lift coefficient :param mach: Mach number :param sweep: Sweep angle, in deg :return: Wave drag coefficient.

aerosandbox.library.aerodynamics.viscous.Cl_rae2822(alpha, Re_c)[source]#
aerosandbox.library.aerodynamics.viscous.Cd_profile_rae2822(alpha, Re_c)[source]#
aerosandbox.library.aerodynamics.viscous.Cd_wave_rae2822(Cl, mach, sweep=0.0)[source]#

A curve fit I did to RAE2822 airfoil data. Within -0.4 < CL < 0.75 and 0 < mach < ~0.9, has R^2 = 0.9982. See: C:ProjectsGitHubfirefly_aerodynamicsMSES Interfaceanalysisrae2822 :param Cl: Lift coefficient :param mach: Mach number :param sweep: Sweep angle, in deg :return: Wave drag coefficient.

aerosandbox.library.aerodynamics.viscous.fuselage_upsweep_drag_area(upsweep_angle_rad, fuselage_xsec_area_max)[source]#

Calculates the drag area (in m^2) of the aft end of a fuselage with a given upsweep angle.

Upsweep is the characteristic shape seen on the aft end of many fuselages in transport aircraft, where the centerline of the fuselage is angled upwards near the aft end. This is done to reduce the required landing gear height for adequate takeoff rotation, which in turn reduces mass. This nonzero centerline angle can cause some separation drag, which is predicted here.

Equation is from Raymer, Aircraft Design: A Conceptual Approach, 5th Ed., Eq. 12.36, pg. 440.

Parameters:
  • upsweep_angle_rad (float) – The upsweep angle of the aft end of the fuselage relative to the centerline, in radians.

  • fuselage_xsec_area_max (float) – The maximum cross-sectional area of the fuselage, in m^2.

Return type:

float

Returns: The drag area of the aft end of the fuselage [m^2]. This is equivalent to D/q, where D is the drag force and q is the dynamic pressure.