tag:blogger.com,1999:blog-24334386020322903972014-08-22T10:52:37.019-04:00FDS-SMV Developer BlogThis blog covers topics related to the development and maintenance of the Fire Dynamics Simulator and Smokeview software. It is intended only for broadcasts by the developers to interested subscribers. General discussion and questions concerning FDS and Smokeview should be directed to the FDS-SMV Discussion Group.glenn forneyhttp://www.blogger.com/profile/12306958171159181957noreply@blogger.comBlogger72125tag:blogger.com,1999:blog-2433438602032290397.post-42525560801123911292014-08-22T10:52:00.000-04:002014-08-22T10:52:37.041-04:00FDS formulation to appear in Journal of Computational PhysicsI apologize for the shameless self promotion. But we code grunts need citations, too.<br /><br />I am happy to report that the formulation developed and implemented in FDS 6 will appear in the high impact, peer-reviewed Journal of Computational Physics. Please cite the article in addition to the FDS Tech Guide when referring to the mathematical formulation. Here is a link to the article:<br /><br /><a href="http://www.sciencedirect.com/science/article/pii/S0021999114004264" target="_blank">A velocity divergence constraint for large-eddy simulation of low-Mach flows</a><br /><br />Abstract:<br /><br />The velocity divergence (rate of fluid volumetric expansion) is a flow field quantity of fundamental importance in low-Mach flows. It directly affects the local mass density and therefore the local temperature through the equation of state. In this paper, starting from the conservative form of the sensible enthalpy transport equation, we derive a discrete divergence constraint for use in large-eddy simulation (LES) of low-Mach flows. The result accounts for numerical transport of mass and energy, which is difficult to eliminate in relatively coarse, engineering LES calculations when total variation diminishing (TVD) scalar transport schemes are employed. Without the correction terms derived here, unresolved (numerical) mixing of gas species with different heat capacities or molecular weights may lead to erroneous mixture temperatures and ultimately to an imbalance in the energy budget. The new formulation is implemented in a publicly available LES code called the Fire Dynamics Simulator (FDS). Accuracy of the flow solver for transport is demonstrated using the method of manufactured solutions. The conservation properties of the present scheme are demonstrated on two simple energy budget test cases, one involving a small fire in a compartment with natural ventilation and another involving mixing of two gases with different thermal properties.<br />Randy McDermotthttp://www.blogger.com/profile/09646865475355573984noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-83522822822636363692014-07-09T13:52:00.000-04:002014-07-09T13:52:16.927-04:00Good-bye to 32 bit apps?We currently compile FDS and Smokeview for MS Windows, Linux, and Apple OS X. We release both a 32 bit and 64 bit version of each program for each OS. Maintaining the 32 bit apps is becoming increasingly troublesome, and we anticipate that in the coming year we will drop support for 32 bit operating systems. I suspect that this will not be an issue for Linux and OS X users, but we do not know about Windows. MS no longer supports Windows XP, the last OS to come with 32 bit as the default, but there might still be a lot of these machines around. So this is an opportunity for any and all 32 bit users to make their case for us to continue supporting 32 bit. If we do not see a significant call for keeping 32 bit, we will drop it to simplify our compilation and release activities. Kevin McGrattanhttp://www.blogger.com/profile/12636555449293429503noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-41106085939675711902014-07-09T13:38:00.000-04:002014-07-09T13:38:23.738-04:00FDS Parallel Processing using MPI (Message Passing Interface)The latest release of FDS (6.1.0) runs with OpenMP by default; that is, the code uses multiple cores/processors of a single computer to process a single mesh. In other words, OpenMP is a "shared memory, multi-processor" form of parallel processing. We are now looking at the MPI version of FDS. This is where we use multiple computers to process multiple meshes -- distributed memory, multi-processor. For linux and OS X, we use Open MPI, an open-source, free set of MPI libraries. For Windows, we have been using MPICH2 (MPI-2), a similar set of libraries distributed by Argonne National Labs. We've recently learned that the MPICH team is dropping support for Windows, and a team from Microsoft has developed MS-MPI, a similar set of libraries as MPICH, to take its place. We have experimented with MS-MPI recently, but we discovered that MS-MPI is designed for use on a Windows HPC server, essentially a dedicated cluster of computers running a special OS specifically for high performance computing. MPICH had the advantage of running on an ordinary office network. We recognize that this is probably a common configuration for small engineering firms. Now with support for MPICH on Windows going away, and MS-MPI not quite what we are looking for, we are searching for another alternative. There are two, that we know of. First, Open MPI can, in theory, port to Windows, but we discovered that it involves installing Cygwin, essentially a unix/linux emulator for MS Windows. That proved to be quite onerous. Next, there is Intel MPI. At NIST, we use Intel compilers for both FDS and Smokeview releases. Intel sells its own MPI libraries as an add-on to its existing compilers. It also would allow us to distribute the run-time libraries needed for you to be able to run our compiled version of FDS. We are currently testing Intel MPI, and while we do, if any of you has any experience with it or comments in general on MPI, we'd like to hear from you. You can post your comments via the FDS-SMV Discussion Group under this thread.<br /><br />Kevin McGrattanhttp://www.blogger.com/profile/12636555449293429503noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-75199846438139365192014-05-29T10:36:00.000-04:002014-05-29T10:36:31.347-04:00FDS 6.1.0 ReleasedWe are releasing today a minor release of FDS, version 6.1.0. Note that a minor release means that there are some minor changes in functionality between FDS 6.0.x and FDS 6.1.0. For a list of these changes, consult the release notes:<br /><br /><a href="https://code.google.com/p/fds-smv/wiki/FDS_Release_Notes">https://code.google.com/p/fds-smv/wiki/FDS_Release_Notes</a><br /><br />For most of you, the most significant change is that we are now releasing the OpenMP version of FDS as the default. In the past, we released the OpenMP version as an option. Now, if you run FDS in what we used to call "serial" mode, i.e.<br /><br /><span style="font-family: "Courier New",Courier,monospace;">fds job_name.fds</span><br /><br /><span style="font-family: inherit;">the executable will exploit multiple cores of your machine, typically four but it depends on your specs. We have found via benchmark testing that four cores seems to be the optimum number for a typical Windows-based PC. It provides approximately a factor of 2 in speed-up, although we would like to hear from you if you experience something dramatically different. More details are provided in the User's Guide.</span><br /><br /><span style="font-family: inherit;">Keep in mind that OpenMP and MPI are two very different kinds of parallel processing. The MPI version of FDS, which is still the same as it was, exploits shared or distributed memory architectures; that is, it can exploit multiple cores on a single machine or on multiple machines on a network. To make MPI work, you <i>must</i> </span>divide the computational domain into multiple meshes. However, OpenMP, which can only exploit shared memory architectures, can make either single or multiple mesh calculations run faster, but you are limited to a single machine. We are exploring the possibility of using both OpenMP and MPI to exploit multiple cores on multiple machines of a network. For the moment, we want to make sure that the OpenMP version works reliably.<br /><br />The implementation of OpenMP in FDS was started by Christian Rogsch several years ago and more recently by Daniel Haarhoff. Thanks also to Boris Stock and Cian Davis who helped work out a few kinks in the new release. Thanks also to all of you who have contributed results of your benchmarking exercises. This greatly helps us better understand how both the MPI and OpenMP versions work under the various operating systems we develop for. We're going to continue to put together benchmarking cases as we continue to improve the parallel processing. Let us know via the FDS-SMV Discussion Group if there is any trouble with the new version.Kevin McGrattanhttp://www.blogger.com/profile/12636555449293429503noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-66674006637144597592013-12-10T10:00:00.003-05:002013-12-10T10:00:45.962-05:00FDS 6.0.1 and SMV 6.1.5 releasedAn updated version of the FDS-SMV bundles has been released, which includes a maintenance release of FDS 6.0.1 and SMV 6.1.5. This maintenance release of FDS uses a newer version of the Open MPI libraries (1.6.5) for Linux and Mac OS X and includes other bug fixes and improvements. You can download the updated FDS-SMV bundles from the <a href="https://code.google.com/p/fds-smv/wiki/Downloads_Overview?tm=2">downloads page</a>.<br /><br />The updated precompiled versions of the Open MPI libraries are also available from our download site, and the instructions and download links are available on our Wiki Pages for <a href="https://code.google.com/p/fds-smv/wiki/Running_FDS_MPI_on_Linux">Linux</a> and <a href="https://code.google.com/p/fds-smv/wiki/Running_FDS_MPI_on_OSX">Mac OS X</a>.<br /><br />FDS 6.0.1<br /><ul><li>The MPI version of FDS is now compiled with Open MPI 1.6.5.</li><li>Fixes related to lumped species definitions.</li><li>Use FLUSH statement instead of CLOSE/OPEN in dump routines.</li><li>Add ability to modify most thermophysical properties for user-defined mixtures.</li><li>Fix bug in particle tracking algorithm.</li><li>Fix initialization of back wall temperature.</li><li>Add inlet velocity profile functionality via RAMP_V_X, etc., on SURF line.</li><li>Include FDS User, Technical, Verification, Validation, and Configuration guides in bundle.</li></ul><br /><div>SMV 6.1.5</div><div><div><ul><li>enhancement: draw vectors on general oriented slices</li><li>usability: save fire colormap state in .ini file - (Issue 2020)</li><li>fix: correct call to qsort when drawing volume rendered smoke/fire (Issue 2029)</li><li>fix: fix problem with rendering a general slice from a script</li><li>fix: fix label visibility - (Issue 2019)</li></ul><div>Please continue to post any bug reports to the Issue Tracker, and post other feedback to the Discussion Group.</div></div></div>Kristopher Overholthttp://www.blogger.com/profile/06154235014803248012noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-85789161482861736032013-11-12T13:52:00.001-05:002013-11-12T13:52:45.842-05:00FDS and the Challenge of "Big Data"Just the other day Kris Overholt stumbled across a blog post written by a post-doctoral fellow at the University of Washington, Jake VanderPlas:<br /><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:EnableOpenTypeKerning/> <w:DontFlipMirrorIndents/> <w:OverrideTableStyleHps/> </w:Compatibility> <w:DoNotOptimizeForBrowser/> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--"/> <m:smallFrac m:val="off"/> <m:dispDef/> <m:lMargin m:val="0"/> <m:rMargin m:val="0"/> <m:defJc m:val="centerGroup"/> <m:wrapIndent m:val="1440"/> <m:intLim m:val="subSup"/> <m:naryLim m:val="undOvr"/> </m:mathPr></w:WordDocument></xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles></xml><![endif]--><!--[if gte mso 10]><style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin;} </style><![endif]--> <br /><div class="MsoPlainText"><a href="http://jakevdp.github.io/blog/2013/10/26/big-data-brain-drain/">http://jakevdp.github.io/blog/2013/10/26/big-data-brain-drain/</a></div><div class="MsoPlainText"><br /></div><div class="MsoPlainText">The article speaks to the difficulty of maintaining sophisticated computational tools in an academic setting, and helps explain some of the challenges we face in developing and maintaining FDS and Smokeview. In particular, the article points out how the traditional form of academic scholarship has become counter-productive:</div><blockquote class="tr_bq"><div class="MsoPlainText">This brings us to Academia's core problem: despite the centrality of well-documented, well-written software to the current paradigm of scientific research, <b>academia has been singularly successful at discouraging these very practices that would contribute to its success.</b> In the "publish-or-perish" model which dominates most research universities, any time spent building and documenting software tools is time spent <i>not</i> writing research papers, which are the primary currency of the academic reward structure. As a result, except in certain exceptional circumstances, those who focus on reproducible and open software are less likely to build the resume required for promotion within the academic system.</div></blockquote>While NIST and VTT are not universities, they have much in common and share the same reward structure. Our management has, to some extent, adopted a broader set of criteria for evaluating our impact, but the fact remains that we and our collaborators are under pressure to publish papers rather than do the necessary things to maintain FDS and Smokeview. You might say that the two need not be mutually exclusive, but they often are. Take, for example, the recent request for an OpenMP (i.e., shared-memory parallel) version of FDS 6. OpenMP is a set of statements within the FDS Fortran source code that enables FDS to run on a single computer that has multiple processors or cores. This is different than the MPI version of FDS which enables multiple meshes to be processed by multiple computers. There was an OpenMP version of FDS 5 that was contributed by a volunteer, but he can no longer work on this because he has to earn a living (one does wonder where all this wonderful free stuff on the Internet comes from). OpenMP is not new, and implementing it in FDS is not going to win anyone fame, fortune, or even a published journal article. It is a thankless task (academically). OpenMP is just one example. Consider the time and effort to assemble all those verification and validation case studies, and automate the procedure for running and processing them, and prepare the manuals, and distribute the software, and so on. Much of this work is not the stuff of academic journals, but it is absolutely necessary.<br /><br />So what is the solution to this problem? The first step is to develop a new definition of the word "collaboration." To most, collaboration means that we publish our work in journals, or meet at conferences and exchange ideas. In many areas of science and engineering, this has worked reasonably well for centuries. So what's wrong now? What has changed? As Jake VanderPlas points out, what has changed is the advent of complex numerical codes that cannot be maintained by a single professor and a few students; nor can they be successfully commercialized. There has been some limited success in developing useful add-ons to FDS, like the graphical user interface PyroSim by Thunderhead Engineering, but the core development work is underwritten by NIST and VTT. In our opinion, this is a good model because it allows for continued research in algorithms that probably could not be supported by a completely commercialized program. On the other hand, it means that these various "maintenance" activities fall through the cracks. They appeal to neither the core developers nor the commercial partners.<br /><br />So who are to do these thankless tasks? At the moment, we the developers. This partly explains why it took us three years to release FDS 6. As you've read in the blog posts over the past few years, we have redoubled our efforts to better document our work, to develop more accurate and robust routines, and to do the necessary verification and validation work that is absolutely necessary if FDS-SMV is to be used in a regulatory setting. But there is so much more that could be done to improve this software, and what might surprise most of you is that this work IS being done, sort of, by all those students out there who are working with FDS. But the problem is, and this takes us back to the definition of the word "collaboration", that all this work is not finding its way into the FDS code, manuals, or repository. Rather, it is making its way, sort of, into the various fire journals and conference proceedings. I say "sort of" because much of it just ends with the masters or PhD thesis. Even the stuff that gets into the literature is not easily converted into genuine improvements to the code or documentation. As much as we try to open up lines of communication early in the process, we cannot break the traditional publish or perish model.<br /><br />Usually, we are sent a paper describing a student's masters or PhD work with FDS only at the end of the student's tenure and asked if the work can be incorporated into the code or added to the validation suite. This is frustrating on several levels. First, often we have already solved the problem being addressed, but as discussed above we do not have time to write a paper every time we change a few lines of code. Second, often the work is very good and we would like to incorporate it, but this amounts to us redoing the student's two years (plus) of work within a few days---that's about how much time we can usually spare. Why could this work not have been done within the FDS-SMV framework to begin with? Why won't the professors and students contact us on the front end? The answer we usually get for this question is that they are worried about someone stealing the idea and beating them to publication. Lest you feel we are picking on academia, in fact we find the same response from industry with their concerns about intellectual property (IP). Here is a list of reasons why this concern is invalid:<br /><ol><li>Students have almost nothing to lose and a tremendous amount to gain by collaborating with us early in the process. FDS was designed as a platform for the entire research community to make small incremental improvements in fire modeling without having each and every new student re-invent the wheel.</li><li>The developers can usually code something up much faster than the students, but we have little time to thoroughly shake it down. Programming is not the problem – it is the work done over months, even years, to do a thorough job of verifying and validating the algorithm. This is perfect for students – they learn from watching experts, and then they develop the necessary skills to do it themselves, all while making a tangible contribution to FDS. For this to work, the algorithm must be coded into FDS. If it is not ready for prime time, that is OK, as we just hide the new algorithm with simple IF-THEN statements.</li><li>We have never had a case where a student’s work was hijacked by another. In fact, what students ought to worry about is being ignored, not copied. Publishing FDS-related papers in journals is NOT the best way to make a contribution in fire research. An improved algorithm in FDS is, and you cannot do that by hiding your work for 3-4 years.</li><li>If we adopted the same attitude toward IP, there would be no FDS. As developers we have little time to publish. And we are punished for this in various ways. Is it fair that students hide the work they are doing and publish results atop the pains-taking work of the developers to improve the core functionality of the code? We are not asking for co-authorship, just a little give and take. The "payment" for using our software should be to help improve it.</li><li>Finally, if you really think that your ideas are going to be “scooped”, understand this: all commits to the FDS repository are recorded and maintained forever. We know exactly when anyone has “touched” any routine. No one who has committed source code or experimental data to the FDS repository has ever been scooped. If it were to happen, we would be the first to write to a journal editor with undeniable proof that a researcher has violated the spirit of our open source development process.</li></ol>The irony of the situation is that the majority of the students working with FDS leave with a masters degree and do not pursue academic jobs. What we have to offer these students in return for helping us develop and maintain FDS-SMV is an education in current software development practices, in addition to a far better understanding of how these models really work. Simply running a piece of software is hardly an enviable skill; but being able to get under the hood and work with its various components is. Furthermore, the skills you can acquire go way beyond fire. Many of you will move beyond fire into other areas of engineering or beyond in the next few decades. Our blogger Jake is a perfect example of a student who has acquired a tremendous amount of IT skills that go far beyond his chosen course of study. And that's a good thing because there are only so many jobs available in cosmology. Kevin McGrattanhttp://www.blogger.com/profile/12636555449293429503noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-78518618686758096472013-11-04T15:07:00.000-05:002013-11-05T08:33:19.517-05:00FDS 6 Official Release<div>Dear Users:</div><div><br /></div><div>We are happy to announce the official release of FDS 6.</div><div><br /></div><div>Downloads and documentation are available from the primary FDS-SMV web page:</div><div><br /></div><div><a href="https://code.google.com/p/fds-smv/">https://code.google.com/p/fds-smv/</a></div><div><br /></div><div>For installation instructions for Windows, Mac, and Linux, please visit our YouTube channel or wiki pages:</div><div><br /></div><div><a href="http://www.youtube.com/fdssmokeview">http://www.youtube.com/fdssmokeview</a></div><div><br /></div><div><a href="https://code.google.com/p/fds-smv/wiki/Installation_Notes">https://code.google.com/p/fds-smv/wiki/Installation_Notes</a></div><div><br /></div><div>The release notes for FDS 6.0 are posted here:</div><div><br /></div><div><a href="https://code.google.com/p/fds-smv/wiki/FDS_Release_Notes">https://code.google.com/p/fds-smv/wiki/FDS_Release_Notes</a></div><div><br /></div><div>More information about the most significant changes is available in a series of blog posts on our Developer Blog:</div><div><br /></div><div><a href="http://blog.fds-smv.net/">http://blog.fds-smv.net/</a></div><div><br /></div><div>Within the FDS User's Guide, you can find a table for translating FDS 5 input files to FDS 6. These changes are also mentioned in the release notes.</div><div><br /></div><div>Please report any issues to the Issue Tracker along with a VERY simple test case, and post any general questions or comments to the Discussion Group:</div><div><br /></div><div><a href="https://code.google.com/p/fds-smv/issues/list">https://code.google.com/p/fds-smv/issues/list</a></div><div><br /></div><div><a href="https://groups.google.com/forum/?fromgroups#!forum/fds-smv">https://groups.google.com/forum/?fromgroups#!forum/fds-smv</a></div><div><br /></div><div>FDS 6 has been built around a philosophy of <a href="http://en.wikipedia.org/wiki/Continuous_integration" target="_blank">continuous integration testing</a>, which involves nightly automated builds of the verification and validation guides and quantitative error checking. This process results in higher quality, more reliable software for end-users, enables better collaboration with researchers, and allows our development team to focus on core model development. The nightly build status of the FDS-SMV project can be found here:</div><div><br /></div><div><a href="https://code.google.com/p/fds-smv/wiki/Firebot_Build_Status">https://code.google.com/p/fds-smv/wiki/Firebot_Build_Status</a></div><div><br /></div><div>Finally, thanks to all of you for your patience and support. And thanks especially to all of our beta testers. If any names are missing, please let us know and we will be sure to include you in the guide.</div><div><br /></div><div>Best regards,</div><div><br /></div><div>The FDS-SMV Development Team</div>Randy McDermotthttp://www.blogger.com/profile/09646865475355573984noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-64654932342797359582013-05-07T13:45:00.001-04:002013-05-07T13:45:18.338-04:00Progress on Release of FDS 6We are going through the final phases of our release of FDS 6. Since our first release in 2000, it has become much more difficult to issue a major new release, simply because we have put in a place a more rigorous process of testing. We now do nightly builds of both the FDS and Smokeview source codes, run all the verification cases, and compile all the manuals. This only takes a few hours to do while we sleep. Our validation cases, on the other hand, take a few weeks to run on our 256 core linux cluster, as there are approximately 900 individual cases that comprise the test suite. Some cases take only a few minutes on a single processor; some take as much as a week on multiple processors. Inevitably, Murphy's Law holds true, and there always seems to be something that hiccups. But we're nearing the end of our testing and we're almost through with the internal and external review of our manuals. Thanks to those of you who have made comments on the manuals. It's quite a task to wade through all those documents.<br /><br />Those of you who have helped with the beta testing or proof reading, check to see that your name and affiliation are listed near the beginning of the new FDS User's Guide. You can find a copy that is posted nightly by following a link at the bottom of the home page, <a href="http://fire.nist.gov/fds">fire.nist.gov/fds</a>. If we've forgotten to add you to the list, just post a note to the Issue Tracker thread that you used to post your test results. That's the easiest way to keep track of who did what. <br /><br />If all goes well, we hope to have an official release of FDS by the end of the month.Kevin McGrattanhttp://www.blogger.com/profile/12636555449293429503noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-20367999853274263242013-01-01T15:41:00.000-05:002013-01-01T15:41:57.499-05:00Near-Wall Boundary Conditions in FDS 6<br />Happy New Year!<br /><br />This blog is a continuation in our series of articles on FDS 6 Release Notes. Here we will focus on new wall functions for turbulent momentum and heat transfer. In early versions of FDS, the near-wall boundary conditions were treated using a "slip condition" for the tangential component of velocity and, as is still the case, empirical correlations for heat and mass transfer. In FDS 6, the default boundary condition for the tangential velocity is based on a log law wall function for both smooth and rough walls. In addition, a new log law wall function for heat transfer, which accounts for variation in fluid Prandtl number, is in the testing phase and is available as an option by setting HEAT_TRANSFER_MODEL='LOGLAW' on the SURF line.<br /><br />With FDS 5.4, the Werner-Wengle (1991) wall model became the default model for the tangential velocity component near smooth walls. This model assumes a power law profile for the streamwise velocity component in the wall-normal direction and then further assumes that the tangential component of velocity near the wall is equivalent to the profile filtered over the height of the first grid cell. Because of this improvement, FDS was able reproduce the Moody Chart (friction factor versus Reynolds number) for smooth walls over a very broad range of Reynolds numbers. For rough walls, we implemented a wall function which took the maximum stress between the fully-rough log law given in Pope (Turbulent Flows, 2000) and the smooth wall stress from WW. This formulation was practical, but the underlying mathematical inconsistency (filtered power law versus directly sampled log law) was not ideal. For compatibility with the wall functions used by the atmospheric community (outdoor flows for wildfires being of increasing interest), in v6 we decided to abandon the Werner-Wengle model and focus on the directly sampled log law wall functions. Further, we no longer assume a fully rough wall---the transition from smooth to rough is accounted for by the new velocity wall function.<br /><br />There are two other aspects of the near-wall treatment of velocity that deserve attention: one is how we handle the near-wall eddy viscosity and the other is how we handle the vorticity at the wall (in the FDS formulation, the vorticity resides in the advective term of the momentum equation). For dynamic models of the eddy viscosity which require "test filtering," as we require for our Deardorff model, the near-wall treatment can be tricky. When the dynamic Smagorinsky model was developed for channel flow, the standard practice was to average the model coefficient in the two homogeneous directions---the streamwise and spanwise directions---leaving the coefficient to vary only in the wall-normal direction. But in a typical fire scenario we do not have the luxury of homogeneous directions. Therefore, in the bulk flow, we use a test filter of size 2*dx in all three directions to smooth the velocity field. This is problematic near the wall. All attempts to retain the dynamic viscosity near the wall (special test filtering and so on) led to wildly erratic pyrolysis-based fire behavior unless very fine grid resolution was used. This could not be tolerated, as it basically canceled out all the benefits of using the dynamic model to begin with. To address this problem, we decided to simply use the constant coefficient Smagorinsky model in the first off-wall grid cell since this model does not require any test filtering. To overcome the issue of convergence with the constant coefficient Smagorinsky model, we employ Van Driest damping of the mixing length near the wall.<br /><br />As mentioned, a second important issue related to near-wall flow behavior is the treatment of the vorticity at the wall and at sharp edges. Given that ventilation is a zeroth-order model parameter (translation: extremely important) and because common practice in fire protection engineering is to use relatively coarse grids, the near-wall value of vorticity has a surprisingly large impact on the overall model performance. Think of doors and windows (which, let me add, should never be placed on the exterior of the computational domain) in the fire scenario, and imagine that the value of vorticity used at the edge may implicitly change the size of the opening by a cell width (this is basically the difference between a free slip and a no slip boundary condition). The numerical approximations used to compute the vorticity on the wall or corner edge may effectively change the flow area of the opening. To make matters worse, this effect is---by its very nature---grid dependent. Our best attempt to deal with this dilemma has been to explore options for the vorticity "slip condition" while comparing FDS results for a simple test case which has many problematic features. The case is a 3D flow over a square rib in a periodic channel (ribbed_channel test series in the Verification suite). In this test we look at the location of the reattachment zone behind the rib, as well as the mean and RMS profiles for streamwise velocity in the wall-normal and streamwise directions. With h being the height of the rib, we examine grid resolutions from h/dx=2 to h/dx=16. The best result is found by applying a linear average between no slip and the slip value returned by the wall function.<br /><br />Last but not least, the convective heat transfer model currently employed by FDS is based on taking the max of natural and forced convection Nusselt number correlations. An often cited criticism of this approach is that the temperature and velocities used in these correlations are, of course, the "free stream" values in the correlation, but in FDS the values in the first off-wall cell are used. Despite the obvious shortcomings, no one has yet systematically demonstrated a better alternative, and so these correlations remain the v6 default. It is fair to say, in fact, that the subject of heat transfer wall functions is very much a research topic in the LES community. Over the last year, some progress has been made in this area. For practical fire simulations, the principal developer has been Ezgi Oztekin of the Fire Research Program at William J. Hughes Technical Center. She implemented into FDS a basic log law heat transfer model and demonstrated the viability of the approach with compartment fire calculations. On the verification front, Jung-il Choi's group from Yonsei University visited NIST last summer and modified Oztekin's model within FDS to include Prandtl number dependence and compared FDS results with the heated channel DNS results of Kim and Moin (1987). This work represents the first serious verification study in development of the heat transfer model in FDS. The results are in the FDS Verification Guide, and for this reason we are reasonably optimistic that the model will survive and become the default in the near future.<br />Randy McDermotthttp://www.blogger.com/profile/09646865475355573984noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-26179241252265968452012-12-20T14:22:00.000-05:002012-12-20T14:22:01.841-05:00FDS 6 Verification and ValidationIn recent years, we have formalized the process of developing and releasing new versions of FDS and Smokeview, taking our cue from the way it is done by commercial software developers. The key to this process is a set of calculations that we divide into two categories -- relatively short, simple test cases that we use to <i>verify </i>that the programs are properly solving the equations we've written down, and relatively long, sometimes complex cases that we use to <i>validate</i> the accuracy of the model by comparing with actual experiments.<br /><br />The short verification cases are the sample input files that we distribute with each new bundle. They are run each night automatically by a script we call 'firebot' to catch simple coding mistakes that we inevitably make as we develop new routines. We not only run these cases, but we also automatically regenerate all the plots that you find in the FDS and Smokeview User's Guide, plus the FDS Verification Guide. Any result that falls outside of a certain tolerance is reported to all of us via email, and we then fix the problem while it is still fresh on our minds. <br /><br />The longer validation cases are run with each minor release of FDS and Smokeview because it takes between one and two weeks to complete all the cases (about 800 calculations) on our 256 core linux cluster. Because these cases are run less frequently, there almost always is something amiss about one or two cases that is more difficult to diagnose. In fact, a good part of the two years we spent preparing FDS 6 was devoted to addressing discrepancies in some of our most reliable experimental data sets. As frustrating as it was, the fact that we knew about it all was due to the new process of V&V that we initiated. In the past, it was far more difficult to detect a fundamental problem with the algorithm because we did not systematically run all the cases at once and analyze the results in a consistent way. Basically, we just eye-balled things, but that does not always reveal subtle problems. <br /><br />When we released FDS version 1 in 2000, we did not have a formal process of V&V. We did develop test cases, and we did compare calculations with experiment, but we did not do it in a systematic way. We felt that papers published by ourselves and others would suffice, but we soon learned that this was not the case. This lesson was reinforced when we began working with the US Nuclear Regulatory Commission on a V&V of five different fire models that are commonly used by the nuclear industry. The most important lesson we learned is that published results using older versions of the software cannot be used to justify the use of a model to the AHJ (Authority Having Jurisdiction). We cannot republish our validation papers with the release of each new version, so we decided to develop and maintain our own versions of the V&V guides that the NRC published (NUREG-1824). <br /><br />Now the FDS Verification and Validation Guides are the key volumes that quantify the robustness and accuracy of the model. When we say that FDS can or cannot do something, what we really mean is that we have documented calculations that show the range and accuracy of the model for a particular application. For those of you using FDS for design or forensic applications, the FDS V&V Guides should be the first place to look to determine if FDS is appropriate for your use. Every few days someone writes to the Discussion Group asking something like, "Does anybody know if FDS can do ...?" What that person really ought to do is check the V&V Guides. The question should not only be can it be done, but also how well can it be done. FDS has alot of potential applications, but you need to check the Guides before deciding if it is applicable.<br /><br />Finally, we spend a considerable amount of work putting the V&V Guides together, running the cases, working on the statistics, the scripts, and so on. We have appealed to the user community, especially the students and profs working with FDS, to help us with V&V cases. So far, the results have been disappointing. For a variety of reasons, we are not able to capture in our Guides the work with FDS that we see submitted to journals and conferences. We suspect that the main reason for this is that a student's first objective is to graduate, then maybe publish the thesis in some way. Working with us to get the results into our Guides is either a low priority or something that no one has even considered. I sometimes meet students at meetings who do not think that their thesis work is worthy of our Guides. Think again -- not only would the work be worthy in most cases, but it is a necessity. In order for us all to continue to develop and use tools like FDS and Smokeview, we all have to contribute to their upkeep. In this case, that means extending the range of application represented by the V&V cases. If you did your thesis on smoke detector algorithms, it is in your best interest to get this work into the Guides so that we can maintain the capability in future versions. If you just hack some routine into FDS 5.3.whatever, don't expect it to be accepted down the road by the AHJ. Further, owing to the relatively small size of fire protection engineering, there are probably few other engineering disciplines where a masters degree student can have his or her work put directly into practice so readily. Ask engineers in other disciplines what kinds of software packages they use and whether or not they have any means to be involved in their development. One of the appealing things about FPE is that there are so many opportunities to have an impact. To see how you can have an impact, read through the following wiki:<br /><br /><a href="http://code.google.com/p/fds-smv/wiki/Contribution_Guide">http://code.google.com/p/fds-smv/wiki/Contribution_Guide</a><br /><br /><br />Kevin McGrattanhttp://www.blogger.com/profile/12636555449293429503noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-88440916850234917742012-12-14T09:24:00.002-05:002012-12-14T09:24:47.776-05:00FDS 6 RC2 and Defining Species in FDS 6To all of you who have provided feedback on FDS 6 RC1, thank you. Based on feedback we have made some changes to inputs, fixed a few bugs, and have now released FDS 6 RC2. You can download FDS 6 RC2 from the <a href="http://code.google.com/p/fds-smv/downloads/list" target="_blank">list of all available downloads</a>. A major set of changes from RC1 to RC2 is the specification of species. Based on feedback on the inputs for the new lumped species capability, we have removed the SMIX input and moved the definition of lumped species to the SPEC input.<br /><br />The remainder of this post will be another in our continuing series on topics in the <a href="http://code.google.com/p/fds-smv/wiki/FDS_Release_Notes" target="_blank">FDS 6 Release Notes</a>. This post will focus on some significant changes made to species definitions in FDS 6 including the recent changes in RC2.<br /><br />FDS 2 through the early versions of FDS 5 gave two options to tracking species. You could define a primitive species that was tracked by FDS (like the water vapor from sprinklers), or you could make use of a reaction progress variable (which we termed at the time the mixture fraction). In FDS 5.2 we began shifting, under the hood, the tracking of species from the conserved progress variables to a lumped species approach. A lumped species is simply an equivalent gas species that represents a mixture of gasses that are always transported together in the same ratio. For example, air can be considered as a lumped species consisting of 79 % N<span style="font-size: xx-small;">2</span> 21 % O<span style="font-size: xx-small;">2</span> (and trace amounts of other gasses). As input, however, you could still only use primitive species or access predefined lumped species by using a simple REAC line input. In this case the predefined species were air and products. The species were defined based upon the fuel you specified and the single-step reaction of:<br /><br />Fuel + Air -> Products <br /><br />For example if the fuel was propane you had:<br /><br />C<span style="font-size: xx-small;">3</span>H<span style="font-size: xx-small;">8</span> + 5 (O<span style="font-size: xx-small;">2</span> + 3.76 N<span style="font-size: xx-small;">2</span>) ->3 CO<span style="font-size: xx-small;">2</span> + 4 H<span style="font-size: xx-small;">2</span>O + 5 (3.76) N<span style="font-size: xx-small;">2</span><br /><br />In this case the <i>Air</i> species would be the N<span style="font-size: xx-small;">2</span>+O<span style="font-size: xx-small;">2</span> mixture on the left hand side of the equation (the actual species also has ambient CO<span style="font-size: xx-small;">2</span> and H<span style="font-size: xx-small;">2</span>O) and the <i>Product</i> species was the mixture of gasses on the right hand side of the equation.<br /><br />Doing this was motivated by a few factors. First, by taking this approach we no longer needed to make use of complex state relationships to obtain the mass fractions of gasses. Instead, simply multiplying the vector of lumped species by a transformation matrix would give the primitive species. Second, there were requests to track toxicant and irritant products (HCl, HCN, etc.) in order to compute FED and FIC. Trying to provide flexibility to add additional species within the progress variable framework would have been more difficult than the lumped species approach. Lastly, there were other development efforts to make the combustion model more flexible (which will be the subject of a future blog post) and those would be aided by a more flexible set of species inputs. <br /><br />What does all this mean for you? If all you wish to do is use the REAC inputs for simple chemistry with the single-step combustion that was in FDS 5, the changes to species will remain under the hood. Moving beyond the predefined species present in FDS 5, you now have the ability to define your own. You now have two types of species that you can input, a primitive species (a single gas) or a lumped species. For example adding the line shown below will cause FDS to track the species H<span style="font-size: xx-small;">2</span>.<br /><br /><span style="font-family: "Courier New",Courier,monospace;">&SPEC ID='HYDROGEN'/</span><br /><br />FDS 6 comes with a much larger set of predefined primitive species, but FDS 6 also allows you to define your own species with better control over the properties than in FDS 5. You can also define the chemistry of the species which will enable FDS to automatically compute is molecular weight and the formula can then be used with the new REAC capabilities. For exampe:<br /><br /><span style="font-family: "Courier New",Courier,monospace;">&SPEC ID='CAFFEINE',FORMULA='C8H10N4O2'</span><span style="font-family: "Courier New",Courier,monospace;">/</span><br /><br />To input a lumped species, you must first define all the primitive species and then define how those species combine to form the lumped species. For example, the lines below create a lumped species called <span style="font-family: "Courier New",Courier,monospace;">AIR</span> that consists of 79 % N<span style="font-size: xx-small;">2</span> and 21 % O<span style="font-size: xx-small;">2</span>. The <span style="font-family: "Courier New",Courier,monospace;">LUMPED_COMPONENT_ONLY=.TRUE.</span> tells FDS that the primitive species of <span style="font-family: "Courier New",Courier,monospace;">NITROGEN</span> and <span style="font-family: "Courier New",Courier,monospace;">OXYGEN</span> are only found in a lumped species and that FDS should not allocate memory to track them separately.:<br /><br /><span style="font-family: "Courier New",Courier,monospace;">&SPEC ID='NITROGEN'</span><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;">,LUMPED_COMPONENT_ONLY=.TRUE.</span></span>/</span><br /><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;">&SPEC ID='OXYGEN',LUMPED_COMPONENT_ONLY=.TRUE./</span></span><br /><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;">&SPEC ID='AIR', SPEC_ID='NITROGEN','OXYGEN', VOLUME_FRACTION=0.79,0.21/ </span> </span><br /><br />Consider this set of inputs:<br /> <span style="font-family: "Courier New",Courier,monospace;"> </span><br /><span style="font-family: "Courier New",Courier,monospace;">&SPEC ID='HYDROGEN SULFIDE'</span><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;">,LUMPED_COMPONENT_ONLY=.TRUE.</span></span>/</span><br /><span style="font-family: "Courier New",Courier,monospace;">&SPEC ID='H2S-1',SPEC_ID='</span><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;">HYDROGEN SULFIDE</span>'</span><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;"></span></span>/</span><br /><span style="font-family: "Courier New",Courier,monospace;">&SPEC ID='</span><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;">H2S</span>-2',SPEC_ID='</span><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;">HYDROGEN SULFIDE</span>'</span><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;"></span></span>/</span><br /><span style="font-family: "Courier New",Courier,monospace;">&SPEC ID='</span><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;">H2S</span>-3',SPEC_ID='</span><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;">HYDROGEN SULFIDE</span>'</span><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;"><span style="font-family: "Courier New",Courier,monospace;"></span></span>/</span><br /><br />The above defines three lumped species that are all H<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">2</span>S. Consider a case where you needed to simulate small leaks of H<span style="font-size: xx-small;">2</span>S from a variety of sources. If the leaks are small enough that they don't change the normal ambient airflow, then you could simulate multiple leaks at once provided you had a method to distinguish one leak from another. With the lines above you can easily define a set of species that have the same properties, but are tracked separately. If you were to use <span style="font-family: "Courier New",Courier,monospace;">SPEC_ID='H2S-1'</span> on an output, you would just get that species. If you were to use <span style="font-family: "Courier New",Courier,monospace;">SPEC_ID='HYDROGEN SULFIDE'</span> you would get the sum of all three of the lumped species.<br /><br />In addition to the changes discussed above there are three other notable improvements to the <span style="font-family: "Courier New",Courier,monospace;">&SPEC</span> input. First, you can now define temperature dependent properties for custom species (FDS 5 limited you to constant properties). Second, the definition of liquid properties has been moved from <span style="font-family: "Courier New",Courier,monospace;">&PART</span> to <span style="font-family: "Courier New",Courier,monospace;">&SPEC</span> so that all species data is processed in one location. Third, we have added the ability to define some simple aerosol properties. This last was done to support recent efforts in adding aerosol deposition models to FDS (to compute soot deposition).<br /><br />drjfloydhttp://www.blogger.com/profile/17581960243678750437noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-9013199518555345272012-11-09T09:00:00.000-05:002012-11-09T09:00:04.389-05:00Resources for FDS-SMV Development and Collaboration<span style="color: #202020; font-family: inherit; font-size: 15px; line-height: 1.5em;">Have you checked out the latest resources for FDS-SMV development and collaboration? It’s now more convenient than ever for students, researchers, and beta testers working with FDS-SMV to collaborate in real-time with the FDS-SMV development team while working on analytical verification cases, experimental validation cases, improvements to the code, and so on.</span><br /><div style="color: #202020; font-size: 15px; line-height: 1.5em; margin-bottom: 1.2em; margin-top: 1.2em;"><span style="font-family: inherit;">Here are some resources to keep you in touch with ongoing FDS-SMV development:</span></div><div style="font-size: 15px; line-height: 1.5em; margin-bottom: 1.2em; margin-top: 1.2em;"><span style="font-family: inherit;"><span style="color: #202020;">1) The </span><span style="color: blue;"><a href="http://code.google.com/p/fds-smv/wiki/Wiki_Overview?tm=6" tip="">FDS-SMV Wiki </a><a href="http://code.google.com/p/fds-smv/wiki/Wiki_Overview?tm=6" tip="">Pages</a></span><span style="color: #202020;"> are a great resource for new, interested, or current developers and collaborators. Here, you can find supplemental </span><a href="http://code.google.com/p/fds-smv/wiki/FDS_Compilation"><span style="color: blue;">FDS</span></a><span style="color: #202020;"> and </span><a href="http://code.google.com/p/fds-smv/wiki/Smokeview_Build_Notes"><span style="color: blue;">Smokeview</span></a><span style="color: #202020;"> compilation instructions, <a href="http://code.google.com/p/fds-smv/wiki/FDS_Road_Map">FDS</a> and <a href="http://code.google.com/p/fds-smv/wiki/Smokeview_Road_Map">Smokeview</a> research road maps, </span><a href="http://code.google.com/p/fds-smv/wiki/Contribution_Guide"><span style="color: blue;">tips and guides</span></a><span style="color: #202020;"> on </span><a href="http://code.google.com/p/fds-smv/wiki/Verification_Case_Setup_Example"><span style="color: blue;">contributing to the verification and validation suite</span></a><span style="color: #202020;">, instructions on how to </span><a href="http://code.google.com/p/fds-smv/wiki/Accessing_Subversion_Repository"><span style="color: blue;">access the subversion (SVN) code repository</span></a><span style="color: #202020;">, and more. So, which SVN revision number should you be working with? How can you quickly gauge the status of development versions of FDS? That brings us to the next item…</span></span></div><div style="font-size: 15px; line-height: 1.5em; margin-bottom: 1.2em; margin-top: 1.2em;"><span style="font-family: inherit;"><span style="color: #202020;">2) The </span><a href="http://code.google.com/p/fds-smv/wiki/Firebot_Build_Status" tip=""><span style="color: blue;">Firebot Build Status Wiki Page</span></a><span style="color: #202020;"> provides a performance snapshot of the latest FDS-SMV code revisions. Here you can see the status of the nightly FDS-SMV build (e.g., if a given revision was successful, had warnings, or had any other code issues). T</span></span><span style="color: #202020; line-height: 1.5em;">he nightly Firebot testing process </span><span style="color: #202020; font-family: inherit; line-height: 1.5em;">is the driving force behind the </span><a href="http://en.wikipedia.org/wiki/Continuous_integration" style="font-family: inherit; line-height: 1.5em;" tip=""><span style="color: blue;">continuous integration system</span></a><span style="color: #202020; font-family: inherit; line-height: 1.5em;"> in place for FDS-SMV. This process is described in detail in the FDS Configuration Management Plan. Essentially, the Firebot process involves a full suite of nightly tests that compile debug and release versions of FDS and Smokeview, a full run of almost 400 FDS verification cases, scripted generation of figures via Smokeview, plotting and statistical output of verification cases using Matlab, and generation of the latest FDS-SMV documentation/manuals. You can always view the latest FDS-SMV manuals via the next item…</span></div><div style="font-size: 15px; line-height: 1.5em; margin-bottom: 1.2em; margin-top: 1.2em;"><span style="font-family: inherit;"><span style="color: #202020;">3) The nightly FDS-SMV manuals (linked on the </span><a href="http://code.google.com/p/fds-smv/wiki/Firebot_Build_Status" tip=""><span style="color: blue;">top of the Firebot status page</span></a><span style="color: #202020;">) provide a way for collaborators to view the latest documentation related to FDS and Smokeview. The FDS User, Technical Verification, and Validation Guides; FDS Configuration Management Plan; and Smokeview User, Technical, and Verification Guides are built each night during the Firebot testing process. The resulting manuals can be accessed via the above link. For example, after reporting an issue with the documentation, you can verify the corrected results the very next day by viewing the nightly manuals. Important note: The content of the “unofficial” nightly manuals can change often! So, when reporting an issue with the nightly manuals, be sure to refer to the SVN revision number and date on the front pages of each guide.</span></span></div><div style="font-size: 15px; line-height: 1.5em; margin-bottom: 1.2em; margin-top: 1.2em;"><span style="font-family: inherit;"><span style="color: #202020;">These are just a few of the tools to help collaborators work with the latest versions of FDS and Smokeview. We hope that these resources make it easier for students, collaborators, researchers, beta testers, etc. to work more closely with the FDS-SMV development team. And we highly encourage those working with or planning to work with FDS development, verification, validation, etc. to contact the FDS-SMV development team early on via email or the </span><a href="https://groups.google.com/forum/?fromgroups#!forum/fds-smv" tip=""><span style="color: blue;">FDS-SMV Discussion Group</span></a><span style="color: #202020;">.</span></span></div>Kristopher Overholthttp://www.blogger.com/profile/06154235014803248012noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-20705629999694144302012-11-08T09:00:00.000-05:002012-11-08T09:00:13.698-05:00Installing FDS 6 on Linux and MacAs we strive to make the FDS and Smokeview experience consistent across different operating systems, the bundle downloads for Linux and Mac now make use of an installation script to install the FDS-SMV programs, documentation, and example files. The benefits of the installer script are 1) a consistent menu-driven interface to install FDS and Smokeview to a user-specified location, and 2) automatic setup of shortcuts for the "fds" and "smokeview" commands, which is consistent with the Windows version of FDS and Smokeview.<br /><br />The default installation location for Linux is /home/<username>/FDS/FDS6, and the default install location for Mac OS X is /Applications/FDS/FDS6. This location can be modified during the installation process. Also, the drag-and-drop launcher program is still available on Mac OS X by extracting the FDS-SMV_OSX_Launcher.app.zip archive located in /Applications/FDS/FDS6/bin/.<br /><br />Detailed instructions on how to install FDS and Smokeview upon downloading the .sh installer bundles can be found on the Wiki Pages:<br /><br /><a href="http://code.google.com/p/fds-smv/wiki/Installation_Notes">http://code.google.com/p/fds-smv/wiki/Installation_Notes</a><br /><br /><b>Installation notes for Linux:</b><br /><br /><a href="http://code.google.com/p/fds-smv/wiki/Linux_Installation_Notes">http://code.google.com/p/fds-smv/wiki/Linux_Installation_Notes</a><br /><br /><b>Installation notes for Mac:</b><br /><br /><a href="http://code.google.com/p/fds-smv/wiki/Mac_Installation_Notes">http://code.google.com/p/fds-smv/wiki/Mac_Installation_Notes</a>Kristopher Overholthttp://www.blogger.com/profile/06154235014803248012noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-72516791054669557542012-11-08T01:52:00.003-05:002012-11-08T01:52:38.841-05:00Pyrolysis<!--[if gte mso 9]><xml> <o:OfficeDocumentSettings> <o:AllowPNG/> </o:OfficeDocumentSettings></xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:HyphenationZone>21</w:HyphenationZone> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>FI</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:EnableOpenTypeKerning/> <w:DontFlipMirrorIndents/> <w:OverrideTableStyleHps/> </w:Compatibility> <w:DoNotOptimizeForBrowser/> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--"/> <m:smallFrac m:val="off"/> <m:dispDef/> <m:lMargin m:val="0"/> <m:rMargin m:val="0"/> <m:defJc m:val="centerGroup"/> <m:wrapIndent m:val="1440"/> <m:intLim m:val="subSup"/> <m:naryLim m:val="undOvr"/> </m:mathPr></w:WordDocument></xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles></xml><![endif]--><!--[if gte mso 10]><style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-fareast-language:EN-US;} </style><![endif]--> <br /><div class="MsoPlainText">As part of our continuing series on topics in the <a href="http://code.google.com/p/fds-smv/wiki/FDS_Release_Notes">FDS 6release notes</a>, this blog post will focus on FDS 6 pyrolysis model.</div><div class="MsoPlainText"><br /></div><div class="MsoPlainText">The basic 1-D heat transfer and pyrolysis model for solid surfaces remains almost the same. However, several of the input parameters have been changed to expand the functionality and readability of the input file. The most significant change in functionality deals with the potential swelling or shrinking of the surface layers. This requires a slightly different treatment of the pyrolysis reactions' residue materials.</div><div class="MsoPlainText"><br /></div><div class="MsoPlainText">The purpose of the changes in the input parameters has been to support and to make use of the major developments that have taken place in the species/combustion solver. FDS 6 has much more versatile way of handling gaseous species and multiple combustion reactions than the versions before - a topic worth of a separate blog post. You can now associate the products of the burning surfaces to any of gases that are being tracked by FDS. This is true for both surfaces with specified burning rate and surfaces with pyrolysis reactions. We have tried to make the logic of using keywords, such as SPEC_ID, consistent throughout the code.</div><div class="MsoPlainText"><br /></div><div class="MsoPlainText">The solid products of the pyrolysis reactions are called residue. In FDS5, they were identified using a RESIDUE keyword, now using MATL_ID keyword. So, not much change here. But unlike before, the densities of the residue materials can now have a great influence on the behaviour of the pyrolysis process. Previously, the bulk density of the residue, such as a char layer, was determined by the density of the initial material layer and the effective yield of the material from one or more reactions producing it. Now, the thickness of the layer will be adjusted so that the residue material's density becomes what has been actually specified as a density of that material. Some practical applications of this feature are listed below:</div><div class="MsoPlainText">• Non-charring materials will shrink as material is removed from the condensed phase to the gas phase.</div><div class="MsoPlainText">• Porous materials like foams would shrink when the material melts and forms a non-porous layer.</div><div class="MsoPlainText">• Some charring materials swell, i.e., get thicker, when a porous char layer is formed.</div><div class="MsoPlainText">• Intumescent fire protection materials would swell significantly, creating an insulating layer.</div><div class="MsoPlainText"><br /></div><div class="MsoPlainText">For example, if the original material with DENSITY = 500 is completely converted into another material with DENSITY = 1000, the thickness of the layer will become half of the original. Or, if the original material with DENSITY = 1000 is completely converted into a material with DENSITY = 500, the thickness will become twice the original. You can, of course, prevent this from taking place if you know that the material will retain the original thickness. </div><div class="MsoPlainText"><br /></div><div class="MsoPlainText">See the User's guide for an explanation on how the shrinking / swelling will be determined if there are more than one simultaneously reacting materials. Examples of shrinking and swelling materials are given in verification case shrink_swell.fds.</div><div class="MsoPlainText"><br /></div><div class="MsoPlainText">As a summary, you must pay more attention on the specification of MATL densities for the pyrolysis model than before. </div><div class="MsoPlainText"><br /></div>Simo Hostikkahttp://www.blogger.com/profile/05845349474317277940noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-77594614602690748412012-11-06T16:20:00.000-05:002012-11-06T16:20:08.699-05:00HVAC<!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:DontVertAlignCellWithSp/> <w:DontBreakConstrainedForcedTables/> <w:DontVertAlignInTxbx/> <w:Word11KerningPairs/> <w:CachedColBalance/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--"/> <m:smallFrac m:val="off"/> <m:dispDef/> <m:lMargin m:val="0"/> <m:rMargin m:val="0"/> <m:defJc m:val="centerGroup"/> <m:wrapIndent m:val="1440"/> <m:intLim m:val="subSup"/> <m:naryLim m:val="undOvr"/> </m:mathPr></w:WordDocument></xml><![endif]--><br /><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles></xml><![endif]--><!--[if gte mso 10]><style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} </style><![endif]--> <br /><div class="MsoNormal" style="text-autospace: none;"><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;">As part of our continuing series on topics in the <a href="http://code.google.com/p/fds-smv/wiki/FDS_Release_Notes">FDS 6 release notes</a>, this blog post will focus on HVAC features in FDS 6. </span></div><div class="MsoNormal" style="text-autospace: none;"><br /></div><div class="MsoNormal" style="text-autospace: none;"><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;">Through version 5.5.2, you could only specify pre-defined boundary conditions for inlet and outlet flows (i.e. temperature, species, and velocity/mass flow were explicitly defined in the input file). There are a number of situations where these standard FDS inputs were not sufficient to model the behavior of a building: smoke can move through ducts to remote compartments and reduce their visibility, heating and cooling systems will turn on and off as temperatures change which will impact the movement and temperature of smoke, facilities that must maintain negative pressures can lose that ability as filters clog with soot, and in a multicompartment ventilation system the pressurization of a compartment due to a fire will change the flow rates in the system. In addition to limitations in the current inputs, the FDS leakage model had stability issues with large leakage areas or complicated arrangements of leakage paths. </span></div><div class="MsoNormal" style="text-autospace: none;"><br /></div><div class="MsoNormal" style="text-autospace: none;"><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;">To address these limitations and to generally improve the ability of FDS to model buildings, an HVAC submodel was developed. The first version of the model was released in FDS 5.5.3. This model was limited in its functionality and did not work with MPI versions of FDS. Development has since continued, and FDS 6 contains an improved HVAC model with additional functionality including being compatible with the MPI versions of FDS.</span></div><div class="MsoNormal" style="text-autospace: none;"><br /></div><div class="MsoNormal" style="text-autospace: none;"><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;">With a CFD code there are a couple of approaches one could take to model HVAC systems. One could model a system by modeling each duct using the CFD solver. This approach would be very costly given the number of grid cells that would be required to correctly resolve the flows and pressure drops in an HVAC system. Additionally, one would have to undergo the time consuming process of verifying that one was obtaining the correct pressure drops throughout the system. A second approach is to use a specialized HVAC solver that treats the HVAC system in a simplified manner and couples it to the CFD solver. This second approach was used.</span></div><div class="MsoNormal" style="text-autospace: none;"><br /></div><div class="MsoNormal" style="text-autospace: none;"><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;">The HVAC model in FDS 6 is a network HVAC model based on the solver found in MELCOR (a United States Nuclear Regulatory Commission code for analyzing containment buildings). In brief, this model treats an HVAC system as a collection of nodes and junctions. A junction would represent a duct, and a node would represent where two or more ducts connect or where a duct is connected to the remainder of the FDS domain. The model solves equations for the conservation of mass, energy, and momentum of the HVAC system. For each junction, a velocity is predicted and for each node a pressure, temperature, and set of species mass fractions is predicted. The particular solution method currently used does not account for transport delays in a duct. That is, whatever mass and energy enters the system during a time step, also leaves the system in that same time step. Multiple HVAC systems can be defined in one input file and the solver will attempt to identify independent systems (e.g. systems that do not have inlets or outlets in the same pressure zone) in order to reduce the computational cost.</span></div><div class="MsoNormal" style="text-autospace: none;"><br /></div><div class="MsoNormal" style="text-autospace: none;"><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;">The HVAC solver is not directly coupled to the FDS solvers for pressure and species transport. Rather the HVAC solver uses the prior time step conditions to determine the boundary conditions at each inlet and outlet to the HVAC system and the solver returns a new set of boundary conditions that FDS then uses when computing the next time step. For simulations with pressure zones, the HVAC solver uses the prior time step rate of zone pressure change to estimate the new end of time step pressure. Provided that the FDS solution does not vary greatly between time steps (so the HVAC solver estimated pressure is close to the actual pressure determined by FDS), this coupling approach is stable. In general this is the case, FDS time steps are typically small enough that the pressure rise between time steps is small.</span></div><div class="MsoNormal" style="text-autospace: none;"><br /></div><div class="MsoNormal" style="text-autospace: none;"><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;">With the HVAC model one can define the follow components:</span></div><ul><li><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;"><b>Ducts</b> with forward and reverse flow losses (ASHRAE and other handbooks contain tables of flow loss data for various types of ducts)</span></li><li><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;"><b>Nodes</b> (e.g. tees, inlet and outlet vents, plenums, etc.) with flow direction dependent losses (as with ducts, values can be found in various handbooks).</span></li><li><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;"><b>Fans</b> with three fan models: constant flow, quadratic, and user defined. The quadratic and user defined models will change the fan flow rate based on the inlet and outlet pressure of the fan. This would allow, for example, FDS to reduce the flow into a compartment where a growing fire causes a pressure rise that a fan would have to work harder at to overcome.</span></li><li><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;"><b>Dampers</b> (currently only fully open or fully closed)</span></li><li><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;"><b>Filters</b> with the ability to define different removal efficiencies for different species as well as the impact of filter loading on the pressure drop across the filter</span></li><li><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;"><b>Heating / cooling coils</b> with either a fixed amount of heat exchange or an amount computed with a simple heat exchanger efficiency model</span></li></ul><div class="MsoNormal" style="text-autospace: none;"><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;">The HVAC model has resulted in changes to two other features of FDS:</span></div><ol><li><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;">The POROUS surface input has been removed. This input was used to allow one to specify a fan in the computational domain that transferred species across it. This is now handled by the HVAC model. See the <i>jet_fan.fds</i> example case in the <i>Flowfields</i> subfolder in the FDS 6 <i>Examples</i> folder. </span></li><li><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;">Leakage is now handled by the HVAC model. A leak is merely some small gap, hole, etc. that allows flow from one room to another. From a model point of view, this can be considered as a tiny duct that connects two compartments. By using the HVAC model rather than the prior leakage model, instabilities due to large leakage areas or complex leakage paths are avoided. Additionally, the prior leakage model could only transfer species if the compartments were separated by a POROUS surface otherwise ambient air was moved by the leakage. By using the HVAC model, this limitation no longer exists as the HVAC model will compute the species mass transfer. See the <i>leak_test.fds</i> example case in the <i>HVAC</i>subfolder in the FDS 6 <i>Examples</i> folder.</span></li></ol><div class="MsoNormal" style="text-autospace: none;"><span style="font-family: "Arial","sans-serif"; font-size: 10.0pt;">It is recommended that if you are using the HVAC model that you review the various examples in the FDS User's and Verification Guide; the inputs for which can be found in the HVAC subfolder of the Examples folder where FDS 6 is installed.</span></div>drjfloydhttp://www.blogger.com/profile/17581960243678750437noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-77626686454690347292012-11-05T17:19:00.000-05:002012-11-08T08:50:33.990-05:00Hydrodynamics and Turbulence<!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Revision>0</o:Revision> <o:TotalTime>0</o:TotalTime> <o:Pages>1</o:Pages> <o:Words>1061</o:Words> <o:Characters>6049</o:Characters> <o:Company>NIST</o:Company> <o:Lines>50</o:Lines> <o:Paragraphs>14</o:Paragraphs> <o:CharactersWithSpaces>7096</o:CharactersWithSpaces> <o:Version>14.0</o:Version> </o:DocumentProperties> <o:OfficeDocumentSettings> <o:AllowPNG/> </o:OfficeDocumentSettings></xml><![endif]--> <!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>JA</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:EnableOpenTypeKerning/> <w:DontFlipMirrorIndents/> <w:OverrideTableStyleHps/> <w:UseFELayout/> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--"/> <m:smallFrac m:val="off"/> <m:dispDef/> <m:lMargin m:val="0"/> <m:rMargin m:val="0"/> <m:defJc m:val="centerGroup"/> <m:wrapIndent m:val="1440"/> <m:intLim m:val="subSup"/> <m:naryLim m:val="undOvr"/> </m:mathPr></w:WordDocument></xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="276"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles></xml><![endif]--> <!--[if gte mso 10]><style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Cambria; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;} </style><![endif]--> <!--StartFragment--> <br /><div class="MsoNormal">Following the announcement of the v6 beta release, we thought it might be helpful expand a little bit on some of the topics in the <a href="http://code.google.com/p/fds-smv/wiki/FDS_Release_Notes" target="_blank">release notes</a>. Our aim here is to explain why certain changes were necessary or why certain choices were made in a way that might provide more insight than can be gleaned from just reading the formal documentation (though reading the guides is still highly encouraged!).<o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">The focus in this article will be hydrodynamics and turbulence. Hydrodynamics is the foundation of any CFD code, especially a reacting flow code like FDS. Chemical species cannot react until they have mixed, and (in a diffusion flame) they cannot mix until they have been transported. The velocity field, therefore, plays a critical role in fire dynamics. In a model like FDS, other things being equal, the model for the turbulent viscosity determines the behavior of the velocity field and hence to a large extent the dynamics of the fire.<o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">In v5, the turbulent viscosity was modeled by constant coefficient Smagorinsky (1963) (csmag), which has the drawback being overly dissipative (have you ever seen a 10-foot fire look like a candle flame?). Thus, finer grid resolution was required to achieve accurate results. But even highly resolved flames did not look qualitatively correct. The reason: csmag is not convergent. That is, the modeled term does not go away (as it should) when the grid is refined to the level of a DNS.<o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">The original candidate to replace csmag was the dynamic Smagorinsky model (dsmag). While this model added about 20% to the cost of computing the velocity field, in theory this cost could be recovered by achieving more accurate results (statistically) with coarser grid resolution. So, dsmag was implemented and run through a battery of verification and validation tests with more or less satisfactory results. On the plus side, we were getting very realistic-looking flames at moderate grid resolution. But on the minus side, if the resolution was too coarse (often inevitable in engineering calculations), the flames were erratic---instead of a 10-foot flame looking like a candle, dsmag might produce an unstable ball of fire. <o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">The solution to this dilemma came in the form of Deardorff’s model (1972), with a twist. In the model Deardorff originally proposed, he solved a transport equation for the subgrid kinetic energy (sgs ke). This strategy is expensive, but it allows for the inclusion of complex subgrid physics, like unresolved buoyancy production. To avoid this cost, we employ a simple algebraic model for the sgs ke based on the scale similarity model of Bardina (1986). The result is a model that is cheap and performs reasonably well at both coarse and fine resolution. As an added benefit, the framework is now in place to utilize a transported sgs ke, a topic that might be worth exploring as FDS gets pushed to model large-scale outdoor flows in both wildfire and wind engineering applications.<o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">While the new turbulence model is certainly significant, the change that really defines v6 is the new scalar transport scheme. The ripple effects of this modification were not fully appreciated until a couple of years after the initial implementation. What follows is the “saga of removing spurious temperature wiggles.”<o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">Take FDS 5 and simulate a simple fire plume with open boundaries and 20 C ambient air temperature. Now look closely at the temperature field near the corner of the burner. You will see unphysical excursions of the local temperature to well below ambient, near 0 C. Clearly this is undesirable. What is not as obvious is that there are also unphysical excursions well above ambient, within the fire. Of course, 1020 C versus 1000 C is not as dramatic a problem.<o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">So why does this happen? The root cause is central differencing in the solution of the density equation. Purely centered schemes are notorious for generating dispersion errors---wiggles. To combat this problem, v5 uses a boundedness correction which tries to prevent the scalar fields (density and species concentration) from going above or below defined limits. With mass fractions the limits are easy to set (0 and 1). With density there is only one hard limit (0).<o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">In v6, we have decided to try another approach: total variation diminishing (TVD) scalar transport. This is a fancy way of saying “we use just the right amount of upwinding.” Pure upwind schemes are too dissipative (translation: inaccurate). But TVD schemes are specially designed to track scalar discontinuities with minimal dispersion error and minimal dissipation. This effectively solved the temperature wiggles problem.<o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">Several TVD schemes are implemented in v6. The default for LES is Superbee (Roe, 1986), so chosen because this scheme does the best job preserving the scalar variance in highly turbulent flows with coarse grid resolution. The default scheme for DNS is Charm (Zhou, 1996) because the gradient steepening used in Superbee forces a stair step pattern at high resolution, while Charm is convergent. A few other schemes (including Godunov and central differencing) are included for completeness; more details can be found in the Tech Guide.<o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">These modifications were completed by the summer of 2009 (yes, you are reading that right). It seemed at this point that we were very close to a v6 release. Then… the wheels came off the bus. In what we thought would be a routine pass through the verification suite, we hit a snag: our energy budget cases were off, by about 10%. In addition, several of the validation cases now showed low upper layer temperatures---yep, by about 10%.<o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">Hmmm. A lot of head scratching ensued---two years, in fact, until Jason Floyd finally developed a test case that pinpointed the problem. Imagine a T-mixer in which equal mass fluxes of a hot gas with a low cp (heat capcity) and a cold gas with a high cp mix and exit together. The critical aspect of this case is that the flow paths are one cell thick and we artificially set the diffusivity and conductivity to zero. Thus, any mixing is purely numerical. What we found was that the outlet stream temperature was mass weighted instead of enthalpy weighted---there was no accounting for the variation in cp. The pieces of the puzzle finally started to come together because another relatively recent development (actually in v5) was the inclusion of variable temperature specific heats.<o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">The aftermath of this discovery was a torturous dissection of the energy equation (see appendix of the Tech Guide) illustrating that basic assumptions of the low-Mach number approximation can hide the effects of the numerical mixing from TVD transport schemes. The bright side of the story is that through this analysis we were able to derive corrections for numerical mixing that force FDS to satisfy the discrete, conservative form of the sensible enthalpy equation, ultimately solving the temperature issues.<o:p></o:p></div><div class="MsoNormal"><br /></div><div class="MsoNormal">The benefit of the delayed release is that many other parts of the code were improved in the mean time. So stay tuned for our next installment.<o:p></o:p></div><!--EndFragment-->Randy McDermotthttp://www.blogger.com/profile/09646865475355573984noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-73724203458419023282012-11-04T14:06:00.000-05:002012-11-04T14:06:21.675-05:00FDS-SMV 6 Beta TestingIt has been over two years since our last official release of version 5 of FDS and Smokeview, and we are ready to start beta testing FDS-SMV 6. Downloads are available at the home page<a href="http://fire.nist.gov/fds" rel="nofollow" target="_blank"> fire.nist.gov/fds</a>. Scroll down to the bottom of the page for the appropriate links. <br /><br />Our primary interest in beta testing the new release is to determine if there is sufficient documentation to convert FDS 5 input files into FDS 6 input files. In general, the major parameters are the same, and the basic syntax of the input file is the same. However, some of the sub-models are significantly different, and there is no easy way to maintain perfect backward compatibility in FDS (Smokeview, in general, is backward compatible). By issuing error statements at start up, we want to alert you to important changes, which is why we prefer to stop the program with an error statement rather than accepting an outdated parameter or construct. <br /><br />For those interested in helping with the beta testing, download the latest FDS 6 "release candidate" and try to run one of your old cases. Chances are that you will receive an error message. Chapter 1 of the new FDS User's Guide has a table that lists all of the parameters that have changed from FDS 5 to 6. We would like you to tell us how easy or difficult you find the conversion process, and whether or not the changes are well-documented. If you would like to be listed as a beta tester, send us via an email your name and affiliation, and we will compile a list in the new FDS User's Guide.<br /><br />You can report your findings directly to us via email, or you can also start an Issue Tracker or Discussion Group thread. The latter two are preferable so that we can all learn about the changes in FDS and Smokeview. This will also provide us with the opportunity to describe in more detail the changes that have been made. Many of these changes are "under the hood," so to speak; that is, there have been changes to core algorithms that may not be apparent at first glance. But we can discuss these improvements as we look at your cases. Kevin McGrattanhttp://www.blogger.com/profile/12636555449293429503noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-69948511752779881262011-02-21T12:10:00.002-05:002011-02-21T13:14:58.890-05:00Progress on FDS 6Every once in a while, early on a saturday morning, I decide that I'm going to fix that leak under the bathroom sink, or repair the squeaky door hinge on the kitchen cabinet, once and for all. Nine times out of ten I find other things wrong, like rotten wood behind the sink, or a loose screw holding the cabinet to the wall. One thing leads to another and before long I've torn the whole room apart, and my wife is on the phone with the plumber or handyman. Which is why, by the way, monday morning is the busiest time for plumbers and handmen.<br /><br />This is a good analogy for our development of FDS 6. We've been working many issues for quite some time, and making great progress, but we've thrown up alot of dust in the process. One thing just leads to another. We get asked often "when will FDS 6 be ready?" and our answer is "when it is better than FDS 5." What does "better" mean? Better physics, better numerics, better documentation -- better everything, and that's a tall order because FDS 5.5.3 has been working fairly well, or at least we have not seen too many serious bugs reported in the last few months.<br /><br />But if FDS 5.5.3 is working well, why change it? Because there are long term goals for the program that simply cannot be achieved within the current framework. Things like Adaptive Mesh Refinement (dynamically adapting the local mesh to local conditions), non-rectilinear obstructions that are not tied to the grid, really big calculations running on hundreds or thousands of processors, and streamlined designation of material properties. All this without degrading the current ability of the model to track smoke and heat from specified fires, a very common design application.<br /><br />One of the most challenging aspects of the current overhaul is that the new algorithms work well at fairly good grid resolution, and we're happy with the improvement in grid-independence as the mesh is refined. But we're still not completely satisfied with the results on very coarse grids. Some would ask why we should expect good results on bad grids. Two reasons -- first, most fire simulations start with a very small fire that is not well-resolved initially. Second, most simulations involve fairly large spaces. It's hardly worth developing a fire model that can only simulate fires that are just as easily re-created in a test laboratory. With relatively small fires in relatively big volumes, it is not possible to capture every detail of the fire behavior at all scales. We definitely want to push the limits and increase what we call the "dynamic range," but we know that even with multiple meshes, and eventually AMR, it's not always going to be possible to capture everything in a practical simulation. So we want to ensure that the results of the calculation are reasonable at a variety of grid resolutions.<br /><br />We'll follow up this post with more details on different aspects of FDS 6 development, written by the various team members working the issues. In the next few months, we're going to ask for volunteers to run beta tests of the new version -- in particular to run cases with FDS 5 and 6 to see if there are serious problems. For those of you who are students working with FDS, consider trying out the new version (available via the GoogleCode SVN check-out) and reporting your findings to us. It may be a bit frustrating working with a moving target, but we think it's a more valuable educational experience to be working along side us developing new techniques for simulating fire rather than just running existing code.Kevin McGrattanhttp://www.blogger.com/profile/12636555449293429503noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-17498644408846607832010-09-08T13:01:00.002-04:002010-09-08T13:10:55.534-04:00Release of FDS 5.5.2A maintenance version of FDS has been posted to the Downloads page. This is version 5.5.2. Unless there are serious bugs to fix, this might be our last release of FDS 5. We are working on FDS 6, and those of you who participate in the group discussions will have already heard alot of chatter about FDS 6. One thing to keep in mind is that the transition from FDS 5 to 6 will be relatively transparent to most users. We are not planning on major changes to the input parameter names or file structure. The reason for changing from 5 to 6 is that there are going to be changes to the basic algorithm that warrent a change in major release number.<br /><br />As always, for those of you who have submitted bug reports for FDS 5.5.1, please check that the new version fixes the problem if we have claimed to have fixed it. This is a very important part of our quality control, but unfortunately only about 1 in 10 users follow up on bug reports and actually verify that the fix has worked. Even worse, we often find out, months after fixing something, that the original submitter of the bug report continues to use the work-around that was suggested when the report was first submitted. That's not a good way to make progress.Kevin McGrattanhttp://www.blogger.com/profile/12636555449293429503noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-22999216863504677802010-08-06T15:45:00.002-04:002010-08-06T15:56:08.317-04:00Google moderator for FDS-SMV<span style="font-family:georgia;">Dear Group:</span><br /><br /><span style="font-family:georgia;">In an effort to better accommodate the needs of the community moving forward, we have set up a Google moderator series to help gather feedback on questions concerning FDS-SMV development.</span><br /><br /><a style="font-family: georgia;" href="http://goo.gl/mod/bp0n">http://goo.gl/mod/bp0n</a><br /><br /><span style="font-family:georgia;">To get things started, I have submitted a question to you, the group, regarding the default output frequency of Plot 3D (.q) files. Please vote on this idea.</span><br /><br /><a style="font-family: georgia;" href="http://goo.gl/mod/ygrO">http://goo.gl/mod/ygrO</a><br /><br /><span style="font-family:georgia;">Also, feel free to submit other ideas and comment on the ideas already present.</span><br /><br /><span style="font-family:georgia;">Our feeling is that this forum will help us sort developmental priorities and answer simple questions like the one presented above. We hope this will encourage participation from the community at large and that the voice of those who do not regularly chime in on the discussion group can more easily be heard.</span><br /><br /><span style="font-family:georgia;">Best,</span><br /><span style="font-family:georgia;">Randy</span><span style="font-family:georgia;"></span>Randy McDermotthttp://www.blogger.com/profile/09646865475355573984noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-63874111799983649262010-06-14T09:20:00.003-04:002010-06-14T09:29:57.314-04:00parallel processing on the Windows command lineThe purpose of this post is to explain the use of a new utility named background.exe - what it is and how it might be useful. It is available with the smokeview 5.5.5 windows installation just posted on the download site at <br /><a href="http://code.google.com/p/fds-smv/downloads/list">http://code.google.com/p/fds-smv/downloads/list</a><br /><br /><br />As you all know, MPI is a software library used to enable parallel processing at the program ie FORTRAN source code level. This enable ONE FDS job to make use of multiple CPUs thereby speeding up the calculation. It is often the case however that you are doing a parameter study or running a verification suit - ie you have a long list of FDS jobs to run. Typically you would create a windows batch file (.bat) containing a list of commands like<br /><br />fds5 casename_1.fds<br />....<br />fds5 casername_n.fds<br /><br />On a Windows system, each entry in the above list will not start until the previous entry has completed - even if your computer has multiple cores or CPUs.<br /><br />Unix/Linux based systems have the capability to put a computer job in the background, meaning that when you run the job, control returns to you immediately allowing you to run another job. With computers with multiple cores or CPUS you can then run more than one job simultaneously.<br /><br />I didn't see a way of doing this on a Windows system so, I wrote a little utility called background that does just that.<br /><br />Here is how you might use it with FDS <br /><br /> background -d 1.0 -u 90 fds5 casename.fds<br /><br />This command runs "fds5 casename.fds" after waiting 1 s and ensuring that the CPU usage is less than 90 %. If the CPU usage happens to be more than 90 %, "background" waits to submit the fds5 command until the usage drops below 90 % then runs fds5 casename.fds.<br /><br />The purpose of the delay before submitting the job to give windows a chance to update usage from previous invocations. (not really sure if this is needed. This feature is a fail safe to enusure that a large number of jobs are not submitted at once).<br /><br />The background utility is designed to use in a windows batch file. Say you have a list of 5 FDS jobs you want to run in a .bat file. On a windows computer you would have a batch file with the contents something like<br /><br />fds5 case1.fds<br />fds5 case2.fds<br />fds5 case3.fds<br />fds5 case4.fds<br />fds5 case5.fds<br /><br />Using background and if you accept the default you would change your script to something like<br /><br />background fds5 case1.fds<br />background fds5 case2.fds<br />background fds5 case3.fds<br />background fds5 case4.fds<br />background fds5 case5.fds<br /><br />(or you could add -d and -u options ) On my system, I can make use of all 4 cores cutting the run times by a factor of 4. <br /><br />Type background -h to see help info. Let me know if you have any questions.glenn forneyhttp://www.blogger.com/profile/12306958171159181957noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-13069630150407005042010-06-10T14:19:00.004-04:002010-06-10T14:51:16.324-04:00Smokeview Maintenance Release 5.5.5<meta equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 12"><meta name="Originator" content="Microsoft Word 12"><link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cgforney%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"><link rel="themeData" href="file:///C:%5CDOCUME%7E1%5Cgforney%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"><link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5Cgforney%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"><!--[if gte mso 9]><xml> <w:worddocument> <w:view>Normal</w:View> <w:zoom>0</w:Zoom> <w:trackmoves/> <w:trackformatting/> <w:punctuationkerning/> <w:validateagainstschemas/> <w:saveifxmlinvalid>false</w:SaveIfXMLInvalid> <w:ignoremixedcontent>false</w:IgnoreMixedContent> <w:alwaysshowplaceholdertext>false</w:AlwaysShowPlaceholderText> <w:donotpromoteqf/> <w:lidthemeother>EN-US</w:LidThemeOther> <w:lidthemeasian>X-NONE</w:LidThemeAsian> <w:lidthemecomplexscript>X-NONE</w:LidThemeComplexScript> <w:compatibility> <w:breakwrappedtables/> <w:snaptogridincell/> <w:wraptextwithpunct/> <w:useasianbreakrules/> <w:dontgrowautofit/> <w:splitpgbreakandparamark/> <w:dontvertaligncellwithsp/> <w:dontbreakconstrainedforcedtables/> <w:dontvertalignintxbx/> <w:word11kerningpairs/> <w:cachedcolbalance/> </w:Compatibility> <w:browserlevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathpr> <m:mathfont val="Cambria Math"> <m:brkbin val="before"> <m:brkbinsub val="--"> <m:smallfrac val="off"> <m:dispdef/> <m:lmargin val="0"> <m:rmargin val="0"> <m:defjc val="centerGroup"> <m:wrapindent val="1440"> <m:intlim val="subSup"> <m:narylim val="undOvr"> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"> <w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"> <w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"> <w:lsdexception locked="false" priority="39" name="toc 1"> <w:lsdexception locked="false" priority="39" name="toc 2"> <w:lsdexception locked="false" priority="39" name="toc 3"> <w:lsdexception locked="false" priority="39" name="toc 4"> <w:lsdexception locked="false" priority="39" name="toc 5"> <w:lsdexception locked="false" priority="39" name="toc 6"> <w:lsdexception locked="false" priority="39" name="toc 7"> <w:lsdexception locked="false" priority="39" name="toc 8"> <w:lsdexception locked="false" priority="39" name="toc 9"> <w:lsdexception locked="false" priority="35" qformat="true" name="caption"> <w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"> <w:lsdexception locked="false" priority="1" name="Default Paragraph Font"> <w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"> <w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"> <w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"> <w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"> <w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"> <w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"> <w:lsdexception locked="false" unhidewhenused="false" name="Revision"> <w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"> <w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"> <w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"> <w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"> <w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"> <w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"> <w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"> <w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"> <w:lsdexception locked="false" priority="37" name="Bibliography"> <w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"> </w:LatentStyles> </xml><![endif]--><style> <!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman";} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} --> </style><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} </style> <![endif]--> <p style="font-family: georgia;font-family:georgia;" class="MsoNormal" ><span style="font-size:100%;">A new maintenance release of Smokeview , version 5.5.5, has been posted at <a href="http://code.google.com/p/fds-smv/downloads/list"></span><span style="font-size:100%;">http://code.google.com/p/fds-smv/downloads/list</a></span><span style="font-size:100%;"> . Besides bug fixes and a few other enhancements, I added a new way to manipulate the scene, inspired by a question on the users forum. Basically you can now make use of all 3 mouse buttons (on a 3 button mouse) to manipulate the scene.</span></p> <p style="font-family: georgia;font-family:georgia;" class="MsoNormal" ><span style="font-size:100%;"><o:p> </o:p></span></p> <p style="font-family: georgia;font-family:georgia;" class="MsoNormal" ><span style="font-size:100%;">
<br /></span></p><p style="font-family: georgia;font-family:georgia;" class="MsoNormal" ><span style="font-size:100%;">LEFT – same as before – rotate the scene</span></p> <p style="font-family: georgia;font-family:georgia;" class="MsoNormal" ><span style="font-size:100%;">MIDDLE – move in, out, left, right</span></p> <p style="font-family: georgia;font-family:georgia;" class="MsoNormal" ><span style="font-size:100%;">RIGHT – move up and down.</span></p><p style="font-family: georgia;font-family:georgia;" class="MsoNormal" ><span style="font-size:100%;">
<br /></span></p> <p style="font-family: georgia;font-family:georgia;" class="MsoNormal" ><span style="font-size:100%;"><o:p> </o:p></span></p> <p style="font-family: georgia;font-family:georgia;" class="MsoNormal" ><span style="font-size:100%;"><o:p></o:p>The right mouse button was used for menuing. So to use the RIGHT mouse button for scene manipulation you first have to turn menuing off. Do this by press the M key . To turn menus back on press the M key again.</span></p><p style="font-family: georgia;" class="MsoNormal" face="georgia">
<br /></p><p style="font-family: georgia;" class="MsoNormal" face="georgia">This feature is a work around for a problem that occurs with the Linux version of Smokeview. It did not support vertical scene movement because Smokeview could not detect the use of the ALT key.</p><p style="font-family: georgia;" class="MsoNormal" face="georgia">
<br /></p><span style="font-family: georgia;font-family:georgia;font-size:100%;" ></span><p style="font-family: verdana;font-family:georgia;" class="MsoNormal" ><span style="font-size:100%;"><o:p> </o:p></span></p> <p class="MsoNormal">
<br /></p> glenn forneyhttp://www.blogger.com/profile/12306958171159181957noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-53429146197965212972010-04-07T17:39:00.002-04:002010-04-07T18:04:04.482-04:00FDS/Smokeview Minor Release 5.5We have just posted a minor release of FDS and Smokeview, version 5.5. Recall that a minor release of FDS means that there will be some change in functionality related to one or more of the following:<br /><ul><li>More accurate properties of various gases and liquids using the JANAF Thermochemical Tables</li><li>Restoration of the baroclinic torque term in the momentum equation</li><li>Improved treatment of droplets and sprays</li><li>Improved treatment of various boundary conditions</li></ul><p>You may not notice some of the changes, but because they might affect slightly some results, we decided to release these as a minor release. </p><p>Many of these improvements have come as a result of the increased verification work that we see being done by the users. Sometimes we find that very simple test cases submitted to the Issue Tracker reveal a feature of the model that is not working as well as it could. Often, these submittals have nothing to do with fire. They are fundamental thermodynamics issues. Takes us back to the good old days of engineering classes. Thanks to all of you who put together these cases and spend a considerable amount of time working with us to diagnose the problems.</p><p>In addition to new versions of FDS and Smokeview, there are updated versions of all the manuals. You'll find some work in the FDS V&V Guides related to developments we refer to as "FDS6", the next major release. We're trying to gradually work in the necessary structural changes to the code to prevent the kind of abrupt change that occurred when we transitioned from version 4 to 5. Hopefully, 5 to 6 will be smoother. We do not anticipate major changes to the input or output formats -- the major changes will be under the hood.</p>Kevin McGrattanhttp://www.blogger.com/profile/12636555449293429503noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-49067389650351665332009-12-08T09:47:00.002-05:002009-12-08T09:54:47.984-05:00Maintenance Release of FDS 5.4.3There is a new maintenance release of FDS/SMV on<br /><br /><a href="http://code.google.com/p/fds-smv/downloads/list">http://code.google.com/p/fds-smv/downloads/list</a><br /><br />Please note that for those of you who are not using the 32 bit Windows versions of FDS, there might have been a change to the name of the executable. After downloading the new version, go to the directory where the program was installed and check that there are no older versions present (or rename them if you want to keep them). When in doubt, simply type the name of the executable at the command line and see that the release number is the most current.Kevin McGrattanhttp://www.blogger.com/profile/12636555449293429503noreply@blogger.comtag:blogger.com,1999:blog-2433438602032290397.post-43569845560856098332009-11-18T14:42:00.002-05:002009-11-18T14:57:05.332-05:00The FDS/Smokeview Issue TrackerOver the past year, I have noticed that the FDS/SMV Discussion Group has changed its focus from general questions, comments and discussion to bug reporting. This is just a quick note to remind everyone that the best way to report a bug in FDS or Smokeview is via the Issue Tracker<br /><br /><a href="http://code.google.com/p/fds-smv/issues/list">http://code.google.com/p/fds-smv/issues/list</a><br /><br />and not the Discussion Group. There are several advantages to using the Issue Tracker:<br /><br />1. It is easier to upload files.<br />2. The case is assigned to one person and a record of progress is maintained.<br />3. The rest of the community need not follow the specific details.<br />4. It provides a good way to collaborate because there is a running record of who has done what and when.<br /><br />The most important reason for using the Issue Tracker is that it is vital part of our verification process. If you report a bug, and we fix it, there is a record of what was done and why. There is also a way for you to check that the fix worked, and for us to close the case. When we fix a reported bug, the case is marked "Fixed" and the person reporting the bug ought to get an email notice to this effect. It is very important that the person reporting the bug then go and try the latest version to see if the bug has truly been fixed. It is not enough for the case to be marked "Fixed" by us -- it must be "Verified" by you.<br /><br />So please, those of you who have reported bugs to the Issue Tracker in the past few months, if your case is still only marked "Fixed", could you let us know if the latest version of FDS or Smokeview really fixed the problem. Then we can close the case.<br /><br />Thanks.Kevin McGrattanhttp://www.blogger.com/profile/12636555449293429503noreply@blogger.com