For permission to copy or republish, contact the American Institute of Aeronautics and Astronautics 1801 Alexander Bell Drive, Suite 500, Reston, VA 20191 AIAA 2004-0586 LOCAL GRID REFINEMENT FOR AN IMMERSED BOUNDARY RANS SOLVER G. Iaccarino, G. Kalitzin, P. Moin Center for Turbulence Research Stanford University Stanford, CA 94305 B. Khalighi Research and Development Center General Motors Corporation Warren, MI 48090-9055 42 nd Aerospace Sciences Meeting & Exhibit 5-8 January 2004 / Reno, NV 42nd AIAA Aerospace Sciences Meeting and Exhibit 5 - 8 January 2004, Reno, Nevada AIAA 2004-586 Copyright © 2004 by . Published by the American Institute of Aeronautics and Astronautics, Inc., with permission. AIAA-2004-0586 LOCAL GRID REFINEMENT FOR AN IMMERSED BOUNDARY RANS SOLVER Gianluca Iaccarino, Georgi Kalitzin, Parviz Moin Center for Turbulence Research Stanford University Stanford, CA 934305 Bahram Khalighi ‡ Research and Development Center General Motors Corporation Warren, MI 48090-9050 ABSTRACT A RANS solver based on the Immersed Boundary technique is extended to handle locally refined grids in order to increase the resolution close to the boundaries for high Reynolds number simulations. A novel data management architecture is introduced to take advantage of the quasi-structured nature of the grids and to obtain fully implicit, fast and robust solutions when several levels of refinement are introduced. The mesh refinement is fully anisotropic, and can handle n-to-one cell connectivity. It is generated in a fully automatic way by coarsening a fine structured grid. A conjugate gradient-based algorithm is used to solve the Navier-Stokes equations and validation cases include a two- and a three-dimensional problem. INTRODUCTION Recently, a Reynolds-Averaged Navier-Stokes (RANS) solver based on the Immersed Boundary approach, IBRANS, has been developed [1]; it uses Cartesian (non-uniform) grids and forcing terms in the governing equations to account for complex non-grid-conforming boundaries. It is well known that very large meshes are required to achieve appropriate resolution of the boundary layers at high Reynolds numbers. This limits the applicability of pure Cartesian solvers and requires the adoption of a more flexible meshing strategy. Local Grid Refinement (LGR) techniques allow to split selected cells in smaller elements thus increasing the local resolutions; the resulting algorithms are typically complicated and memory/CPU intensive. In many respects the computational mesh is considered as an unstructured grid with hanging nodes at the interface between refined and not refined regions [2,3]. The OCTREE approach 2 generates a relation between the original element (father) and the newly generated cells obtained by splitting it (kids). This relation can be recursively applied to build connectivity trees. To collect the information about the neighbors of a cell, the tree is followed up to the top where native connectivity information is stored. This scheme is very simple when the cells are split in a consistent way (isotropic refinement) and in [2] it has been used for an inviscid flow solver in a very efficient fashion. The fully unstructured approach 3 , on the other hand, handles the elements with hanging nodes as polyhedra with N faces, shared with N neighbors. In this case the connectivity information is stored in the usual way with the only complexity that a very large number of neighbors can be present for each cell (in three-dimensions with one (two) levels of isotropic refinement a cell can have 24 (96) neighbors). A novel grid refinement technique for Cartesian grids has been introduced in [4]; it uses an underlying structured grid to build the connectivity information and a simple interpolation formula to treat the hanging nodes. In the present work, this LGR scheme for structured grids is extended to deal with a finite volume formulation in a fully conservative fashion. The implementation of LGR in the IBRANS code substantially extends the resolution capability of the solver. The main features of the present implementation are the low memory storage requirements (typically 20% of a fully unstructured solver) and its efficiency. 1 American Institute of Aeronautics and Astronautics The present paper describes the basic algorithm and the details of the data structure used. In addition, it discusses the generation of locally refined grids in combination with the immersed boundary algorithm. The validation of the present scheme is reported for a two-dimensional problem by comparing solutions obtained using LGR and a structured grid. Calculations for a three- dimensional problem are presented and compared to experimental data. IBRANS SIMULATION SYSTEM The IBRANS simulation system 1 consists of three components: the pre-processor that handles the geometry modeling and the grid generation, the flow solver and the post-processor that produces flow maps on the immersed surface. The pre-processor performs three major functions: the grid generation, the interface and interior cell determination and the evaluation of the weighting coefficients for the immersed boundary interpolation. Geometries are imported in Stereo-Lithography Format (STL). The only requirement on the STL triangulation is to be “water-tight”. This allows a unique set of cells to be determined as interior cells. Several STL files can be handled so that the geometry can be split in components as appropriate. After the geometry is read, it is placed on a structured Cartesian grid. This grid covers the entire computational domain, which includes the region inside the body. The generation of this grid is extremely simple and automatic. The mesh stretching is based on the location of the immersed boundary and cells are clustered near the object surface. Figure 1. Immersed Boundary tagging. Given the geometry and the (underlying) grid the tagging procedure takes place; the cells are classified in exterior (fluid) interior (solid) and partially interior (interface). This is shown in Figure 1. The tagging procedure is carried out using a ray-tracing technique 5 . The RANS equations are discretized with a second-order, cell centered, fully implicit finite volume scheme. The implicitly under-relaxed equations are reduced to a linear system in the form: a (i,j) n ! " (i,j) n+1 +a W n ! " W n+1 +a E n ! " E n+1 +a N n ! " N n+1 +a S n ! " S n+1 =S (i,j) n (1) where the indices W,E,N,S refer to the neighboring cells that have a common face with cell (i,j), e.g. E for cell (i+1,j). ! is either one of the velocity components, the pressure or a turbulence variable. Turbulence is modeled with the two-equation KG model 1 . This is a modified version of the Wilcox k- # model 7 where # is substituted with a variable g that is defined as: g=1/($*#% &'( . The variable g is zero at the wall. This simplifies the enforcement of the IB conditions 11 . A SIMPLE procedure 6 is used to obtain an intermediate velocity field that is corrected to divergence-free conditions using the solution of a Poisson equation for the pressure. The transport equations are solved only in the fluid cells; the solid cells are not considered and the interface values are obtained through interpolation enforcing boundary conditions at the geometry walls. Note, that the pressure equation is solved in all cells, avoiding the need to specify pressure wall boundary conditions. The treament of the interface cells has been described elsewhere 8-11 and will not be repeated here. LOCAL GRID REFINEMENT ALGORITHM Local Grid Refinement (LGR) allows an efficient clustering of cells in the vicinity of the immersed boundary. The present implementation is an extension of the classical adaptive mesh refinement (AMR) technique for non-isotropic refinement. It can also be interpreted as a generalization of the procedure used for building 2 American Institute of Aeronautics and Astronautics coarse grids for geometric multigrid on structured meshes. The basic idea was introduced in Durbin & Iaccarino 4 for a finite difference discretization. The LGR grid is considered as a coarsened version of a fine, structured grid; on this underlying grid the cells are defined as usual by a couple of vertices with indices (i,j) and (i+1,j+1) (the following discussion of the algorithm is for two-dimensions although the extension to three-dimensions is straightforward). On the LGR grid each element is bounded by the grid lines passing through the vertices (i,j) and (i+) i ,j+) j ). The effective element size in this case is not constant () i *) j and both indices depend on (i,j)). Therefore, the cells are not organized in a structured way with one-to-one neighbors in each Cartesian direction. This requires a modification of the algorithm to deal with hanging nodes. In Durbin & Iaccarino 4 this was simply based on a second-order interpolation. In the current finite volume implementation, flux conservation is enforced and the algorithm resembles the unstructured face-based algorithm described in Ferziger & Peric 6 and, more closely, the AMR discretization used in Ham et al. 3 . In contrast to equation 1 the RANS equations for the LGR algorithm reduce to a linear system of the form: a (i,j) n ! " (i,j) n+1 ++a W n ! " W n+1 ++a E n ! " E n+1 ++a N n ! " N n+1 ++a S n ! " S n+1 =S (i,j) n (2) where the sum is over the neighboring cells, e.g. +a W n ! " W n+1 =a W1 n ! " W1 n+1 +a W2 n ! " W2 n+1 for the cell distribution in Figure 2. Each face-flux is computed using the two adjacent cells and for each cell the fluxes (in general more than two) are collected to build the corresponding diffusive and convective operators. The implicit discretization yields a sparse matrix with elements not organized in five diagonals as for its structured counterpart. This complexity in the matrix structure prevents the use of the SIP procedure as it was employed in [1]. A Krilov-type algorithm with a simple Jacobi pre-conditioner was implemented. Standard conjugate gradient is used for the pressure equation and the BiCGStab 12 for the momentum and turbulent scalars. An algebraic multigrid technique available in the Livermore Hypre library 13 (High Performance Preconditioners) has also been used; in two dimensions this yield a substantial advantage with respect to the conjugate gradient solver. In three dimensions the advantage was only marginal. Additional work is required to fully evaluate the efficiency of the algebraic multigrid for this class of problem. Therefore, only results obtained using the conjugate gradient are presented in the following. Figure 2. Data management for hanging nodes: (a) LGR grid showing a cell P and its neighbors. (b) cell identification array, ID, on the fine underlying grid showing one-to-one connectivity. (c) mapping of the boundary of a physical cell based on the structured lines of the underlying grid. 3 American Institute of Aeronautics and Astronautics The major advantage of the present LGR approach with respect to classical OCTREE- based 2 and fully-unstructured 3 algorithms lies in the economy and flexibility of storing and retrieving connectivity information due to the presence of the underlying grid. In particular, only N cells are effectively defined on a N i xN j underlying grid and they are defined by the two couples (i,j) and (i+) i ,j+) j ), Fig. 2c. The total storage cost is 4N integers. In addition, an array of integers, ID (i,j) , is defined on the fine grid to store the correspondence between the underlying cell and the actual LGR element, Fig. 2b. In other words, all the underlying cells included in the range [i:i+) i - 1] and [j:j+) j -1] are tagged using the LGR cell number. The total storage required is, therefore, N i xN j . The connectivity information for each cell are retrieved consistently to a structured framework by indirectly querying the array ID (i,j) . The neighbors of an LGR cell are ID (i-1,k) and ID (i+1,k) for k ranging in [j: j+) j -1] in the positive and negative i-direction respectively. It is evident that the approach handles multiple hanging nodes for each cell and eventually, allows the reconstruction of additional connectivity information without any increase in storage; for example it is straightforward to identify all the vertex-based neighbors. As an example of the effectiveness of the present LGR algorithm, the solution of the RANS equations for a three-dimensional problem (discussed later in more details) is considered. Four levels of grid refinements are used and a total of about one million cells are considered. The OCTREE and fully implicit approaches are compared to the present LGR in Fig. 3 in terms of memory requirement and CPU necessary to build the systems (note that the solution is based for all the approaches on the same conjugate gradient algorithm). It must also be mentioned that the present numerical scheme requires the use of gradients for all variables at the cell centers to build a second order discretization of the fluxes 3 . The comparison in Fig. 3 shows that in terms of memory the present algorithm is still substantially more expensive (three-fold increase) than a corresponding structured grid scheme with the same number of cells. On the other hand it only requires a portion of the memory used by the OCTREE and fully implicit algorithm. In terms of CPU the advantage is also considerable (note that the solution time for the linear systems is not included in Fig. 3). Figure 3. Comparison of the present LGR technique with the OCTREE and the fully unstructured algorithm for a two-dimensional problem. REFINEMENT CRITERIA The generation of LGR grids is carried out by creating the underlying (fine) grid as discussed in details in [1] and coarsening it in the regions away from the immersed boundary. The advantage of this approach is that all the cell tagging (ray tracing) can be performed on a structured grid taking full advantage of the alignment of the cell centers and the grid nodes. The coarsening and the generation of the connectivity information is the last step of the grid generation process. Another important aspect of the application of the LGR is the selection of the refinement/coarsening criteria. In the present implementation LGR is used to increase the resolution in the surroundings of the immersed boundary and, therefore, the only criteria used is the geometrical distance between each cell and the boundary itself. A Heavyside tag function (generated using the ray tracing technique as mentioned before) is used to mark the cells inside and outside the immersed body; The cells are tagged as “fluid” or “solid” if the cell center is outside or inside the immersed boundary, respectively (interface elements are not important at this stage and, therefore, a cell is tagged by considering only the position of its cell center). An integer value +/-1 is assigned to each cell. The gradient of this function is non-zero only at the immersed boundary and it is dependent on the local grid size. This gradient is used to select the cells to be refined 8 . The grid is refined until a user specified resolution is achieved at the boundary. A smoothing function can be applied on the +/-1 tagging function to obtain a smeared interface that 4 American Institute of Aeronautics and Astronautics will allow a smoother transition between coarse and refined regions. TEST CASES Two test problems are considered: a two- dimensional airfoil and a three-dimensional pick- up truck. The first test case is the flow around an airfoil in close vicinity to the ground. The domain size is 4CxC with C the chord of the airfoil. The airfoil is located at 1C from the inlet and 0.1C from the ground. The airfoil geometry is reported in Fig. 4; three V-shaped grooves are present on the lower surface to increase the geometry complexity and therefore the grid complexity. Figure 4. LGR grid for a NACA airfoil with V- grooves. The locally refined grid is reported in Fig 4. Calculations have also been carried out on a structured grid which is the underlying fine grid used as a starting point for the coarsening procedure that eventually yield the LGR grid. In other words, the LGR grid represents a subset of the structured grid; only about 10% of the cells are effectively used in the LGR computation. Calculations have been carried out for both grids to evaluate the accuracy and speed of the LGR model. The results are presented in terms of pressure distributions on the airfoil in Fig. 5, for a Reynolds number based on the chord of 300,000. The pressure distributions are in remarkable agreement as the turbulent kinetic energy, reported in Fig. 6. In Fig. 7 a comparison of the convergence histories is presented to demonstrate the considerable speed of the LGR solver as opposed to the algorithm applied to the underlying structured grid. It must be noted that due to the increased computational cost of the LGR (cfn. Fig. 3) the effective savings in a calculation are in the order of 40-50%. Figure 5. Pressure distribution on the airfoil surface. Figure 6. Turbulent kinetic energy distribution for the structured (top) and the LGR (bottom) grid. Figure 7. Convergence history for the airfoil simulations. The second problem considered is flow around the pick-up truck geometry, presented in [1]. The computational domain considered corresponds to the wind tunnel test chamber used in the experiments 14 . The size of the domain is 12Lx1.05Lx1.25L where L is the length of the model. The Reynolds numbers, based on L, is 288,000 and inflow conditions are specified as 5 American Institute of Aeronautics and Astronautics constant velocity with a low level of turbulent intensity (~1%). The baseline computational grid consists of 354x164x70 cells and this corresponds to the results presented in [1]; it is used herein as a reference. A new grid with local grid refinement has been used; it consists of about 3 million cells (the underlying grid corresponds to 564x256x156=~22million cells). The grids in the symmetry plane are shown in Fig. 8. Figure 8. Computational LGR (top) and structured (bottom) grid in the symmetry plane for the GM pick-up model. PIV measurements are available for this problem from [14] in a plane behind the cabin, as illustrated in Fig. 9. The comparison between the experimental data and the IBRANS simulations carried out the structured and the LGR grid are reported in Fig. 10. Figure 9. Location of the PIV measurement sheet for the velocity profiles in Figure 11. The agreement is satisfactory, showing that the structured grid captures all the qualitative details of the complex three-dimensional separated flow 1 . In particular, both calculations show the strong downwash at the tail of the pick-up illustrated by the experiments. . (a) (b) (c) Figure 10. Streamlines in the symmetry plane for the pick-up; (a) experiments, (b) LGR grid (c) structured grid. 6 American Institute of Aeronautics and Astronautics A more quantitative comparison is presented in Fig. 11 where the velocity profiles in the wake regions are compared. The agreement is again satisfactory but it shows that the LGR grid captures the position of the shear layer (velocity gradient) more accurately than the structured grid. This is a direct result of the increased resolution in the immediate vicinity of the immersed boundary that allows for a better description of the shear layer detaching from the top of the cabin. Figure 11. Comparisons of velocity component in x-direction obtained using the LGR grid (solid lines) and the structured grid (dashed lines). PIV measurements are represented by symbols. Figure 12. Comparisons of surface pressure distributions on the symmetry plane 7 American Institute of Aeronautics and Astronautics It is worth noting that the worst agreement is observed at the tail gate where the simulations overestimate the velocity (profile x/L=0.98 and x/L=1.04). This is probably due to unsteady effects or to inaccuracy of the turbulence model employed. Unsteady simulations are currently ongoing to evaluate precisely this effect. Finally in Fig. 12 the pressure distribution on the symmetry plane of the pick-up is presented and compared to the measurements. The same comparison, reported in [1] provided an encouraging overall agreement but a substantial limitation in the accuracy of representing the pressure peaks. These are located at the base and the top of the windshield where the boundary layer are extremely thin. The structured grid captures substantially smoothed peaks with 15- 20% error. The LGR grid on the other hand provides a better resolution in the vicinity of the immersed boundary and therefore improves dramatically the agreement with the experiments. CONCLUSIONS A local grid refinement technique based on a novel quasi-structured approach has been developed and applied to the simulation of a two- and a three-dimensional problem. The technique is based on the use of an underlying, structured grid to build the connectivity information and the actual computational grid with hanging nodes. A fully conservative second-order discretization is employed in the context of a RANS solver. The immersed boundary technique is used to represent curved boundaries on non- aligned Cartesian meshes. The LGR represents an useful extension of the solver providing increased resolution in the close vicinity of the immersed boundary without the classical structured grids penalty of grid lines propagating to the boundaries. The validation cases demonstrate that the current algorithm is in satisfactory agreement with the structured solver applied on the underlying grid. The savings in terms of CPU are about 40-50% and the memory penalty is substantially smaller than classical AMR approaches. REFERENCES 1 Kalitzin, G., & Iaccarino, G., “Towards an Immersed Boundary RANS Flow Solver”, AIAA Paper 2003- 0770. 2 Berger, M, & Aftosmis, M, “Aspects (and aspect ratios) of Cartesian Mesh Methods”, 16 th Int. Conf. Of Numerical Methods in Fluid Dynamics, 1998. 3 Ham, F. E., Lien, F. S., & Strong, A. B., “A Cartesian Grid Method with Transient Anisotropic Adaptation”, J. Comp. Phys., V. 179, pp. 469-494, 2002. 4 Durbin. P.A., & Iaccarino, G. “Adaptive Grid Refinement for Structured Grids”, J. Comp. Physics, Vol.128, pp.110-121, 2002. 5 O’Rourke, “Computational Geometry in C”, John Wiley, 1998. 6 Ferziger, J.H., & Peric, M. “Computational Methods for Fluid Dynamics”, Springer 2002. 7 Wilcox, D.C. “Turbulence Modeling for CFD”, DCW Industries, 1993 8 Iaccarino, G. & Verzicco, R., “Immersed Boundary Technique for Turbulent Flow Simulations” to appear in Applied Mech. Review, 2003. 9 Majumdar, S., Iaccarino, G. & Durbin, P. A., “RANS Solver with Adaptive Structured Boundary Non- Conforming Grids”, CTR Annual Briefs, 2001. 10 Kalitzin, G., & Iaccarino, G., “Turbulence Modeling in an Immersed Boundary RANS Method”, CTR Annual Briefs, 2002. 11 Kalitzin, G., & Iaccarino, G., “Toward Immersed Boundary Simulations of High Reynolds Number Flows”, CTR Annual Briefs, 2003. 12 Van der Vorst, “BICGSTAB, A Fast and Smoothly Converging Variant of BICG for the Solution of Non-Symmetric Linear Systems”, SIAM J. Numer. Anal, V. 5, pp. 530-558, 1992. 13 “HYPRE, High Performance Preconditioners,, Vsn. 1.8.1b”, Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, 2003. 14 Bernal, L. & Khalighi, B, Personal Communication 8 American Institute of Aeronautics and Astronautics . by . Published by the American Institute of Aeronautics and Astronautics, Inc., with permission. AIAA-2004-0586 LOCAL GRID REFINEMENT FOR AN IMMERSED BOUNDARY RANS SOLVER Gianluca Iaccarino,