2.1. 2D curve generation

2.1.1. CST base function

Figure 2.1.1 shows the base functions of the 6-th order CST method. The influence of parameter xn1 and xn2 is shown in the two sub-figures.

1x, y = cst_curve(101, cst, xn1=0.5, xn2=1.0)
../../_images/cst_base_function.jpg

Figure 2.1.1 CST base function

2.1.2. Cosine distribution (X axis)

Figure 2.1.2 shows the density of a cosine distribution. The solid line is the gaussian density estimation of the point distribution. The stars show the actual points. The three different colors show the influence of the control parameter a0, a1, and beta.

1xx = dist_clustcos(101, a0=0.0079, a1=0.96, beta=1.0)
../../_images/cosine_distribution.jpg

Figure 2.1.2 Cosine distribution

2.1.3. CST airfoil

Figure 2.1.3 shows the airfoil generated by CST method. The four airfoils have the same CST coefficients, but their t and tail settings are different.

  • The black airfoil is the original geometry defined by the cst_u and cst_l.

  • The red airfoil adds a finite tail thickness to the original geometry.

  • The blue airfoil applies a specified relative maximum thickness t to the original geometry.

  • The green airfoil adds a finite tail thickness to an airfoil, of which the t is specified.

1x, yu, yl, tmax, rLE = cst_foil(1001, cst_u, cst_l, x=None, t=None, tail=0.0)   # black
2x, yu, yl, tmax, rLE = cst_foil(1001, cst_u, cst_l, x=None, t=None, tail=0.02)  # red
3x, yu, yl, tmax, rLE = cst_foil(1001, cst_u, cst_l, x=None, t=0.05, tail=0.0)   # blue
4x, yu, yl, tmax, rLE = cst_foil(1001, cst_u, cst_l, x=None, t=0.05, tail=0.01)  # green
../../_images/cst_airfoil-t-tail.jpg

Figure 2.1.3 CST airfoil (changing t and tail)

Figure 2.1.4 shows the difference between airfoils when the CST parameter xn1 and xn2 are changed. The four airfoils have the same CST coefficients, the maximum relative thickness t is also fixed.

A smaller xn1 or xn2 gives the CST method more power to describe the shape in the leading edge or trailing edge. Sometimes, using a small xn1 is suggested when the leading edge needs delicate modification.

1x, yu, yl, tmax, rLE = cst_foil(1001, cst_u, cst_l, t=0.11)                   # black
2x, yu, yl, tmax, rLE = cst_foil(1001, cst_u, cst_l, t=0.11, xn1=0.1, xn2=1.0) # red
3x, yu, yl, tmax, rLE = cst_foil(1001, cst_u, cst_l, t=0.11, xn1=0.5, xn2=0.5) # green
../../_images/cst_airfoil-xn1-xn2.jpg

Figure 2.1.4 CST airfoil (changing xn1 and xn2)

2.1.4. Fitting airfoil

Given an airfoil, you can use CST method for fitting.

1cst_u, cst_l = cst_foil_fit(x, yu, x, yl, n_cst=10, xn1=0.3, xn2=1.0)
../../_images/fitting_airfoil.jpg

Figure 2.1.5 Fitting airfoil with CST

2.1.5. Fitting blade

Given a blade (round tips at both ends), you can use CST method for fitting. The CST parameters xn1, xn2 need to be adjusted.

../../_images/fitting_blade.jpg

Figure 2.1.6 Fitting blade

1cst_u, cst_l = cst_foil_fit(xx, yu, xx, yl, n_cst=7, xn1=0.1, xn2=0.1)

2.1.6. Fitting curve

Given a curve, you can use CST method for fitting. The curve can be a unit chord length curve, i.e., x in [0,1]. It can also have any end point, but it must be a function after being transformed back to a unit curve, i.e., y=f(x).

1coef = fit_curve(x, y, n_cst=10, xn1=0.5, xn2=1.0)
2
3coef, scale, rotation, thick = fit_curve_with_twist(x, y, n_cst=10, xn1=0.5, xn2=1.0)
4
5coef = fit_curve_partial(x, y, ip0=200, ip1=501, ic0=2, ic1=11, n_cst=20, xn1=0.3, xn2=1.0)
../../_images/fitting_curve.jpg

Figure 2.1.7 Fitting curve with CST

You can also use CST to fit part of a curve. Sometimes this can be useful.

../../_images/fitting_curve_partial.jpg

Figure 2.1.8 Fitting partial curve with CST

2.1.7. Curve curvature

Calculating the curvature of a curve is very useful in aerodynamic design.

1curvature = curve_curvature(x, y)
../../_images/curve_curvature.jpg

Figure 2.1.9 Curve curvature