Evaluation of adaptive, unstructured CFD calculations of the flow ...

3 downloads 0 Views 2MB Size Report
Dynamics (CFD) for the computation of the flow around a wind turbine airfoil. We use the ... and to unsteady flow separation at high angles of attack. In order to ...
Evaluation of adaptive, unstructured CFD calculations of the flow around the DU91 airfoil A.H. van Zuijlen1, H. Bijl, G. Dufour and A.W. van Mameren Faculty of Aerospace Engineering Delft University of Technology, P.O. Box 5058, 2600 GB Delft, The Netherlands e-mail: [email protected]

Abstract

In this paper we investigate the application of an adaptive meshing algorithm in Computational Fluid Dynamics (CFD) for the computation of the flow around a wind turbine airfoil. We use the DU91 wind turbine airfoil, which is a 25% thick airfoil, found typically at the mid-span section of a wind turbine blade. Wind turbine applications typically involve unsteady flows due to changes in the angle of attack and to unsteady flow separation at high angles of attack. In order to obtain reasonably accurate results for all these conditions one should use a mesh which is refined in many regions, which is not computationally efficient. Our solution is to apply an automated mesh adaptation technique. In this paper we test an adaptive refinement strategy developed for unstructured hexahedral meshes by NUMECA Int. for steady flow conditions. Local flow sensors for pressure, velocity and density determine the regions in the mesh to be refined or coarsened. This way the mesh is refined only in those regions necessary for high accuracy, retaining computational efficiency. A verification and validation study is performed on a fixed mesh for three angles of attack: -3.121°, 1.00° and 8.21°. These results are compared with experimental data and with the results obtained with the adapted meshes for two of these angles of attack. From these computations it can be concluded that for a given computational time, adapted meshes result in solutions closer to the experimental data compared to the results obtained with non-adapted meshes.

Keywords: computational fluid dynamics, Reynolds averaged Navier-Stokes, adaptive meshes, computational efficiency, wind turbine airfoil

Introduction Over the last decades, developments in wind energy have shown an up-scaling of wind turbines [1,2] in order to obtain higher efficiencies. At present, wind turbine designs with rotor diameters well over 100m are not uncommon. Since costs for experimental research grow disproportional with the size of the wind turbines, Computational Fluid Dynamics (CFD) has gained a lot of interest in the wind energy community. CFD has developed over the last decades into a comprehensive design tool and for many aerospace applications it has proven its value. However, for flows around wind turbines it has not yet fully proven itself [3]. One of the reasons is that the (atmospheric) flow conditions are unsteady, which results in large changes in angle of attack and can lead to flow separation. These flows require a dense grid in the wake and flow separation region. As these areas are at different locations in the mesh at different times, a non-adaptive algorithm needs an almost uniformly dense mesh. For the accuracy desired this is practically undoable for real 3D applications with the present computational resources. We think an adaptive meshing algorithm can greatly improve computational efficiency of CFD calculations for wind turbine applications. In this paper we present a preliminary investigation into the adaptive meshing strategy in order to demonstrate its feasibility and to identify its qualities. An algorithm which adapts to local flow features for unstructured hexahedral meshes is tested for 2D flow around the DU91 wind turbine airfoil. For validation of the CFD code we can use an experimental database for the DU91 airfoil, which is built at the Delft University of Technology.

The DU91 wind turbine airfoil The airfoil we selected for the numerical investigations is the 25% thick DU91 wind turbine airfoil (Fig. 1), found typically at the mid-span section of a wind turbine blade [4]. The airfoil was designed at the Institute for Wind Energy of the Delft University of Technology, its full name being DU91-W2-250. The thickness of this airfoil is quite large compared to airfoils commonly used in aerospace applications, which complicates the computation of flows with CFD codes. It is therefore an ideal test case to judge the capabilities of CFD and in particular the adaptive mesh strategy. Experiments on a 0.6m chord, 1m span model of the DU91 airfoil were performed in the Low-Speed Low-Turbulence wind tunnel of the Delft University. The flow solver 1

Funded by the Dutch National Research Foundation (NWO) under grant 635.000.005

Figure 1: The DU91-W2-250 airfoil at α = 8.21°.

The flow solver used in this study is the commercial solver Hexstream, developed by NUMECA Int., with which the Delft University has a strategic partnership. For the turbulent computations, the solver uses the Reynolds Averaging Navier-Stokes (RANS) equations [5]. For the turbulence closure model, we use the one-equation turbulence model of Spalart-Allmaras [6], which is especially developed for airfoils. A cell-centred Finite Volume scheme is applied, with a second order central discretization with Jameson type scalar artificial dissipation [7]. The steady solver uses a dualtime stepping technique with a fourth-order explicit Runge-Kutta method. Convergence acceleration is obtained using a multigrid technique and residual smoothing. The flow is resolved on an unstructured all-hexahedral mesh. The mesh is essentially Cartesian, except for two buffer layers of cells surrounding the airfoil. The first layer, directly connected to the airfoil boundary, can be filled up with high-aspect-ratio boundary layer cells to ensure a sufficiently small value for y+. The second layer connects these body conforming cells to the Cartesian mesh.

Adaptive mesh strategy In order for an adaptive meshing algorithm to have any practical potential, we can identify a number of criteria it should live up to. The algorithm needs to: be automated, depend on the flow, be robust and be fast. By automating the algorithm, we prevent the intervention of the user during the numerical computations. This implies that the computations can run at any time without the solver going on halt to wait for input from the user. Since wind turbine applications deal with unsteady flow phenomena, different parts of the mesh need to be refined at different times, depending on the flow. The algorithm must be able to detect these regions of interest. Of course, the adaptation should not take too long or result in a termination of the program. With the above mentioned criteria in mind we discuss the adaptation algorithm implemented in Hexstream: cells can be flagged for refinement or coarsening, depending on sensor values. The sensors depend on flow variables, such as pressure and velocity. The user selects one sensor or a combination and provides the parameters for computing the threshold values that determine whether a cell is flagged for refinement or coarsening. These threshold values are computed as Tr = Sav + b r Sstd , (1) (2) Tc = Sav - b c Sstd , wherein Tr and Tc denote the refinement and coarsening threshold values respectively, Sav is the average value of the sensor in the flow field and Sstd is the standard deviation assuming that the statistical sensor distribution is Gaussian. The parameters βr and βc can be set by the user. We use the default value of 0.3 for both. In this paper we use sensors based on the pressure gradient and the velocity gradient in the flow (in both x and y direction of the cell). Adaptation is performed after the solution is sufficiently converged, so that the state of the flow is accurate. This way the algorithm can detect the regions of interest, without any action from the user. Once the cells have been flagged for refinement and coarsening, the mesh is adapted. Refinement is performed by subdividing the ‘parent’ cell into two or four (2D case) ‘children’. The other way round, coarsening will remove ‘children’ cells to obtain the ‘parent’ cell. This method is robust and only at the interface with the airfoil, the algorithm needs to make sure that refined cells also take the geometry into account, especially in regions with a high curvature.

Verification and validation study of the CFD code on a non-adaptive mesh A thorough verification and validation study was performed on a non-adaptive mesh at three angles of attack (-3.121°, 1.00° and 8.21°), which are the angles used in the experiments after correction. We use a fixed mesh, since a grid-convergence study ideally requires the mesh to be uniformly refined. When we use adaptation, this cannot be controlled by the user. Verification was performed on three consecutive meshes of 40k, 70k and 120k cells. Because of the automatic grid generator, the number of cells could not be controlled perfectly to obtain a perfect doubling of the amount of cells. During the verification process we found that a separation bubble formed at the trailing edge on the finest mesh at an angle of attack of 8.21° (Fig. 2), introducing a new flow phenomenon. Since the separation bubble was also observed in experiments, this does show the need to have a sufficiently fine mesh at a certain location. During the validation study, it was observed that defining rectangular regions with a uniform, dense mesh, already had a great influence on the accuracy of the computation. This also shows that having some regions refined helps to obtain a Figure 2: Separation bubble on the 120k mesh at higher accuracy. Computations were performed for a fully a 8.21° angle of attack. turbulent flow and surface pressure integrals were used to determine lift and drag. The results of the computations and experiments are given in Table 1. The experiments were performed both with a clean configuration and a tripped configuration. The tripped configuration has a tripping wire very close to the stagnation point, resulting in a nearly fully turbulent flow. Table 1 shows that the CFD computation is more accurate in predicting lift compared to drag. Furthermore, we find that the drag does not decrease from the medium to the fine mesh when we look at the results for 8.21°. We contribute this to the influence of the separation bubble developing on the finer mesh, increasing the width of the wake. From Table 1 we also conclude that the

Table 1: Validation results for the DU91 airfoil.

40k cells 70k cells 120k cells Exp. tripped Exp. clean

α = -3.12° Cl Cd -0.018 0.0090 -0.051 0.0090 -0.064 0.0084 -0.027 0.0103 -0.008 0.0070

α = 1.00° Cl Cd 0.484 0.0100 0.459 0.0092 0.440 0.0088 0.476 0.0113 0.527 0.0078

α = 8.21° Cl Cd 1.292 0.0220 1.247 0.0208 1.201 0.0208 1.156 0.0247 1.344 0.0117

prediction of drag becomes less accurate with increasing angle of attack: on the finest mesh the error in the drag is only 0.19 at a –3.12° angle of attack, increasing to an error of 0.39 drag point at a 8.21° angle of attack.

Results of adaptive computations All computations have been performed at the same conditions as the experiments: Reynolds number 3.0⋅106, Mach number 0.21, reference pressure 101325 Pa and reference temperature 288 K. The chord of the model is 0.6 meters. For the Spalart-Allmaras turbulence model, the location of the natural transition (obtained from the experiments performed at the Delft University of Technology) was imposed by prescribing the tripping points on the upper and lower sides of the airfoil. For α = -3.12° transition occurred at 52% chord on the upper side and at 41% chord on the lower side. For α = 8.21° transition occurred at 28% chord on the upper side and at 54% chord on the lower side. The computational domain was defined as a rectangular box, with the external boundaries 10 chords upstream and 60 chords downstream of the airfoil and 30 chords above and below the airfoil. The boundary layer was generated such, that the maximum value of y+ in the mesh was 2.8. The turbulence intensity of the free stream was set to 0.1%.

Influence of adaptation on the transition from Cartesian to body conforming mesh The transition from the Cartesian to the body conforming mesh is realized completely through one layer of cells. This layer has about the same thickness as the body conforming layer, which is filled up with boundary layer cells. This meshing strategy makes it awkward to control the jump in cell size between the boundary layer cells and the outer field cells as shown in Fig. 3a. Adaptation can increase the quality of the mesh at the transition, by refining the second layer of connecting cells, resulting in a much smoother transition, Fig. 3b. The regularization of the mesh at

Figure 3a: Transition from the Cartesian mesh to the body conforming boundary layer mesh without adaptation.

Figure 3b: Transition from the Cartesian mesh to the body conforming boundary layer mesh after two adaptation steps.

the transition is important, since large jumps in cell sizes can have detrimental effects on the quality of the solution. As an illustration, Fig. 4a shows Cp isolines in a region with large jumps in cell size. The isolines show a clear disturbance when going into the boundary layer cells. As a result spurious oscillations in the pressure on the surface can be found. In Fig. 4b the mesh has undergone an adaptation step, clearly resulting in a better connection between the Cartesian and body conforming meshes and a better behavior of the Cp isolines.

Figure 4a: Cp isolines close to the airfoil for a nonadapted mesh.

Figure 4b: Cp isolines close to the airfoil for an adapted mesh.

Computational efficiency and adaptation We investigate computational efficiency by comparing results with non-adapted and adapted meshes, which are allowed to run for the same amount of time. We compare the results with experimental data and can hence make a connection between computational work and accuracy. We consider a computation to be computationally more efficient when we obtain more accurate results for the same amount of work. In this specific study, all computations were allowed to run for five CPU-hours, after which the computations were stopped. For the adapted mesh computations, the work also includes the adaptation of the mesh. For the –3.12° angle of attack two computations are performed with different adaptation criteria: in one computation we use the velocity sensor (which analyzes the velocity gradient of the flow) and in the other computation we use the pressure sensor (based on the pressure gradient). A third computation is performed on a non-adaptive mesh, which has approximately the same number of cells as the adapted meshes. For the 8.21° angle of attack one computation is performed with pressure based adaptation and a second computation is performed on a non-adaptive mesh with approximately the same number of cells. The results for these computations are presented in Table 2. When we compare the results of the non-adaptive Table 2: Adaptive and non-adaptive computations at –3.12° and 8.21° angle of attack. description Cl α Velocity sensor adapted mesh, 180k cells -0.001 –3.12° -0.016 Pressure sensor adapted mesh, 180k cells –3.12° Non-adaptive mesh, 180k cells -0.031 –3.12° Experiment -0.008 –3.12° Pressure sensor adapted mesh, 140k cells 1.384 –8.21° Non-adaptive mesh, 140k cells 1.312 –8.21° Experiment 1.344 –8.21°

Cd 0.0103 0.0100 0.0107 0.0070 0.0174 0.0197 0.0117

algorithm with the results of the adaptation algorithm, we find that, apart from the lift coefficient at α = 8.21°, both the lift and drag coefficient are closer to the experimental values for the adaptive meshes. The adaptive algorithm demonstrates a higher computational efficiency already with the default settings for the pressure and velocity sensor. Further investigations into the influence of these sensor parameters on computational efficiency need to be performed in order to obtain an even better adaptive algorithm. Also different sensors based on other flow variables, such as vorticity and turbulent viscosity, may lead to better results. Adaptation and unsteady boundary conditions Although no unsteady simulations were performed with the adaptive algorithm thus far, we give some results of adaptive steady computations, which give an indication for adaptive computations with unsteady boundary conditions. For wind turbines the flow can be quite unsteady, resulting in changing angles of attack. Ideally one would like to have a rather dense mesh in the wake of the blade and in regions with separated flow. We can show the potential of the mesh to adapt to changing flow conditions by looking at the adapted mesh: when we compare the non-adapted mesh (Fig. 5a) to the mesh obtained after adaptation (Fig. 5b), one can clearly observe the wake of the flow being refined according to the flow direction. When we start with the same initial mesh and run a computation with different boundary conditions, creating effectively a –3.12° angle of attack, the mesh is adapted accordingly (Fig. 5c). We can observe that the wake refinement is according to the direction of the flow. Also the adapted mesh is

(a)

Figure 5: Influence of adaptation algorithm on the mesh: (a) shows the intial mesh, (b) shows the mesh after two velocity sensor adaptations at α = 8.21°, (c) shows the mesh after two velocity sensor adaptations with modified boundary conditions for α = -3.12°.

(b)

(c)

denser at the suction side of the airfoil. It is expected that running an unsteady simulation with changing boundary conditions can be solved more efficiently when the adaptive algorithm is used.

Conclusions A study was performed to evaluate the qualities of unstructured, adaptive meshes applied to a wind turbine airfoil. Results show that the CFD code is capable of computing steady flow conditions around a wind turbine airfoil, but when the spatial resolution is insufficient, some flow phenomena may remain unresolved. The transition from body conforming cells to the Cartesian mesh should not contain large jumps in cell sizes to avoid spurious pressure oscillations. The adaptation algorithm can resolve this problem by creating a smoother transition. For the same amount of computing time, the computations with the adaptation algorithm are in better agreement with the experimental data compared to the non-adaptive computations. This shows the higher computational efficiency of the adaptation algorithm. Possibly higher efficiency can be obtained with different flow sensors and flow sensor parameter settings. The adaptation algorithm can clearly adapt to flow phenomena, such as the wake, making it possible to adapt to unsteady conditions.

References [1] T. Ackermann and L. Söder, “An overview of wind energy-status 2002”, Renewable and Sustainable Energy Reviews 6 (2002) 67−128.

[2] R.C. Bansal, T.S. Bhatti and D.P. Kothari, “On some of the design aspects of wind energy conversion systems”, Energy Conversion and Management 43 (2002) 2175−2187. [3] [4] [5] [6] [7]

J.A. Michelsen and N.N. Sørensen, “Current developments in Navier-Stokes modelling of wind turbine rotor flow”, Proceedings 2001 European Wind Energy Conference, Copenhagen 2−6 July 2001. W.A. Timmer and R.P.J.O.M. van Rooij, “Some aspects of high angle-of-attack flow on airfoils for wind turbine application”, Proceedings 2001 European Wind Energy Conference, Copenhagen 2−6 July 2001. C. Hirsch, “Numerical Computation of Internal and External Flows”, Vol. 2, Computational Methods for Inviscid and Viscous Flows, Ed. John Wiley and Sons, 1990. P.R. Spalart and S.R. Allmaras, “A One-Equation Turbulence Model for Aerodynamic Flows”, AIAA Paper 92−0439, 1992. A. Jameson, W. Schmidt and E. Turkel, “Numerical Solutions of the Euler Equations by Finite Volume Methods with RungeKutta Time Stepping Schemes”, AIAA Paper 81−1259, 1981.

Suggest Documents