Tuesday, September 22, 2009

Modified FDS 6 Options

For anyone testing FDS6=T on the MISC line, please be aware that with the latest SVN (4801) there have been some noteworthy modifications. Generally speaking, these modifications are the result of experience gained by solving issues presented by our user community and we would like to thank those who have contributed to this effort. It is simply not possible for the developers to test every possible scenario the user may encounter: your feedback is invaluable.

The original list of FDS6 options can be found here:
http://groups.google.com/group/fds-smv/browse_thread/thread/7bb35719784756b7#

This list has been modified as follows:

1. CHECK_KINETIC_ENERGY=F is the new default. This is a rather inconsequential change, but as we get further into the development cycle timing becomes a more important concern and so removing this flag as a default provides a closer comparison with FDS 5. If the user wishes to output QUANTITY='TURBULENCE_RESOLUTION' then they need to set CHECK_KINETIC_ENERGY=T on MISC.

2. PROJECTION=T (on MISC) is a new option in FDS6. With this option the time integration scheme is a true projection method. Because of the current structure of FDS 5 this option uses more flops, but in my experience this is not noticeable. So, what is a true projection method as opposed to the usual scheme in FDS 5? In FDS 5 the assumption is made that the pressure field obtained from the Poisson solve will force the velocity to exactly match the velocity divergence computed from the time derivative of the equation of state. Because we use a direct Poisson solver at the end of a time step the actual discrete velocity divergence is very close to an exact match of the desired velocity divergence from the equation of state. BUT, on the next time step whatever error (however small) that we incurred on the previous time step is still present. For very refined and long-time calculations there is the possibility that this error could become significant, potentially even causing an instability. Put simply, a true projection method does not have this deficiency. On every time step the velocity field is projected to match the desired divergence and the error from the previous projection is erased. Provided this method can be made as efficient as the FDS 5 method -- and it can with the proper code structure -- the true projection is clearly the more desirable approach.

3. For DNS=T we now set FLUX_LIMITER=4. FL=4 invokes the Charmers limiter which is convergent whereas FL=2 invokes Superbee which does a better job at retaining shocks in the scalar data but is not convergent. We hope to eventually have a scheme that smoothly transitions from one method to the other (FL=2 to FL=4) as the grid is refined (i.e. as we converge from LES to DNS).

In addition to the modifications listed above, a significant improvement has been made to the stability check (i.e. the time step calculation) used in FDS 6. In short, the previous method was overly restrictive and was adding unnecessary computational expense to FDS 6 calculations. What we find now is that the cost of the velocity calculations in FDS 6 are roughly 16% more than FDS 5 due to the calculation of the dynamic Smagorinsky constant. But, we also find that the mass transport routines are half the cost of FDS 5. The overall cost difference is problem dependent but we feel we are slowly trimming the fat from FDS 6.

Please keep your observations coming (with the latest SVN, of course :))!