Verification and Validation is for Everyone

Verification and validation really is an essential process that every CFD user needs to keep in mind. We have all encountered situations where computers have fallen victim to GIGO ("Garbage In-Garbage Out") and happily spew out reams of useless "data". Any production Navier-Stokes solver is a complex piece of software that is just as susceptible to this as anything else. So if you or your business are going to invest the time, energy, and money to conduct a CFD analysis, how can you be sure that the results are valid?

No silver bullets

Let me encourage you to not take this subject lightly or rush past it on the way to the shiny new expert system that is supposed to take care of all these accuracy issues "automagically". Despite what overzealous sales representatives may sometimes claim, there is currently no CFD code which can automatically take care of solution verification and validation for the general case of non-trivial engineering flows. Having said that, there are, however, expert systems which can be set up to more or less automatically solve a narrowly defined class of problems--but you still have to make sure the answers you get are reasonable.

Properly used, CFD can produce amazingly accurate predictions of fluid flow in an ever-broadening range of applications. Unfortunately, it is still distressingly easy to get a really wrong answer that looks reasonable.

This truth is a major factor in keeping CFD largely in the realm of specialists and preventing it from making more inroads into mainstream engineering and design processes. The problem is particularly acute in commercial CFD codes, which, understandably, do everything they can to provide a solution, no matter what the user throws at them. So don't assume that just because the case ran that the answer must be correct. Proper verification and validation practices could save you from some expensive mistakes, to say nothing of personal embarrassment.

Many different sources of error

The possible sources of error in a CFD solution are many and varied. Here is a partial list of problems that I have personally encountered:

  • Errors in the operating system
  • Errors in compilers
  • Errors in the design of the CPU
  • Inadequate resolution in the computational grid
  • Placing farfield boundaries too close to the regions of interest
  • Not converging the solution sufficiently
  • Using an algorithm with too much numerical dissipation
  • Misapplying a boundary condition
  • Taking too large a time step
  • Using an inappropriate chemical reaction model
  • Errors due to lack of numerical precision (i.e. round-off error)
  • Errors in the programming of the CFD code
  • Note how many items on the list have nothing to do with the programmers who developed the CFD solver; most errors are operator error. As a user it can be very easy to make mistakes...especially when you are first starting. Verification and validation practices can help keep you out of trouble. And that's not to say these codes are bug free, either. In fact, just a couple days before writing this, I found a bug that had evidently been present in one particular solver for several years. Most of the solutions showed no problems as a result of this bug, but you wouldn't want your cases to be in that small fraction of runs that might have been corrupted.

    Bottom line: understand the physics and verify the code

    At the end of the day, it is still true that no amount of software engineering can take the place of an understanding of the physics involved in your particular problem. So, don't fall into the trap of saying, "Well, here's what the computer says, so it must be true." Take the time to assure yourself of the accuracy of your CFD code as applied to your particular class of problems on your systems. If you make verification and validation a regular part of your CFD work, it will pay huge dividends.

    On a personal note...

    In the interest of full disclosure, I am one of the aforementioned CFD specialists, so I am in some ways the beneficiary of keeping CFD in the specialist realm. Nevertheless, I have seen enough examples of misapplication of CFD to know that this is not just fear-mongering. On the other hand, I don't want to give the impression that CFD cannot be trusted at all. As I said before, properly applied, CFD has been able to produce some amazing (and accurate) insights into the physics of some very complex phenomena.

    I hope I've convinced you to look further into CFD verification and validation .

    Or, head over to the Innovative CFD home page to browse through some of the other topics on the site.

    New! Comments

    Have your say about what you just read! Leave a comment in the box below.