# Automation of Winglet Wings Geometry Generation for Its Application in TORNADO
## 2 Methods
### Definition of the Wingtip Devices
#### 2.2.2 Open and Closed Spiroid Winglet  
Both winglets have the same configuration as the blended winglets but with more joints, which increases the complexity (see Figure 9). The structure of the different winglets can be seen in Figures 10 and 11. It is important to mention that the last joint with the closed spiroid has to be with the main winglet, and the process that is represented in Figure 9 is followed backwards. Figure 8: Scheme used for obtaining \(x_{b}\) coordinate. Figure 9: Detail of the sequential joints. The black dotted points are refered to the different components and the red points to the joint between them. ```
% Root chord in each component \(\lambda\_TOT=winglet.cr/(mainwing.cr*mainwing.lambda)\); \(lambda\_comp=lambda\_TOT\wedge(1/joint.Ncomp)\); \(\triangleright\) Ncomp \(\rightarrow\) number of components for\(i=2:nWing\)do\(\triangleright\) i=comp if\(i==2\)then \(geo.c(i)=mainwing.cr*mainwing.lambda\); elseifthen \(geo.c(i)=lambda\_i*geo.c(i-1)\); endif endfor % Semi-span, dihedral, taper, and sweep in each component \(\lambda\_=(winglet.dihedral-mainwing.dihedral)*



The programming of the last joint can be seen in Algorithm 4. Figure 11: Detail of the closed spiroid winglet structure. Figure 10: Detail of the open spiroid winglet structure. ```
% Final joint % Points where the last joint starts \(final\_starx=geo\_startx(5+joint.Ncomp1+joint.Ncomp2+joint.Ncomp3+joint.Ncomp4)+geo.b(5+joint.Ncomp1+ joint.Ncomp2+joint.Ncomp3+joint.Ncomp4)*tan(geo.SW(5+joint.Ncomp1+ joint.Ncomp2+joint.Ncomp3+joint.Ncomp4))+geo.c(5+joint.Ncomp1+ joint.Ncomp2+joint.Ncomp3+joint.Ncomp4))/4*(1-geo.lambda(5+joint.Ncomp1+joint.Ncomp2+joint.Ncomp3+joint.Ncomp4)); \(final\_stary=geo\_starty(5+joint.Ncomp1+joint.Ncomp2+joint.Ncomp3+joint.Ncomp4)+geo.b(5+joint.Ncomp1+ joint.Ncomp2+joint.Ncomp3+joint.Ncomp4)*cos(geo.dihedral(5+joint.Ncomp1+joint.Ncomp2+joint.Ncomp3+joint.Ncomp4)); \(final\_starz=geo\_startz(5+joint.Ncomp1+joint.Ncomp2+joint.Ncomp3+joint.Ncomp4)+geo.b(5+joint.Ncomp1+ joint.Ncomp2+joint.Ncomp3+joint.Ncomp4)*sin(geo.dihedral(5+joint.Ncomp1+joint.Ncomp2+joint.Ncomp4)); \(x\_med=final\_starx-geo.startx(2)\); \(y\_med=final\_stary-geo.starty(2)\); \(z\_med=final\_starz-geo.startz(2)\); \(x\_coord=linspace(x\_med,0,joint.NcompF+1)\); \(y\_coord=linspace(x\_med,0,joint.NcompF+1)\); \(z\_coord=linspace(z\_med,0,joint.NcompF+1)\); \(initial\_joint=5+joint.Ncomp1+joint.Ncomp2+joint.Ncomp3+joint.Ncomp4;\) for\(i=1:joint.NcompP\)do \(geo.children(initial\_joint+i)=180*d2r+atan((z\_coord(i)-z\_coord(i+1))/(y\_coord(i)-y\_coord(i+1)))\); \(geo\_b(initial\_joint+i)=sqrt((y\_coord(i)-y\_coord(i+1))\wedge 2+(z\_coord(i)-z\_coord(i+1))\wedge 2)\); \(geo\_lambda(initial\_joint+i)=lambda\_compF\); \(geo\_SW(initial\_joint+i)=atan((x\_coord(i+1)-x\_coord(i)-geo.c(initial\_joint+i)/4*(1-geo.lambda(initial\_joint+i)))/geo.b(initial\_joint+i))\); endfor % Coordinates position for\(i=(initial\_joint+1):nWing\)do \(geo\_startx(i)=geo\_startx(i-1)+geo.b(i-1)*tan(geo.SW(i-1))+geo.c(i-1)/4*(1- geo.lambda(i-1))\); \(geo\_starty(i)=geo.starty(i-1)+geo.b(i-1)*cos(geo.dihedral(i-1))\); \(geo\_startz(i)=geo.startz(i-1)+geo.b(i-1)*sin(geo.dihedral(i-1))\); endfor
```

**Algorithm 4** Blended winglet parameters algorithm. ## 3 Results and Discussion

### Algorithm Implemented in Tornado

After describing the algorithms used for obtaining the complete wing geometry, this section includes the results of the defined geometries. Different types of representation for the geometry can be obtained. The TORNADO function that is used to obtain the representation of the geometry was implemented for the structures that were built with the algorithms. It includes views of the 3D model, the shape of the vortices and different points of view of the 2D model. Figure 12 shows the different 2D views in addition to the 3D (ISO), side and top views that are obtained with the algorithm from the different type of winglet considered.