2.6. Section
2.6.1. Class: BasicSection
BasicSection is the parent class that contains information of one curve.
The 3D curve coordinates x, y, z are transformed from a unit 2D curve. The 2D curve coordinates are either xx, yy (an open curve) or xx, yu, yl (a closed curve). A unit 2D curve means it chord length is 1, i.e., xx[0]=0, xx[-1]=1.
The 2D-to-3D transformation is defined by:
the 3D location of the leading point (xLE, yLE, zLE);
the chord length chord, i.e., \(|| \mathbf{x}_\text{LE} - \mathbf{x}_\text{TE} || = \text{chord}\);
the twist angle twist (deg) defining the curve rotation about Z-axis (right hand rule);
a flag lTwistAroundLE specifies the rotation center being LE or TE;
an optional float specified_thickness that specifies the maximum relative thickness of the closed curve.
The 2D-to-3D transformation is applied when calling BasicSection.section().
1sec = BasicSection(thick=None, chord=2.0, twist=-3.0, lTwistAroundLE=False)
2
3sec.xx = np.linspace(0, 1, 101)
4sec.yy = np.sin(np.pi*sex.xx)
5
6sec.xLE = 1.0
7sec.yLE = 0.0
8sec.zLE = 1.0
9
10sec.section(flip_x=False, projection=True)
2.6.2. Class: OpenSection
OpenSection is a child class of BasicSection, which uses CST method for constructing the unit 2D open curve. The OpenSection.section() automatically construct the 2D curve and transform it to the 3D curve.
1sec = OpenSection(thick=None, chord=2.0, twist=-3.0, lTwistAroundLE=False)
2
3sec.section(cst=cst, nn=1001, flip_x=False, projection=True)
Several additional attributes are available:
the CST coefficients of the curve cst;
the refinement CST coefficients refine.
2.6.3. Class: Section
Section is a child class of BasicSection, which uses CST method for constructing the unit 2D airfoil, i.e., a closed curve. The Section.section() automatically construct the 2D airfoil and transform it to the 3D curve.
1sec = Section(thick=None, chord=2.0, twist=-3.0, tail=0.01, lTwistAroundLE=False)
2
3sec.section(cst_u=cst_u, cst_l=cst_l, nn=1001, flip_x=False, projection=True)
Several additional attributes are available:
a float tail specifies the airfoil tail thickness;
the airfoil leading edge radius RLE;
the airfoil trailing edge angle te_angle (deg);
the slope of the mean camber line at trailing edge te_slope, i.e., \(dy/dx\);
the CST coefficients of the upper and lower surface cst_u, cst_l;
the refinement CST coefficients refine_u, refine_l.
2.6.4. Class: RoundTipSection
RoundTipSection is a child class of BasicSection. The unit 2D closed curve is a combination of a base shape (Figure 2.6.1) and a CST airfoil. This class is suitable for round trailing edge foils, blades, or plates.
Figure 2.6.1 Base shape function
1sec = RoundTipSection(xLE, yLE, zLE, chord, thick, twist, tail,
2 cst_u, cst_l,
3 base_le_ratio, base_te_ratio, base_abs_thick,
4 base_le_radius, base_te_radius,
5 aLE=0.0, aTE=0.0, i_split=None, nn=501, lTwistAroundLE=False)
6
7sec.section(flip_x=False, projection=True)
Compared with Section, several additional parameters are needed:
relative leading edge radius of the base shape base_le_radius;
relative trailing edge radius of the base shape base_te_radius;
actual thickness of the base shape base_abs_thick;
ratio of the leading edge and trailing edge region base_le_ratio, base_te_ratio;
angle aLE (deg) of the slope at leading edge, i.e., \(dy/dx\);
angle aLE (deg) of the slope at leading edge, i.e., \(dy/dx\);
2.6.5. Fitting blade with RoundTipSection
Given a blade (round tips at both ends), you also can use RoundTipSection for fitting. Compared with the direct use of CST fitting (Figure 2.1.6), RoundTipSection is more suitable for thin plate.
Figure 2.6.2 Fitting blade with RoundTipSection
1xx, y_base_shape = RoundTipSection.base_shape()
2dy_base_shape = RoundTipSection.base_camber()
3
4yu_cst = yu_ref - ( y_base_shape - dy_base_shape)
5yl_cst = yl_ref - (- y_base_shape - dy_base_shape)
6
7cst_u, cst_l = cst_foil_fit(xx, yu_cst, xx, yl_cst, n_cst=7, xn1=0.1, xn2=0.1)