# compute a 3D corrected and extended airfoil af_extrap1 = af.extrapolate(cdmax) # a second example using the optional inputs AR = 17 # blade aspect ratio. If provided, cdmax is estimated using the aspect ratio. cdmin = 0.001 # minimum drag coefficient. Viterna's method can occasionally produce # negative drag coefficients. A minimum is used to prevent unphysical data. # The passed in value is used to override the default. af_extrap2 = af.extrapolate(cdmax, AR=AR, cdmin=cdmin) # ------ # create new airfoil that uses the same angles of attack at each Reynolds number af_common1 = af.interpToCommonAlpha() # default approach uses a union of all defined angles of attack # alternatively, specify the exact angles to use alpha = np.arange(-180, 180) af_common2 = af.interpToCommonAlpha(alpha) # ------ # extract a data grid from airfoil alpha, Re, cl, cd, cm = af.createDataGrid() # cl[i, j] is the lift coefficient for alpha[i] and Re[j] # write a new AeroDyn file af.writeToAerodynFile("output.dat") # ------
cdmax = 1.3 # compute a 3D corrected and extended airfoil af_extrap1 = af.extrapolate(cdmax) # a second example using the optional inputs AR = 17 # blade aspect ratio. If provided, cdmax is estimated using the aspect ratio. cdmin = 0.001 # minimum drag coefficient. Viterna's method can occasionally produce # negative drag coefficients. A minimum is used to prevent unphysical data. # The passed in value is used to override the default. af_extrap2 = af.extrapolate(cdmax, AR=AR, cdmin=cdmin) # ------ # create new airfoil that uses the same angles of attack at each Reynolds number af_common1 = af.interpToCommonAlpha() # default approach uses a union of all defined angles of attack # alternatively, specify the exact angles to use alpha = np.arange(-180, 180) af_common2 = af.interpToCommonAlpha(alpha) # ------ # extract a data grid from airfoil alpha, Re, cl, cd, cm = af.createDataGrid() # cl[i, j] is the lift coefficient for alpha[i] and Re[j] # write a new AeroDyn file af.writeToAerodynFile('output.dat') # ------