Source code for RCAIDE.Library.Methods.Aerodynamics.Airfoil_Panel_Method.chordwise_distribution

# RCAIDE/Methods/Aerodynamics/Airfoil_Panel_Method/chordwise_distribution
# 
# 
# Created:  May 2024, Niranjan Nanjappa

# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ----------------------------------------------------------------------------------------------------------------------
# RCAIDE imports    
from RCAIDE.Framework.Core import Data 

# package imports  
import numpy as np 

# ----------------------------------------------------------------------------------------------------------------------
# chordwise_distribution
# ---------------------------------------------------------------------------------------------------------------------- 
[docs] def chordwise_distribution(x,y,cp,al,npanel,cf,vt): """Compute chordwise distribution of lift and drag for an airfoil Assumptions: None Source: Anderson, J. D. "Fundamentals of aerodynamics 6th ed". MCGRAW-HILL EDUCATION (2017) Inputs: x - Vector of x coordinates of the surface nodes y - Vector of y coordinates of the surface nodes cp - Vector of coefficients of pressure at the nodes al - Angle of attack in radians npanel - Number of panels on the airfoil cf - skin friction coeff over the surface of airfoil vt - tangential velocity at all nodes Outputs: fD - chordwise distribution of drag fL - chordwise distribution of lift Properties Used: N/A """ al = al.T dx = x[1:]-x[:-1] dy = y[1:]-y[:-1] LE_ind = int(npanel/2) dx_l = -np.flip(dx[0:LE_ind], axis=0) dx_u = dx[LE_ind:] dy_l = -np.flip(dy[0:LE_ind], axis=0) dy_u = dy[LE_ind:] cp_l = np.flip(cp[0:LE_ind], axis=0) cp_u = cp[LE_ind:] cf = cf*(vt/np.abs(vt)) cf_l = -np.flip(cf[0:LE_ind], axis=0) cf_u = cf[LE_ind:] dcn = cp_l*dx_l - cp_u*dx_u + cf_u*dy_u - cf_l*dy_l dca = cp_u*dy_u - cp_l*dy_l + cf_u*dx_u + cf_l*dx_l dcl = dcn*np.cos(al) - dca*np.sin(al) dcd = dcn*np.sin(al) + dca*np.cos(al) cl = np.sum(dcl, axis=0) cd = np.sum(dcd, axis=0) fL = dcl/cl fD = dcd/cd return fL,fD