Source code for RCAIDE.Library.Methods.Aerodynamics.Airfoil_Panel_Method.panel_geometry
# RCAIDE/Methods/Aerodynamics/Airfoil_Panel_Method/panel_geometry.py
#
#
# Created: Dec 2023, M. Clarke
# ----------------------------------------------------------------------------------------------------------------------
# IMPORT
# ----------------------------------------------------------------------------------------------------------------------
# pacakge imports
import numpy as np
# ----------------------------------------------------------------------------------------------------------------------
# panel_geometry
# ----------------------------------------------------------------------------------------------------------------------
[docs]
def panel_geometry(x,y,npanel,ncases,ncpts):
"""Computes airfoil surface panelization parameters for later use in
the computation of the matrix of influence coefficients.
Assumptions:
None
Source:
None
Inputs:
x - Vector of x coordinates of the surface nodes [unitless]
y - Vector of y coordinates of the surface nodes [unitless]
npanel - Number of panels on the airfoil [unitless]
Outputs:
l - Panel lengths [unitless]
st - np.sin(theta) for each panel [radians]
ct - np.cos(theta) for each panel [radians]
xbar - x-coordinate of the midpoint of each panel [unitless]
ybar - y-coordinate of the midpoint of each panel [unitless]
Properties Used:
N/A
"""
# compute various geometrical quantities
l = np.sqrt((x[1:] -x[:-1])**2 +(y[1:] -y[:-1])**2)
st = (y[1:] -y[:-1])/l
ct = (x[1:] -x[:-1])/l
xbar = (x[1:] +x[:-1])/2
ybar = (y[1:] +y[:-1])/2
norm = np.zeros((npanel,2,ncases,ncpts))
norm[:,0,:,:] = -st
norm[:,1,:,:] = ct
return l,st,ct,xbar,ybar,norm