From the Toward Predictive Combustion blog series
Years ago, on Black Friday no less, I remember coming home with my first High Definition Television. At that time there were only limited HD shows available, however I found myself trading good TV for stunning image quality. Once I caught a glimpse of a high resolution broadcast, the Standard Definition Television that had been perfectly fine for years up until hours beforehand suddenly became unbearable to watch. And why should I settle for 480i when 720p or 1080i was available? Now, several years later, virtually all television is available in High Definition. Fortunately for engineers, similar progress in resolution is being made in the world of Computational Fluid Dynamics (CFD). But more on that in a minute.
One of my biggest pet peeves is the phrase “grid independent.” Grid independence implies that you can get the same answer with any mesh. Any cell size, any cell shape. If you’re an experienced CFD user you know that the idea of a grid independent result is a pipe dream. The only way to achieve this is to employ such extensive empiricism that you are throwing out all or part of the CFD solution. When presented with such a grid independent model the user should be highly skeptical of its applicability outside of a small window of problems.
“Grid independence” is also sometimes incorrectly used to describe “grid convergence.” In other words, as the mesh is refined, do the results eventually converge to an answer? Even better, do the results converge to the right answer? Think of grid convergence as HDTV with the CFD domain as the television screen. Standard definition is a coarse mesh with fuzzy images. As the domain is refined, the image starts to become clearer and clearer until further resolution doesn’t show a noticeable difference. A 720p HDTV image is 1280×720 or 921,600 pixels per frame. A 1080p HDTV image is 1920×1080 or 2,073,600 pixels per frame. To the casual viewer, these two resolutions may not look noticeably different, but both look significantly better than 480i SDTV at 345,600 pixels per frame (as a side note, I recently saw a stunning new UHD TV which may just be the DNS of television broadcasting).
So how do we obtain HD resolution for our fluid dynamics simulations? In CFD, higher resolution comes from adding cells, similar to adding pixels. However, the HD-equivalent of a fluid calculation comes at a very high computational cost. Fortunately, something called Adaptive Mesh Refinement (AMR) can be used so that resolution is only added where it is needed to keep the solution crisp. Think of AMR as adding pixels on your TV screen just in places where the color gradients are high. Neat idea, right? Well, it turns out that researchers at the University of California, Irvine are already looking at this type of functionality for image displays through a process called “Optical Pixel Sharing” (details can be found here). To quote their paper:
We explore, for the first time, the concept of variable spatial resolution display – a display that does not provide uniform density of pixels everywhere but allocates higher densities at specific regions of interest based on the content.
That sounds just like AMR! If optical pixel sharing was to be done on a movie, would it make sense to distribute pixels on the first frame and then hold those fixed throughout? Would it make sense for the viewer to guess where the resolution should go? The answer to these questions is “no!” Why? An explosion may occur in the upper left-hand corner of your TV in one part of a movie, but later this portion of the screen may contain a very uniform night sky. Seems obvious, but this is what most CFD users do with their computational grids – they make them ahead of time. To see the problem with this, check out the image below of a combusting jet in a cross flow.
This image shows the temperature field and the computational mesh for one instance in time. The geometry for this case is very straightforward, but check out the crazy mesh that’s needed to resolve the flow! This says that even for a simple geometry it doesn’t make sense to create the mesh ahead of time. If you must start with a user-generated mesh your options are either a) live with standard definition, fuzzy CFD, or b) shell out the big bucks and put high resolution everywhere in the domain. Given those options, I’d let the solver make the mesh for me. Given those options, I’d count on AMR – it’s HD at a price we can all afford.