aerosandbox.library.aerodynamics.unsteady#

Module Contents#

Functions#

calculate_reduced_time(time, velocity, chord)

Calculates reduced time from time in seconds and velocity history in m/s.

wagners_function(reduced_time)

A commonly used approximation to Wagner's function

kussners_function(reduced_time)

A commonly used approximation to Kussner's function (Sears and Sparks 1941)

indicial_pitch_response(reduced_time, angle_of_attack)

Computes the evolution of the lift coefficient in Wagner's problem which can be interpreted as follows

indicial_gust_response(reduced_time, gust_velocity, ...)

Computes the evolution of the lift coefficient of a flat plate entering a

calculate_lift_due_to_transverse_gust(reduced_time, ...)

Calculates the lift (as a function of reduced time) caused by an arbitrary transverse gust profile

calculate_lift_due_to_pitching_profile(reduced_time, ...)

Calculates the duhamel superposition integral of Wagner's problem.

added_mass_due_to_pitching(reduced_time, angle_of_attack)

This function calculate the lift coefficient due to the added mass of a flat plate

pitching_through_transverse_gust(reduced_time, ...[, ...])

This function calculates the lift as a function of time of a flat plate pitching

top_hat_gust(reduced_time)

A canonical example gust.

sine_squared_gust(reduced_time)

A canonical gust of used by the FAA to show 'compliance with the

gaussian_pitch(reduced_time)

A pitch maneuver resembling a guassian curve

linear_ramp_pitch(reduced_time)

A pitch maneuver resembling a linear ramp

Attributes#

aerosandbox.library.aerodynamics.unsteady.calculate_reduced_time(time, velocity, chord)[source]#

Calculates reduced time from time in seconds and velocity history in m/s. For constant velocity it reduces to s = 2*U*t/c The reduced time is the number of semichords travelled by the airfoil/aircaft i.e. 2 / chord * integral from t0 to t of velocity dt

Parameters:
  • time (float,np.ndarray) – Time in seconds

  • velocity (float,np.ndarray) – Either a constant velocity or array of velocities at corresponding reduced times

  • chord (float) – The chord of the airfoil

Returns:

The reduced time as an ndarray or float similar to the input. The first element is 0.

Return type:

Union[float, aerosandbox.numpy.ndarray]

aerosandbox.library.aerodynamics.unsteady.wagners_function(reduced_time)[source]#

A commonly used approximation to Wagner’s function (Jones, R.T. The Unsteady Lift of a Finite Wing; Technical Report NACA TN-682; NACA: Washington, DC, USA, 1939)

Parameters:

reduced_time (float,np.ndarray) – Equal to the number of semichords travelled. See function calculate_reduced_time

aerosandbox.library.aerodynamics.unsteady.kussners_function(reduced_time)[source]#

A commonly used approximation to Kussner’s function (Sears and Sparks 1941)

Parameters:

reduced_time (float,np.ndarray) – This is equal to the number of semichords travelled. See function calculate_reduced_time

aerosandbox.library.aerodynamics.unsteady.indicial_pitch_response(reduced_time, angle_of_attack)[source]#

Computes the evolution of the lift coefficient in Wagner’s problem which can be interpreted as follows 1) An impulsively started flat plate at constant angle of attack 2) An impuslive change in the angle of attack of a flat plate at constant velocity

The model predicts infinite added mass at the first instant due to the infinite acceleration The delta function term (and therefore added mass) has been ommited in this case. Reduced_time = 0 corresponds to the instance the airfoil pitches/accelerates

Args: reduced_time (float,np.ndarray) : Reduced time, equal to the number of semichords travelled. See function reduced_time angle_of_attack (float) : The angle of attack, in degrees

Parameters:
  • reduced_time (Union[float, aerosandbox.numpy.ndarray]) –

  • angle_of_attack (float) –

aerosandbox.library.aerodynamics.unsteady.indicial_gust_response(reduced_time, gust_velocity, plate_velocity, angle_of_attack=0, chord=1)[source]#

Computes the evolution of the lift coefficient of a flat plate entering a an infinitely long, sharp step gust (Heaveside function) at a constant angle of attack. Reduced_time = 0 corresponds to the instance the gust is entered

(Leishman, Principles of Helicopter Aerodynamics, S8.10,S8.11)

Parameters:
  • reduced_time (float,np.ndarray) – Reduced time, equal to the number of semichords travelled. See function reduced_time

  • gust_velocity (float) – velocity in m/s of the top hat gust

  • velocity (float) – velocity of the thin airfoil entering the gust

  • angle_of_attack (float) – The angle of attack, in degrees

  • chord (float) – The chord of the plate in meters

  • plate_velocity (float) –

aerosandbox.library.aerodynamics.unsteady.calculate_lift_due_to_transverse_gust(reduced_time, gust_velocity_profile, plate_velocity, angle_of_attack=0, chord=1)[source]#

Calculates the lift (as a function of reduced time) caused by an arbitrary transverse gust profile by computing duhamel superposition integral of Kussner’s problem at a constant angle of attack

Parameters:
  • reduced_time (float,np.ndarray) – Reduced time, equal to the number of semichords travelled. See function reduced_time

  • gust_velocity_profile (Callable[[float],float]) – The transverse velocity profile that the flate plate experiences. Must be a function that takes reduced time and returns a velocity

  • plate_velocity (float) – The velocity by which the flat plate enters the gust

  • angle_of_attack (Union[float,Callable[[float],float]]) – The angle of attack, in degrees. Can either be a float for constant angle of attack or a Callable that takes reduced time and returns angle of attack

  • chord (float) – The chord of the plate in meters

Returns:

The lift coefficient history of the flat plate

Return type:

lift_coefficient (np.ndarray)

aerosandbox.library.aerodynamics.unsteady.calculate_lift_due_to_pitching_profile(reduced_time, angle_of_attack)[source]#

Calculates the duhamel superposition integral of Wagner’s problem. Given some arbitrary pitching profile. The lift coefficient as a function of reduced time of a flat plate can be computed using this function

Parameters:
  • reduced_time (float,np.ndarray) – Reduced time, equal to the number of semichords travelled. See function reduced_time

  • angle_of_attack (Callable[[float],float]) – The angle of attack as a function of reduced time of the flat plate. Must be a Callable that takes reduced time and returns angle of attack

Returns:

The lift coefficient history of the flat plate

Return type:

lift_coefficient (np.ndarray)

aerosandbox.library.aerodynamics.unsteady.added_mass_due_to_pitching(reduced_time, angle_of_attack)[source]#

This function calculate the lift coefficient due to the added mass of a flat plate pitching about its midchord while moving at constant velocity.

Parameters:
  • reduced_time (np.ndarray) – Reduced time, equal to the number of semichords travelled. See function reduced_time

  • angle_of_attack (Callable[[float],float]) – The angle of attack as a function of reduced time of the flat plate

Returns:

The lift coefficient history of the flat plate

Return type:

lift_coefficient (np.ndarray)

aerosandbox.library.aerodynamics.unsteady.pitching_through_transverse_gust(reduced_time, gust_velocity_profile, plate_velocity, angle_of_attack, chord=1)[source]#

This function calculates the lift as a function of time of a flat plate pitching about its midchord through an arbitrary transverse gust. It combines Kussner’s gust response with wagners pitch response as well as added mass.

The following physics are accounted for 1) Vorticity shed from the trailing edge due to gust profile 2) Vorticity shed from the trailing edge due to pitching profile 3) Added mass (non-circulatory force) due to pitching about midchord

The following physics are NOT taken accounted for 1) Any type of flow separation 2) Leading edge vorticity shedding 3) Deflected wake due to gust (flat wake assumption)

Parameters:
  • reduced_time (float,np.ndarray) – Reduced time, equal to the number of semichords travelled. See function reduced_time

  • gust_velocity_profile (Callable[[float],float]) – The transverse velocity profile that the flate plate experiences. Must be a function that takes reduced time and returns a velocity

  • plate_velocity (float) – The velocity by which the flat plate enters the gust

  • angle_of_attack (Union[float,Callable[[float],float]]) – The angle of attack, in degrees. Can either be a float for constant angle of attack or a Callable that takes reduced time and returns angle of attack

  • chord (float) – The chord of the plate in meters

Returns:

The lift coefficient history of the flat plate

Return type:

lift_coefficient (np.ndarray)

aerosandbox.library.aerodynamics.unsteady.top_hat_gust(reduced_time)[source]#

A canonical example gust. :param reduced_time: :type reduced_time: float

Returns:

gust_velocity (float)

Parameters:

reduced_time (float) –

Return type:

float

aerosandbox.library.aerodynamics.unsteady.sine_squared_gust(reduced_time)[source]#

A canonical gust of used by the FAA to show ‘compliance with the requirements of Title 14, Code of Federal Regulations (14 CFR) 25.341, Gust and turbulence loads. Section 25.341 specifies the discrete gust and continuous turbulence dynamic load conditions that apply to the airplane and engines.’ :param reduced_time: :type reduced_time: float

Returns:

gust_velocity (float)

Parameters:

reduced_time (float) –

Return type:

float

aerosandbox.library.aerodynamics.unsteady.gaussian_pitch(reduced_time)[source]#

A pitch maneuver resembling a guassian curve :param reduced_time: :type reduced_time: float

Returns:

in degrees

Return type:

angle_of_attack (float)

Parameters:

reduced_time (float) –

aerosandbox.library.aerodynamics.unsteady.linear_ramp_pitch(reduced_time)[source]#

A pitch maneuver resembling a linear ramp :param reduced_time: :type reduced_time: float

Returns:

in degrees

Return type:

angle_of_attack (float)

Parameters:

reduced_time (float) –

aerosandbox.library.aerodynamics.unsteady.time[source]#