wave_drag.py

@File : wave_drag.py @Date : 2023/04/17 @Author : Eytan Adler @Description : Compute wave drag

class openconcept.aerodynamics.openaerostruct.wave_drag.WaveDragFromSections(**kwargs)

Bases: ExplicitComponent

Compute the wave drag given a section-based geometry definition for an OpenAeroStruct mesh. This uses the same wave drag approximation as OpenAeroStruct, based on the Korn equation. Unlike OpenAeroStruct, it allows easy computation of wave drag for only a portion of the wing, which is useful for BWBs.

Inputs:
  • fltcond|M (float) – Mach number (vector of lenght num_nodes, dimensionless)

  • fltcond|CL (float) – Lift coefficient (vector of lenght num_nodes, dimensionless)

  • y_sec (float) – Spanwise location of each section, starting with the outboard section (wing tip) at the MOST NEGATIVE y value and moving inboard (increasing y value) toward the root; the user does not provide a value for the root because it is always 0.0 (vector of length num_sections - 1, m)

  • chord_sec (float) – Chord of each section, starting with the outboard section (wing tip) and moving inboard toward the root (vector of length num_sections, m)

  • toverc_sec (float) – Thickness-to-chord ratio of each section, starting with the outboard section (wing tip) and moving inboard toward the root (vector of length num_sections, m)

  • c4sweep (float) – Average quarter-chord sweep of the wing’s region of interest (from idx_sec_start to idx_sec_end); can be computed using OpenConcept’s WingSweepFromSections component in the geometry directory (scalar, deg)

  • S_ref (float) – If specify_area_norm set to True, this input provides the area by which to normalize the drag coefficient (scalar, sq m)

Outputs:

CD_wave (float) – Wave drag coefficient of the specified wing region normalized by the planform area of that region, unless specify_norm is set to True, in which case it is normalized by the planform area of the whole wing (scalar, dimensionless)

Options:
  • num_nodes (int) – Number of analysis points per phase

  • num_sections (int) – Number of spanwise sections to define planform shape (scalar, dimensionless)

  • idx_sec_start (int) – Index in the inputs to begin the average sweep calculation (negative indices not accepted), inclusive, by default 0

  • idx_sec_end (int) – Index in the inputs to end the average sweep calculation (negative indices not accepted), inclusive, by default num_sections - 1

  • specify_area_norm (bool) – Add an input which determines the area by which to normalize the drag coefficient, otherwise will normalize by the area of the specified region, by default False

  • airfoil_tech_level (float) – Airfoil technology level, by default 0.95