wing_planform.py

class openconcept.geometry.wing_planform.WingMACTrapezoidal(**kwargs)

Bases: ExplicitComponent

Compute the mean aerodynamic chord of a trapezoidal planform.

Inputs:
  • S_ref (float) – Wing planform area (scalar, sq m)

  • AR (float) – Wing aspect ratio (scalar, dimensionless)

  • taper (float) – Wing taper ratio (scalar, dimensionless)

Outputs:

MAC (float) – Mean aerodynamic chord of the trapezoidal planform (scalar, m)

class openconcept.geometry.wing_planform.WingSpan(**kwargs)

Bases: ExplicitComponent

Compute the wing span as the square root of wing area times aspect ratio.

Inputs:
  • S_ref (float) – Wing planform area (scalar, sq m)

  • AR (float) – Wing aspect ratio (scalar, dimensionless)

Outputs:

span (float) – Wing span (scalar, m)

class openconcept.geometry.wing_planform.WingAspectRatio(**kwargs)

Bases: ExplicitComponent

Compute the aspect ratio from span and wing area.

Inputs:
  • S_ref (float) – Planform area (scalar, sq m)

  • span (float) – Wing span (scalar, m)

Outputs:

AR (float) – Aspect ratio, weighted by section areas (scalar, deg)

class openconcept.geometry.wing_planform.WingSweepFromSections(**kwargs)

Bases: ExplicitComponent

Compute the average quarter chord sweep angle weighted by section areas by taking in sectional parameters as they would be defined for a sectional OpenAeroStruct mesh. The actual average is of the cosine of the sweep angle, rather than the angle itself. This means that it will always return a positive sweep angle (because it does an arccos), even if the wing is forward swept.

Inputs:
  • x_LE_sec (float) – Streamwise offset of the section’s leading edge, starting with the outboard section (wing tip) and moving inboard toward the root (vector of length num_sections, m)

  • 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)

Outputs:

c4sweep (float) – Average quarter chord sweep, computed as the weighted average of cos(section sweep angle) by section areas and then arccos of the resulting quantity. This means it does not discriminate between forward and backward sweep angles (scalar, deg)

Options:
  • 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

class openconcept.geometry.wing_planform.WingAreaFromSections(**kwargs)

Bases: ExplicitComponent

Compute the planform area of a specified portion of the wing by taking in sectional parameters as they would be defined for a sectional OpenAeroStruct mesh.

NOTE: The area from this component is valid only if the scale_area

option of mesh_gen is set to False! Otherwise, the area computed here will be off by a factor.

Inputs:
  • 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)

Outputs:

S (float) – Planform area of the specified region (scalar, sq m)

Options:
  • 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

  • chord_frac_start (float) – Fraction of the chord (streamwise direction) at which to begin the computed area, by default 0.0

  • chord_frac_end (float) – Fraction of the chord (streamwise direction) at which to end the computed area, by default 1.0

class openconcept.geometry.wing_planform.WingMACFromSections(**kwargs)

Bases: ExplicitComponent

Compute the mean aerodynamic chord of an OpenAeroStruct section geoemtry.

Inputs:
  • x_LE_sec (float) – Streamwise offset of the section’s leading edge, starting with the outboard section (wing tip) and moving inboard toward the root (vector of length num_sections, m)

  • 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)

Outputs:
  • MAC (float) – Mean aerodynamic chord (scalar, m)

  • x_c4MAC (float) – X location of the quarter chord of MAC in the same x coordinates as x_LE_sec (scalar, m)

Options:
  • 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