BRC: Grid Refinement – Quadrilaterals

The ability to refine quadrilaterals will allow me to process grids which discretize boundary layer regions with quadrilaterals and use triangles elsewhere.  This is an important step to being able to handle more realistic configurations which utilize quads/triangles in 2-D and prisms/tetrahedrons in 3-D.  Since Cobalt uses unstructured grids, I allow quadrilaterals to be refined as a mix of triangles and quadrilaterals.  This allows the refinement to remain localized.

My first test case contains only quadrilaterals in the grid.  It is the axi-symmetric bump of Bachalo and Johnson.  The slideshow below presents the grid in the top image and the corresponding solution, colored by pressure, in the bottom image.  A pressure difference of 5% was used as the refinement criteria.

The grid statistics are provided in the table below.  The grid score has not suffered as much as the pure triangle grids had.

 OriginalRefinement 1Refinement 2Refinement 3Refinement 4
Number of Points22,32123,26824,49625,67228,087
Number of Faces44,32046,43949,31051,97257,517
Number of Cells22,00023,17224,81526,30129,431
Grid Score96.1996.1396.0395.9895.87

The second case is a NACA0012 which resolves the boundary layer with quads and uses triangles outside the BL. This case was run at a transonic condition to generate a shock along the airfoil for shock/BL interaction. The original and refined grids plus solution, colored by Mach number, are shown below. A pressure difference of 5% was also used to determine refinement for this case.

The table below shows the grid statistics for the original and refined NACA0012. The grid score has gone down by 1.21 over the four refinements.

 OriginalRefinement 1Refinement 2Refinement 3Refinement 4
Number of Points22,04123,22725,48327,56631,349
Number of Faces56,16759,18364,97271,14382,492
Number of Cells34,12635,95639,48943,57751,143
Grid Score98.4898.3398.0597.7197.27

BRC: Grid Refinement – Triangles

It has been some time since I’ve had a project with exciting enough results, or just exciting enough, to feature in Bob’s Research Corner.  Recently, I started working on a topic that has interested me for many years.  We’ve all made grids were we’ve tried to capture certain flow features.  After obtaining a solution, we realized we needed more resolution in specific areas.  Unfortunately time constraints by the customer do not allow us to manually refine the grid to the level that is required.  This edition of Bob’s Research Corner will chronicle my attempts to develop a grid refinement utility.

I had originally looked into grid refinement back in 2011, but shelved the project since it was low priority.  At that time, I only looked a triangles and used Delaunay triangulation for refinement.  I had several concerns including high aspect ratio cells and different cells types (besides triangles and tetrahedrons).  Earlier this year, I focused some effort on overcoming those concerns and developed a method that might do so.

For me, grid refinement must meet three criteria:

  • Refine specified features
  • Make a valid grid
  • Minimize the degradation of grid quality

The first criteria is relatively straight forward, although some features might get over refined while trying to target specific areas.  The second criteria is probably the most difficult specifically for 3-D Boundary Layer grids and folded faces/negative volumes; the concern for 2-D is just making sure the new connectivity is correct.  Lastly, care must be taken to not offset the improved solution in certain areas by degrading the grid and the solution in other areas.  Initially, I will concentrate just on the first and second criterion. 

The first case I will use to test grid refinement is a supersonic ramp.  The inflow Mach Number is 1.9.  The solution has oblique shocks, a normal shock and an expansion fan.  This is an inviscid case, and the grid contains mostly nice, equilateral triangles.  A converged solution on the original grid was obtained; this solution was then used to refine the original grid.  A converged solution was obtained on the refined grid.  This process was repeated three more times.  The slideshow below shows the grid to the left and the pressure field on the right starting with the original grid and marching to the fourth refinement. You can click on each frame to zoom in on the image.  A pressure difference of 5% between cells was used as the refinement criteria.

The table below presents the statistics for the various grids.  The original grid has a very high score, almost perfect, at 99.72.  The fourth refinement grid results in a grid score of 96.53.  There has been some degradation of the grid which must be looked into further.

 OriginalRefinement 1Refinement 2Refinement 3Refinement 4
Number of Points2,1272,9514,3416,89411,678
Number of Faces6,2228,68612,84720,49834,841
Number of Cells4,0965,7368,50713,60523,164
Grid Score99.7298.6597.6797.0396.53

The second case is a 2-D cylinder, or circle, with a inviscid grid made up of only triangles. The incoming Mach Number is 5.0 and the Equilibrium Air model was used. The original grid was never intended for supersonic flow. It was a coarse grid for separated flow behind a cylinder. The slideshow below shows the grid on the left with the corresponding solution on the right. For this case, the flowfield is colored by density. Again, you can click on a frame to zoom in.

Grid statistics are presented in the table below. Like the Ramp, the original grid has a very high score of 99.62.  The fourth refinement grid results in a grid score of 95.93.

 OriginalRefinement 1Refinement 2Refinement 3Refinement 4
Number of Points8,49911,48017,14527,41645,816
Number of Faces25,23034,12351,05481,813136,982
Number of Cells16,73122,64333,90954,39791,166
Grid Score99.6298.5897.4896.5995.93

Check back next month when I plan to have the refinement of quadrilaterals implemented.

BRC: Malleatus, part 3

The third milestone in making Malleatus production ready was to allow user control of the deformation of the boundary surfaces. I developed an interface such that the user can code how the boundaries move and pass/receive information to Malleatus. The exchange of information is shown below:

For this post, I revisited the F-16. I will show animations of twisting and bending of the the wing using the user-coded boundary movement library. Additionally, this case was run using small scale parallelization (up to 8 processors).Continue reading

BRC: Malleatus, part 2

The next milestone reached in the continued development of Malleatus was the determination of user input.  As always, we want to provide enough control to the user while not overwhelming them with unnecessary knobs.  I was able to minimize the user input to three values.  The first two control the amount of influence the movement of boundaries have on grid points;  the values must lie between 0.0 and 1.0. The final input controls the unfolding of folded faces algorithm.  Additionally, initial parallelization work has begun.

For this post, I revisited the Onera M6 wing.  I wanted to show solutions obtaining under bending and twisting using the new user input.  The conditions used for the simulation were: M= 0.8395, angle of attack = 3.06 degrees, Pressure = 98,920.475 Pa and T was 300 degrees K.Continue reading

Bob’s Research Corner: Malleatus, part 1

Last year the focus of Bob’s Research Corner was to report on the evaluation and testing of various grid deformation techniques.  This year, I’m going to chronicle the transformation of last year’s research code into a production utility.  I’ve decided to name this utility Malleatus.  Malleatus means “beaten or shaped by a hammer” which invokes images of using a hammer to bend and shape a grid.  But grid deformation also requires a delicate hand, and the name references malleus which is the hammer-shaped bone in the middle ear that transmits vibrations of the eardrum.Continue reading

Bob’s Research Corner: Grid Def – More Bending

For the last several months, I’ve been working on an algorithm to increase the amount of bending my grid deformer can handle before the grid becomes invalid. I’m finally to the point where I believe I have a reliable algorithm that unfolds folded faces resulting from grid deformation. For this article, I will focus on bending only. I will show the increased bending limit for both the Onera M6 wing and the F-18C vertical tail shown previously in “Bob’s Research Corner: Grid Def – Bending”.Continue reading

Bob’s Research Corner: Grid Def – Twist

In this post, I’ll present the twisting results of my grid deformation code.  I’ve taken the same grids (Onera M6 wing and the F-18C vertical tail) and applied a twist along the mid-chord.  For information about the grids and the bending results, you can read “Bob’s Research Corner: Grid Def – Bending”.  Twisting along the mid-chord is based on the square of the span location times a maximum twist angle.

On the Onera M6 wing, the maximum twist angle achieved before encountering folded faces was 10.5 degrees. The maximum twist occurs at the wing tip.  This is an ok twist amount just like the bending result.  The results are shown below, first with a video of the wing twisting over 25 time-steps followed by still images comparing the original versus deformed grid.  The original grid is shown in red while the deformed grid is shown in blue.Continue reading

Bob’s Research Corner: Grid Def – Bending

For the last month or so, I’ve been focusing on 3-D grids with deforming boundaries.  I split this into two main categories: bending and twisting.  This article will focus on bending only.  I will make a post about twisting in the near future.

The goal of this project is to develop a grid deformation algorithm capable of handling larger than real world deformations.  And by handling, I mean producing valid Cobalt grids.  If I’m successful, then our customers can simulate real world cases such as aeroelastic deformations.

The first test case I’m going to show is an Onera M6 wing grid.  The grid contains 2,276,261 cells (1,832,756 tets, 17,642 pyramids and 425,863 prisms) and is valid for Navier-Stokes simulations.  The bending function used is a quadratic displacement based on an amplitude multiplying the square of the span location.  The maximum deflection of the tip I could get was 9.25% of the span; anything larger resulted in the dreaded folded faces.  For those not familiar with a folded face, first, define a face as the interface between two cells.  When flow leaves one cell across a face, it enters the other cell.  When a face becomes folded, then the centroids of both cells lie on the same side of the face.  This means flow leaving one cell through the face, also leaves the other cells.  This is VERY bad as conservation cannot be conserved!  That being said, a 9.25% of the span deflection is not bad.  This might be good enough for real world cases.  Of course, I’d like to do better.  The video below shows the bending of the wing compared to the original.  And the images show the original grid versus the deformed grid.Continue reading

Bob’s Research Corner: Grid Deformation – Part I

Welcome to Bob’s Research Corner!  In the past, we did not have a convenient way to provide research news to you – unless you considered spamming your email occasionally a good way :).  When I redesigned the website, I made it very easy to post quick news updates.  You can thank Bill for the idea (or maybe blame him — your choice!)  I plan to provide updates on my research once or twice a quarter.  It’s up to you if you want to read my ramblings…..

With the release of v7.0, I’ve been able to shift my focus from Overset to a new project.  I had several ideas/interests and decided to look into Grid Deformation.  Cobalt has been able to calculate solutions on deforming grids since the release of v6.0 (February 2013).  Our plan was always to interface with a 3rd party grid deformer.  Unfortunately, that has not happened yet.  So I decided it was time to see if I could develop our own grid deformation tool…

I’ve spent the last month looking at grid deformation methods, writing little research codes to test out ideas, etc.  I’m finally ready to provide a little preview.  It’s only 2-D with rigid boundaries — but the interior of the grid must deform. Every step has a valid Cobalt grid…I’m ok with +/-90 degree rotation! If you have any questions, leave a comment or send me an email. Check back in a few weeks when I hope to have more to show you.