The Method of Manufactured Solutions: A Powerful Tool for Software Verification

Another very useful tool for CFD verification is the Method of Manufactured Solutions (or MMS). This particular technique is usually more of a developer's tool, but I know of at least one CFD solver (the Wind-US code from the NPARC Alliance) which allows users to employ the technique for themselves. The reason I know this is that I'm the one that put it there.

I know of other codes where the developers are using MMS for CFD code verification, but I do not know if a user would have access to it themselves. If your particular code does have a built-in MMS algorithm, then it would be well worth your time to use it to verify as many of the algorithms you will be using as possible.

What is MMS?

The Method of Manufactured Solutions is a technique by which numerical methods within codes can be verified to ensure that they have been coded correctly and do, in fact, solve the equations that they claim to solve. While the basic ideas of MMS were developed some time ago (in the '80s and '90s), MMS only began to be applied to large, general-purpose flow solvers around '03 and '04. At the time of this writing, it has become, if not common, at least not unheard of for a solver to be tested with MMS as part of a quality control process prior to release.

As I write this at the end of 2007, I know of successful applications of MMS to verify any number of interior schemes for both the inviscid and viscous terms of the Navier-Stokes equations. Also, the method has been extended to cover various turbulence models and boundary conditions.

The Future of MMS?

An interesting alternative approach to the Method of Manufactured Solutions that is currently under development is an "outboard" tool which allows an analysis of a code without having to actually have the MMS algorithms programmed within the code. In fact, you don't even need access to the solver's source code at all. In order for this to work, however, the tool must be written with the knowledge of the particular time-marching scheme in use in your code.

While I know that the developer of this technique has applied it successfully to a couple different codes, the tool itself has not been released for general use. That may change soon, however, so an occasional search of the web might be a good idea.

So, how does it work?

If you are interested in learning some of the details of how MMSworks, check out this overview of the basic Method of Manufactured Solutions .

The specific steps to apply MMS to a particular algorithm will be very code-specific. As such, if you wish to pursue this option, it will be necessary to consult with your particular vendor's documentation and/or support desk. It is well worth doing, however, as the peace of mind from knowing your CFD code has correctly implemented the algorithms it claims to be using allows you to concentrate on other things--such as choosing the right options for solving your particular problems.

Click here to return to the main Verification and Validation page.

Or, head back to the Innovative CFD home page

New! Comments

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