An Introduction To: Fire Simulation
An Introduction To: Fire Simulation
An Introduction To: Fire Simulation
Fire Simulation
with FDS and Smokeview
• http://www.emanuelegissi.eu
This manual was produced using LYX and OpenOffice.org on Ubuntu Linux. The
LATEX file intro_to_fire_sim.tex was compiled on July 16, 2010.
Copyright notice
This work is licensed under the Creative Commons Attribution-Share Alike 3.0
License. To view a copy of this license, visit:
• http://creativecommons.org/licenses/by-sa/3.0/
You are free to use, share, adapt this work. Remember to cite the sources and
to use the same open license for derivative work.
About the Author
iii
iv
Preface
This manual was born as a small tutorial for students of fire safety engineering
courses. Then it grew to the current state.
The main goal of this manual is to introduce the student to the complex world of
fire simulation with Fire Dynamics Simulator and Smokeview, and complements
the official documentation. The official documentation remains an invaluable
source of reference for advanced users and this manual is heavily based on it.
Some large parts are even copy-pasted and adapted.
In this manual, topics are organized in a strict logical order and the basics are
thoroughly explained to improve the learning curve. Some advanced topics are
completely omitted for the sake of simplicity.
According to teaching experience, students understand the logic behind the Fire
Dynamics Simulator and become autonomous learners after 16 hours of course:
they learn to work independently and are able to develop reasonable engineering
level applications by themselves.
v
vi
Acknowledgments
People
The National Institute of Standards and Technology (NIST), a federal agency
within the Department of Commerce of the United States, is the major driving
force behind Fire Dynamics Simulator development.
The Fire Dynamics Simulator has been publicly released on 2000. Since its first
release, continued improvements have been made to the software based largely
on feedback from its users and on the hard work of some NIST employees.
Fire Dynamics Simulator documentation is written and maintained by Kevin
McGrattan, Bryan Klein, Simo Hostikka, and Jason Floyd from
various organizations. Their user support through the discussion group is always
complete, fast, and precious. In a simple word: friendly.
I owe to them large parts of this manual and most of my knowledge on fire
simulation. Thus, I thank them once more.
Ideas
This manual is open content and free, because it’s published in a format that
explicitly allows copying and modifying of its information by anyone.
Fire Dynamics Simulator itself is free and in the public domain. Linux1 and
Openoffice.Org2 are free and open source.
I thank the open source movement as a whole, as the best things in life are free.
1
Linux is an open source operating system. See http://www.ubuntu.com/ for an user
friendly Linux distribution.
2
Openoffice.org is an open source office and productivity program for Linux, MS Windows,
and MacOS X. See http://www.openoffice.org/ for further details.
vii
viii
Contents
1 Introduction 1
1.1 Complexity of fire phenomena . . . . . . . . . . . . . . . . . . . 1
1.2 Approaches to fire simulation . . . . . . . . . . . . . . . . . . . 2
1.3 Simplification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Inside FDS 7
2.1 What are FDS ans Smokeview? . . . . . . . . . . . . . . . . . . 7
2.2 Engineering applications . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Who develops FDS? . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Who uses FDS? . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 How much does it cost? . . . . . . . . . . . . . . . . . . . . . . 9
2.6 How does FDS work? . . . . . . . . . . . . . . . . . . . . . . . 9
2.6.1 Hydrodynamic model . . . . . . . . . . . . . . . . . . . 9
2.6.2 Combustion model . . . . . . . . . . . . . . . . . . . . . 9
2.6.3 Radiation transport . . . . . . . . . . . . . . . . . . . . 10
2.6.4 Geometry and multiple meshes . . . . . . . . . . . . . . 10
2.6.5 Parallel processing . . . . . . . . . . . . . . . . . . . . . 11
2.6.6 Boundary conditions . . . . . . . . . . . . . . . . . . . . 11
2.7 Limitations of FDS . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7.1 Low speed flow assumption . . . . . . . . . . . . . . . . 11
2.7.2 Rectilinear geometry . . . . . . . . . . . . . . . . . . . . 11
2.7.3 Fire growth and spread . . . . . . . . . . . . . . . . . . 12
2.7.4 Combustion . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7.5 Radiation . . . . . . . . . . . . . . . . . . . . . . . . . . 13
ix
x CONTENTS
3 Running FDS 15
3.1 Online resources and user support . . . . . . . . . . . . . . . . . 15
3.2 Graphical user interface . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Version numbers . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4 Hardware requirements . . . . . . . . . . . . . . . . . . . . . . . 16
3.5 Serial and parallel calculations . . . . . . . . . . . . . . . . . . . 17
3.6 Installing on Windows XP . . . . . . . . . . . . . . . . . . . . . 17
3.7 Installing on Ubuntu Linux . . . . . . . . . . . . . . . . . . . . . 18
3.7.1 First install . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.7.2 Installing a new version . . . . . . . . . . . . . . . . . . 20
3.8 Compiling an optimized binary . . . . . . . . . . . . . . . . . . . 20
3.9 Performing a calculation . . . . . . . . . . . . . . . . . . . . . . 20
3.9.1 Running serial FDS on Windows XP . . . . . . . . . . . . 20
3.9.2 Running serial FDS on Ubuntu Linux . . . . . . . . . . . 21
3.9.3 Running parallel FDS on Ubuntu Linux . . . . . . . . . . 21
3.10 Monitoring progress . . . . . . . . . . . . . . . . . . . . . . . . 23
3.11 Stop a calculation . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.12 Visualizing results . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.13 Output files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5 General configuration 41
5.1 Naming the job, HEAD . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Simulation time, TIME . . . . . . . . . . . . . . . . . . . . . . . 42
5.3 Miscellaneous, MISC . . . . . . . . . . . . . . . . . . . . . . . . 42
7 Computational domain 55
7.1 Defining a mesh, MESH . . . . . . . . . . . . . . . . . . . . . . . 55
7.2 Multiple meshes . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.3 Conformity to the mesh . . . . . . . . . . . . . . . . . . . . . . 58
7.4 Choosing the right mesh dimension:
a sensitivity study . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.5 Initial conditions of the computational domain, INIT . . . . . . . 60
8 Materials 63
8.1 Defining a material, MATL . . . . . . . . . . . . . . . . . . . . . 63
8.2 Thermal properties . . . . . . . . . . . . . . . . . . . . . . . . . 64
8.3 Burning properties . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.3.1 Solids . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.3.2 Liquids . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.3.3 HEAT_OF_COMBUSTION in a MATL line? . . . . . . . . . . 67
8.4 Properties hell . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.5 Resources for material property data . . . . . . . . . . . . . . . 68
xii CONTENTS
10 Lagrangian particles 73
10.1 Defining Lagrangian particles, PART . . . . . . . . . . . . . . . . 73
10.2 Massless particles . . . . . . . . . . . . . . . . . . . . . . . . . 74
10.3 Water droplets . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
11 Boundary conditions 77
11.1 Defining boundary conditions, SURF . . . . . . . . . . . . . . . . 77
11.2 Predefined boundary conditions . . . . . . . . . . . . . . . . . . 79
11.3 Coloring boundary conditions . . . . . . . . . . . . . . . . . . . 80
11.4 Examples of boundary conditions . . . . . . . . . . . . . . . . . 81
11.4.1 Adiabatic surface . . . . . . . . . . . . . . . . . . . . . . 81
11.4.2 Fixed temperature and heat flux . . . . . . . . . . . . . . 81
11.4.3 Fans . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
11.4.4 Fans injecting extra gas species . . . . . . . . . . . . . . 83
11.4.5 Dynamic pressure at an open boundary . . . . . . . . . . 84
11.4.6 Prescribing an heat release rate . . . . . . . . . . . . . . 84
11.5 Geometric conformity and rates . . . . . . . . . . . . . . . . . . 85
11.6 Boundary conditions for solids . . . . . . . . . . . . . . . . . . . 85
11.6.1 Backing . . . . . . . . . . . . . . . . . . . . . . . . . . 86
11.6.2 Setting an initial temperature . . . . . . . . . . . . . . . 88
11.7 Time dependent boundary conditions . . . . . . . . . . . . . . . 88
11.7.1 Simplified ramps . . . . . . . . . . . . . . . . . . . . . . 88
11.7.2 User defined ramps . . . . . . . . . . . . . . . . . . . . 89
11.8 Injecting Lagrangian particles . . . . . . . . . . . . . . . . . . . 91
CONTENTS xiii
12 Solid geometry 93
12.1 Defining solid obstructions, OBST . . . . . . . . . . . . . . . . . 93
12.2 Creating voids inside obstructions, HOLE . . . . . . . . . . . . . . 96
12.3 Prescribing a different boundary condition, VENT . . . . . . . . . 97
12.4 Default boundary condition . . . . . . . . . . . . . . . . . . . . 99
12.5 How thick is a wall? . . . . . . . . . . . . . . . . . . . . . . . . 100
12.6 Thin sheet obstructions . . . . . . . . . . . . . . . . . . . . . . 101
12.7 Activating and deactivating objects . . . . . . . . . . . . . . . . 102
12.8 Stair stepping complex geometries . . . . . . . . . . . . . . . . . 102
12.9 Coloring individual objects . . . . . . . . . . . . . . . . . . . . . 103
12.10Making burning solids disappear . . . . . . . . . . . . . . . . . . 104
14 Output 113
14.1 Prescribing output . . . . . . . . . . . . . . . . . . . . . . . . . 113
14.2 Output control parameters, DUMP . . . . . . . . . . . . . . . . . 115
14.3 Point measurement devices, DEVC . . . . . . . . . . . . . . . . . 115
14.3.1 Record a gas phase quantity . . . . . . . . . . . . . . . . 116
14.3.2 Record a solid phase quantity . . . . . . . . . . . . . . . 116
14.3.3 Record integrated quantities . . . . . . . . . . . . . . . . 117
xiv CONTENTS
xv
xvi LIST OF FIGURES
xvii
xviii LIST OF TABLES
Introduction
“A case can be made for fire being, next to the life processes, the
most complex of phenomena to understand” [Hottel 1984].
1
2 CHAPTER 1. INTRODUCTION
Thus, the mathematical models and the data needed to characterize the degrada-
tion of the condensed phase materials that supply the fuel may not be available.
Indeed, the mathematical modeling of the physical and chemical transformations
of real materials as they burn is still in its infancy.
In order to make progress, the questions that are asked have to be greatly sim-
plified.
To begin with, instead of seeking a methodology that can be applied to all fire
problems, we begin by looking at a few scenarios that seem to be most amenable
to analysis. Hopefully, the methods developed to study these simple problems
can be generalized over time so that more complex scenarios can be analyzed.
Second, we must learn to live with idealized descriptions of fires and approximate
solutions to our idealized equations.
Finally, the methods should be capable of systematic improvement. As our phys-
ical insight and computing power grow more powerful, the methods of analysis
can grow with them.
used to calculate the evolving distribution of smoke, fire gases and temperature throughout
compartments of a building during a fire. Visit http://cfast.nist.gov/ for further information.
1.2. APPROACHES TO FIRE SIMULATION 3
The relative physical and computational simplicity of the zone models has led to
their widespread use in the analysis of fire scenarios. So long as detailed spatial
distributions of physical properties are not required, and the two layer description
reasonably approximates reality, these models are quite reliable. However, by their
very nature, there is no way to systematically improve them.
The rapid growth of computing power and the corresponding maturing of com-
putational fluid dynamics (CFD), has led to the development of CFD based field
models applied to fire research problems. Virtually all this work is based on the
conceptual framework provided by the Reynolds-averaged form of the Navier-
Stokes equations (RANS). The use of CFD models has allowed the description RANS
of fires in complex geometries, and the incorporation of a wide variety of physical
phenomena.
However, these models have a fundamental limitation for fire applications – the
averaging procedure at the root of the model equations.
RANS models were developed as a time-averaged approximation to the conser-
vation equations of fluid dynamics. While the precise nature of the averaging
time is not specified, it is clearly long enough to require the introduction of large
eddy transport coefficients to describe the unresolved fluxes of mass, momentum
and energy. This is the root cause of the smoothed appearance of the results
of even the most highly resolved fire simulations. The smallest resolvable length
scales are determined by the product of the local velocity and the averaging time
rather than the spatial resolution of the underlying computational grid.
Unfortunately, the evolution of large eddy structures characteristic of most fire
plumes is lost with such an approach, as is the prediction of local transient events.
It is sometimes argued that the averaging process used to define the equations is
an ensemble average over many replicates of the same experiment or postulated
scenario. However, this is a moot point in fire research since neither experiments
nor real scenarios are replicated in the sense required by that interpretation of
the equations.
The application of Large Eddy Simulation (LES) techniques to fire is aimed at LES
extracting greater temporal and spatial fidelity from simulations of fire performed
on the more finely meshed grids allowed by ever faster computers.
The phrase LES refers to the description of turbulent mixing of the gaseous
fuel and combustion products with the local atmosphere surrounding the fire.
This process, which determines the burning rate in most fires and controls the
spread of smoke and hot gases, is extremely difficult to predict accurately. This
is true not only in fire research but in almost all phenomena involving turbulent
fluid motion. The basic idea behind the LES technique is that the eddies that
account for most of the mixing are large enough to be calculated with reasonable
4 CHAPTER 1. INTRODUCTION
accuracy from the equations of fluid dynamics. The hope (which must ultimately
be justified by comparison to experiments) is that small-scale eddy motion can
either be crudely accounted for or ignored.
DNS The fourth approach is Direct Numerical Simulation (DNS). DNS is a simula-
tion in computational fluid dynamics in which the Navier-Stokes equations are
numerically solved without any turbulence model. This means that the whole
range of spatial and temporal scales of the turbulence must be resolved in the
computational mesh.
The computational cost of DNS is very high, even at low Reynolds numbers.
For the Reynolds numbers encountered in most industrial applications, the com-
putational resources required by a DNS would exceed the capacity of the most
powerful computers currently available.
1.3 Simplification
The equations describing the transport of mass, momentum, and energy by the
fire-induced flows must be simplified so that they can be efficiently solved for the
fire scenarios of interest. The general equations of fluid dynamics describe a rich
variety of physical processes, many of which have nothing to do with fires.
Retaining this generality would lead to an enormously complex computational
task that would shed very little additional insight on fire dynamics. The simplified
equations, developed by Rehm and Baum [Rehm 1978], have been widely adopted
by the larger combustion research community, where they are referred to as the
low Mach number combustion equations. They describe the low speed motion
of a gas driven by chemical heat release and buoyancy forces.
The low Mach number equations are solved numerically by dividing the physical
space where the fire is to be simulated into a large number of rectangular cells.
Within each cell the gas velocity, temperature, etc., are assumed to be uniform;
changing only with time. The accuracy with which the fire dynamics can be
simulated depends on the number of cells that can be incorporated into the
simulation. This number is ultimately limited by the computing power available.
Present day, single processor desktop computers limit the number of such cells
to at most a few million. This means that the ratio of largest to smallest eddy
length scales that can be resolved by the computation (the dynamic range of the
simulation) is on the order of 100. Parallel processing can be used to extend this
range to some extent, but the range of length scales that need to be accounted
for if all relevant fire processes are to be simulated is roughly 104 to 105 because
1.3. SIMPLIFICATION 5
combustion processes take place at length scales of 1 mm or less, while the length
scales associated with building fires are of the order of tens of meters.
6 CHAPTER 1. INTRODUCTION
Chapter 2
Inside FDS
7
8 CHAPTER 2. INSIDE FDS
is a conserved scalar quantity that represents the mass fraction of one or more
components of the gas at a given point in the flow field. By default, two com-
ponents of the mixture fraction are explicitly computed. The first is the mass
fraction of unburned fuel and the second is the mass fraction of burned fuel, as
for example the mass of the combustion products that originated as fuel.
A two-step chemical reaction with a three parameter mixture fraction decomposi-
tion can also be used with the first step being oxidation of fuel to carbon monoxide
and the second step the oxidation of carbon monoxide to carbon dioxide. The
three mixture fraction components for the two step reaction are unburned fuel,
mass of fuel that has completed the first reaction step, and the mass of fuel that
has completed the second reaction step. The mass fractions of all of the major
reactants and products can be derived from the mixture fraction parameters by
means of state relations.
Lastly, a multiple-step finite rate model is also available.
Radiative heat transfer is included in the model via the solution of the radiation
transport equation for a gray gas, and in some limited cases using a wide band
model.
The equation is solved using a technique similar to finite volume methods for
convective transport, thus the name given to it is the Finite Volume Method
(FVM). Using approximately 100 discrete angles, the finite volume solver requires
about 20% of the total CPU time of a calculation, a modest cost given the
complexity of radiation heat transfer.
The absorption coefficients of the gas-soot mixtures are computed using [Grosshandler 1993]
narrow-band model. Liquid droplets can absorb and scatter thermal radiation.
This is important in cases involving mist sprinklers, but also plays a role in all
sprinkler cases.
It is possible to run an FDS calculation on more than one computer using the
Message Passing Interface (MPI).
All solid surfaces are assigned thermal boundary conditions, plus information
about the burning behavior of the material. Heat and mass transfer to and
from solid surfaces is usually handled with empirical correlations, although it is
possible to compute directly the heat and mass transfer when performing a Direct
Numerical Simulation (DNS).
The use of FDS is limited to low-speed1 flow with an emphasis on smoke and heat
transport from fires. This assumption rules out using the model for any scenario
involving flow speeds approaching the speed of sound, such as explosions, choke
flow at nozzles, and detonations.
The efficiency of FDS is due to the simplicity of its rectilinear numerical grid and
the use of a fast, direct solver for the pressure field. This can be a limitation in
some situations where certain geometric features do not conform to the rectan-
gular grid, although most building components do. There are techniques in FDS
to lessen the effect of “sawtooth” obstructions used to represent non rectangular
objects, but these cannot be expected to produce good results if, for example,
the intent of the calculation is to study boundary layer effects. For most practical
1
Mach numbers less than about 0.3
12 CHAPTER 2. INSIDE FDS
large-scale simulations, the increased grid resolution afforded by the fast pressure
solver offsets the approximation of a curved boundary by small rectangular grid
cells.
1. Properties of real materials and real fuels are often unknown or difficult to
obtain;
2. The physical processes of combustion, radiation and solid phase heat trans-
fer are more complicated than their mathematical representations in FDS;
3. The results of calculations are sensitive to both the numerical and physical
parameters. Current research is aimed at improving this situation, but it
is safe to say that modeling fire growth and spread will always require a
higher level of user skill and judgment than that required for modeling the
transport of smoke and heat from specified fires.
2.7.4 Combustion
For most applications, FDS uses a mixture fraction-based combustion model.
The mixture fraction is a conserved scalar quantity that is defined as the fraction
of gas at a given point in the flow field that originated as fuel. In its simplest
form, the model assumes that combustion is mixing-controlled, and that the
reaction of fuel and oxygen is infinitely fast, regardless of the temperature.
It is extremely rare to find measurements of local velocities and temperatures from fire
2
experiments that have reported error estimates that are less than 10%. Thus, the most accurate
calculations using FDS do not introduce significantly greater errors in these quantities than
the vast majority of fire experiments.
2.7. LIMITATIONS OF FDS 13
2.7.5 Radiation
Radiative heat transfer is included in the model via the solution of the radiation
transport equation (RTE) for a gray gas, and in some limited cases using a
wide band model. The RTE is solved using a technique similar to finite volume
methods for convective transport, thus the name given to it is the Finite Volume
Method (FVM).
There are several limitations of the model:
• First, the absorption coefficient for the smoke-laden gas is a complex func-
tion of its composition and temperature. Because of the simplified com-
bustion model, the chemical composition of the smokey gases, especially
the soot content, can effect both the absorption and emission of thermal
radiation.
Running FDS
This chapter explains how to obtain, install and run FDS and Smoke-
view. The explanation covers Ubuntu Linux and Windows XP.
• http://fire.nist.gov/fds
• Mathematical model;
• Verification;
• Experimental validation.
15
16 CHAPTER 3. RUNNING FDS
The FDS and Smokeview user’s guides only describe the mechanics of using
the computer programs. The technical reference guides provides the theory,
algorithm details, and verification and validation work.
Along with the FDS manuals, there are resources available on the Internet. These
include an issue tracker, that allows you to report bugs, feature requests and ask
specific clarifying questions, and group discussions, which support more general
topics than just specific problems.
Before using these on-line resources, it is important to first try to solve your own
problems by performing simple test calculations, or debugging your input file.
• http://www.blenderfds.org/
have at least a 1 GHz CPU, and 1 GB RAM. The CPU speed will determine how
long the computation will take to finish, while the amount of RAM will determine
how many mesh cells can be held in memory.
1 GB RAM can hold around 106 cells. To understand the physical meaning, a
20 m x 10 m x 5 m computational domain contains 106 cells, when discretized
with cubic cells of 10 cm side.
A large hard drive is required to store the output of the calculations. It is not
unusual for the output of a single calculation to consume many gigabytes of
storage space.
Smokeview needs an OpenGL graphic card. Look for graphics cards that specif-
ically list OpenGL support for the operating system you intend to use.
Serial calculations are performed in a single process that uses one only core of
current multi-core CPUs.
Ubuntu Linux 64 bit, that can be installed on all AMD 64 bit CPUs with
AMD64 extension and all Intel CPUs with EM64T extension.
The 64 bit version has the ability to address more RAM memory than 32 bit
version (over 4 GB). The 32 bit version is limited to 4 GB of RAM memory.
Be aware that Smokeview works much better on a good dedicated graphic card.
Some cheap graphic cards can prevent you from using it on Linux.
To install FDS and Smokeview on an Ubuntu Linux system, first, download the
latest version of the precompiled FDS and Smokeview for Linux from download
3.7. INSTALLING ON UBUNTU LINUX 19
page on the official web site. Depending on your Ubuntu flavor, download the
32 bit or the 64 bit compressed archive of the FDS distribution.
After downloading to your computer, extract the archive by right clicking on its
icon and selecting Extract here in the context menu.
Then, move the extracted FDS folder to your preferred location, for example
your home directory. In my case the resulting path to FDS folder would be
/home/egissi/FDS, as /home/egissi is my home folder.
After that, look at hidden files of your home folder by selecting View . Show
hidden files menu in the Nautilus file browser. Locate the .bashrc file in
your home directory, and open it for editing by double-clicking its icon.
Append the following text to the .bashrc file in the editor window:
Edit the emphasized line and set your actual path to the FDS folder. After that,
save the .bashrc file and close the text editor.
Open Synaptic package manager by selecting System . Administration . Synaptic
package manager menu and install:
Ubuntu Linux takes care for you of all the needed software dependencies.
Close your session and log-in again to put into effect the environment modifi-
cations. Your Ubuntu Linux system is now ready to perform serial and parallel
simulations on a multi-core or multi-CPU workstation.
20 CHAPTER 3. RUNNING FDS
When installing a new version of FDS and Smokeview, just delete the old FDS
folder. After downloading the new version, extract the new FDS folder and drag
it to the same position as before.
Your Ubuntu Linux system is now ready to perform serial and parallel simulations
with the new version.
2. Run FDS on the input files. FDS starts and creates many output files in
the mycase folder.
After having set up an input file, open up a command prompt window: select
Start . Run menu, then type cmd. Move into the mycase folder, where the input
file for the case is located, with the cd command.
Then run the code by typing the following command:
3.9. PERFORMING A CALCULATION 21
fds5 mycase.fds
where fds5 is the name of FDS binary and mycase.fds is the input file name.
A serial calculation starts and its progress is indicated by diagnostic output that
is written out onto the screen.
If unsure, just look inside FDS/FDS5/bin folder to discover the right name for
FDS binaries.
Then the simulation starts and its progress is indicated by diagnostic output that
is written out onto the screen.
Figure 3.3: Running a parallel calculation and monitoring the system on Ubuntu
Linux
lamboot -v
mpirun -np 4 fds5_mpi_intel_linux_32 mycase.fds
lamhalt -v
lamboot -v
mpirun -np 4 fds5_mpi_intel_linux_64 mycase.fds
lamhalt -v
3.10. MONITORING PROGRESS 23
If unsure, just look inside FDS/FDS5/bin folder to discover the right name for
Smokeview binary.
Inside Smokeview, menus are accessed by clicking on the graphical window with
the right mouse button. The Load/Unload menu may be used to read in the
data files to be visualized. The Show/Hide menu may be used to change how
the visualizations are presented.
For the most part, the menu choices are self explanatory. In case of need, help
on using Smokeview can be found on [Smokeview user’s guide].
Device output data: data associated with particular devices (link tempera-
tures, smoke obscuration, thermocouples, etc.) is output in comma de-
limited format in a file called mycase_devc.csv
The comma delimited format files can easily be imported into Openoffice.org
Calc or Microsoft Excel for further analysis.
26 CHAPTER 3. RUNNING FDS
Chapter 4
This chapter teaches the logic of FDS input file, its organization and
its grammar. Then the standard reference system is explained and
some tips and tricks are exposed.
Spaces and new lines can be freely inserted to visually format the namelist group.
FDS uses the information contained between the & / delimiters, the rest is
27
28 CHAPTER 4. INPUT FILE BASICS
ignored. Thus, comments and notes can be written outside the & / delimiters. Comments
For example:
help the reviewer keeping track of the sources of information employed by the
user.
By deeply commenting the code, the input file becomes the complete and only
source of information about the simulated case.
Parameter values The parameter values can be of the following types:
Integers, as in T_END=5400
Parameter arrays Sometimes the parameters are multidimensional arrays. For example:
4.2. WRITING AN INPUT FILE 29
MATL_ID(2,3)=’brick’
indicates that the third material component of the second layer is brick.
To speed up data input, you can use this notation:
MATL_ID(1:3,1)=’plastic’,’insulation’,’steel’
which means that the surface is composed by three different layers made re-
spectively of plastic, insulation and steel. The notation 1:3 means array
element 1 through 3, inclusive.
A simplified notation is accepted, too:
MATL_ID=’plastic’,’steel’
is equivalent to:
MATL_ID(1:2,1)=’plastic’,’steel’
These last surfaces are composed by two different layers made respectively of
plastic and steel.
The code is case sensitive: my_burner is not the same as MY_BURNER. Case sensitivity
To ensure that FDS reads the entire input file, add &TAIL / or a comment as TAIL
the last line at the end of the input file.
&TIME T_END=10.0 /
the simulation will end at 10 seconds
&MISC SURF_DEFAULT=’wall’, TMPA=25. /
all bounding surfaces have
a ’wall’ boundary condition
unless otherwise specified,
the ambient temperature is set to 25°C.
&REAC ID=’polyurethane’, SOOT_YIELD=0.10,
N=1.0, C=6.3, H=7.1, O=2.1 /
predominant fuel gas for the mixture fraction model
of gas phase combustion
!!! Properties
!!! Output
Not all kinds of FDS namelist groups are listed in this input files. In fact,
another general rule of thumb when writing input files is to only add to the file
parameters that are to change from their default value. That way, you can more
easily distinguish between what you impose and FDS defaults.
In general, the namelist records can be entered in any order in the input file, but
it is a good idea to organize them in some systematic way.
Be aware that the order of identical namelist groups can be significant. When Order convention
properties overlap the general rule is first-come, first-served.
For the sake of clarity, users often group similar namelists in homogeneous sec-
tions identified by heading comments, as shown in the former example input
file.
– The case receives a name via the HEAD namelist group, the simula-
tion time is set via the TIME namelist group. Other miscellaneous
parameters are prescribed via the MISC namelist group.
– Then gas phase combustion reaction is set up via the REAC namelist
group, the radiation model is configured with RADI.
• Second, the computational domain is defined via the MESH namelist group.
All FDS calculations must be performed within a domain that is made up
of rectilinear volumes called meshes. Each mesh is divided into rectangular
cells, the number of which depends on the desired resolution of the flow
dynamics.
Some initial conditions are prescribed for the flow domain via the INIT
namelist group.
This is the most challenging part of setting up the simulation: first, for both
real and simulated fires, the growth of the fire is very sensitive to the thermal
properties of the surrounding materials. Second, even if all the material proper-
ties are known to some degree, the physical phenomena of interest may not be
simulated properly due to limitations in the model algorithms or resolution of the
numerical mesh.
It is your responsibility to supply the thermal properties of the materials, and then
assess the performance of the model to ensure that the phenomena of interest
are being captured.
• Fourth, the solid geometry is entered via OBST, VENT, HOLE namelist
groups.
• Fifth, some control logic and automation is introduced via PROP, DEVC,
CTRL namelist groups: devices can be used to control various actions, like
creating and removing obstructions, or activating and deactivating fans
and vents.
• Finally, the user prescribes the output quantities (DEVC, SLCF, BNDF, ISOF).
All output quantities must be specified at the start of the calculation. In
most cases, there is no way to retrieve information after the calculation
ends if it was not specified from the start. Much like in an actual experi-
ment, the user must decide before the calculation begins what information
to save.
The table summarizes this logic and shows a proposed systematic organization
of an input file in sections:
It is better to start off with a relatively simple file that captures the main features
of the problem without getting tied down with too much detail that might mask
a fundamental flaw in the calculation.
Initial calculations ought to be meshed coarsely so that the run times are less
than an hour and corrections can easily be made without wasting too much time.
As you learn how to write input files, you will continually run and re-run your
case as you add in complexity.
• The heat transfer model needs the characteristics and the thicknesses of the
bounding surfaces of the flow domain to perform heat transfer calculation.
Imagine that the wall separating room 1 and room 2 of Figure 4.2 on the previous
page is 0.19 m thick. Thus, during the calculation:
• Taken the cell size equal to 0.30 m, the hydrodynamic model considers that
wall as if it was 0.30 m thick, because the geometry must conform to the
underlying grid. That information is used to obstacle the fluid flow.
It may sound strange to novice users, but that wall is. . . both 0.30 m and 0.19 m
thick for FDS.
FDS employs the units of measurement from the International System (SI).
Lengths are expressed in m, time in s, mass in kg, temperature in °C, pressure
in Pa, heat in kJ, power in kW, conductivity in W/m/K, heat flux in kW/m2 ,
molecular weight in g/mol. . .
This manual contains a comprehensive list of frequent namelist parameters and
their units. For a complete list consult the [FDS5 user’s guide].
FDS coordinate system conforms to the right hand rule. By default, the z axis
is considered the vertical.
For computational reasons, it is always preferable for the longest horizontal di-
mension of the model be aligned with the x axis. This often shortens the calcu-
lation time.
4.8. PRESCRIBING GEOMETRIC ENTITIES 37
Figure 4.3: The reference system, a volume, a face, a segment, a point, and a
plane
uses the parameter XB to define a solid obstacle that spans the volume starting
at the origin (0.5, 2.0, −2.0) and extending 1 m in the positive x direction, 1.5 m
in the positive y direction, and 2 m in the positive z direction.
A face is represented by a right plane face with edges parallel to the axis. Its Faces
position and dimensions are described by the coordinates of two opposite vertices,
that must lie on the same plane. For example:
uses the parameter XB to define a flat face perpendicular to the z axis imposing
a particular boundary condition over a solid. Two of the six coordinates are the
same, denoting a flat face as opposed to a solid.
A segment is bounded by two end points. If point A = (xA , yA , zA ) and point Segments
B = (xB , yB , zB ) are the end points, its coordinates are entered following the
same convection valid for volumes. For example,
38 CHAPTER 4. INPUT FILE BASICS
is a beam smoke detector between (0.5, 2.0, −2.0) and (1.5, 3.5, 0.) end points.
Points A point is simply identified by its 3 coordinates. For example, the line:
is a plane perpendicular to the x axis and intersecting its point (.5, 0., 0.).
is a plane perpendicular to the y axis and intersecting its point (0., 1.5, 0.).
is a plane perpendicular to the z axis and intersecting its point (0., 0., −.5).
All use the parameters PBX, PBY, PBZ to specify the coordinate in the direction
of the perpendicular axis.
You can rapidly find the whole color table of more than 500 colors by googling
for FDS COLOR TABLE on the Internet.
For example, both the parameter RGB=0,0,255 and the parameter COLOR=’BLUE’
can be used to obtain a blue object.
40 CHAPTER 4. INPUT FILE BASICS
General configuration
CHID is a string of 30 characters or less used to name the output files created
by FDS. No periods or spaces are allowed. TITLE is a string of 60 characters or
less that describes the simulation. It is simply a descriptive text that is passed
to various output files.
It is always convenient to exactly use the same string for the name of the input
file and the CHID. For example, if you name mycase.fds the input file, then set
CHID=’mycase’ in the HEAD namelist group.
Only one HEAD line can be entered in the input file. The following table summa-
rizes some HEAD parameters:
41
42 CHAPTER 5. GENERAL CONFIGURATION
&TIME T_END=5400. /
If T_END is set to zero, only the set-up work is performed, allowing you to quickly
check the geometry in Smokeview.
Only one TIME line can be entered in the input file. The following table summa-
rizes some TIME parameters:
&MISC SURF_DEFAULT=’steel’ /
5.3. MISCELLANEOUS, MISC 43
establishes that all bounding surfaces are to be made of steel unless otherwise
specified.
Only one MISC line can be entered in the input file. The following table summa-
rizes some MISC parameters:
. . . then gas phase combustion reaction is set up via the REAC namelist
group, the radiation model is configured with RADI.
So solid phase pyrolysis refers to the generation of fuel vapor at a solid or liquid
surface, while the visible flames are not due to combustion of the solid fuel itself,
but rather of the gases released by its pyrolysis.
45
46 CHAPTER 6. COMBUSTION AND RADIATION
• The first is to specify an heat release rate on a surface; this is the same as
prescribing a well defined burner. How to do this is described in detail in
Section 11.4.6 on page 84.
Both burners and pyrolyzing materials inject the calculated quantities of gaseous
fuels in the flow field. In a realistic fire scenario, there may be various types of
gaseous fuels originating from the various burning objects in the building and
injected into the flow field.
6.3.1 Ignition
Once injected into the flow field, the gaseous fuels mix with air and burn. There
is no need to prescribe an ignition source: the combustion model assumes that
6.3. MODELING GAS PHASE COMBUSTION, REAC 47
fuel gas and oxygen burn on contact. We can imagine that every grid cell hosts
a virtual spark plug, that initiates combustion when temperature and local ratio
of fuel gas and oxygen are appropriate (See Figure 6.3 on page 52).
6.3.2 Burning
The alternative is what is referred to as the finite-rate approach, where all of the Finite-rate approac
individual gas species involved in the combustion process are defined and tracked
individually. This is a costlier and more complicated approach than the mixture
fraction model.
This manual covers the mixture fraction model only, as it is simpler and commonly
employed for engineering level problems.
When the mixture fraction model is applied, a set of scalar variables, Zi , represent
the state of the combustion process from pure fuel ( Zi = 1) to pure air
P
( Zi = 0).
P
Two-parameter mixture fraction model: the first parameter (Z1 ) is the mass
fraction of unburned fuel and the second (Z2 ) is the mass fraction of burned
fuel, as for example the mass of the combustion products that originated
as fuel. FDS uses the two-parameter model by default.
The mass fractions of all of the major reactants and products of combustion – as
fuel, O2 , CO2 , H2 O, N2 , CO and soot – can be derived from the mixture fraction
parameters by means of state relations: a set of pre-tabulated functions of the
mixture fraction parameters, Zi . In other words, the values of Zi in any given
mesh cell determines the mass fraction of all the gases listed.
The stoichiometry of the predominant gas phase combustion reaction is pre-
scribed in the input file by one only REAC namelist group: the specified parame-
ters are used to generate the table associating the mass fractions with Zi . FDS
defaults to propane combustion if no REAC line is entered.
In the mixture fraction model, each reaction is assumed to be of the form:
Cx Hy Oz Nv Otherw + νO2 O2 →
→ νCO2 CO2 + νH2 O H2 O + νCO CO + νsoot Soot + νN2 N2 + νH2 H2 + νother Other
6.3. MODELING GAS PHASE COMBUSTION, REAC 49
You need only specify the chemical formula of the fuel along with the yields of CO,
soot, and H2 , and the amount of hydrogen in the soot, Hf rac . For completeness
you can specify the N2 content of the fuel and the presence of other species.
FDS will use that information internally to determine the amount of combustion
products that are formed.
The species implicitly defined by FDS when doing a mixture fraction calculation
for gas phase combustion are as follows:
Note that these species are identified by a lowercase name, and are not to be
confused with the species identified by uppercase names defined by the SPEC
namelist groups. See Section 9.2 on page 70 for further discussion.
The Table 6.2 lists some of the parameters that may be prescribed on the REAC
line. Note that the various *YIELD are for well-ventilated, post-flame conditions.
There are options to predict various species yields in under-ventilated fire scenar-
ios, but these special models still require the post-flame yields for CO, soot and
any other species listed in the table.
ID String Identifier
SOOT_YIELD Real Fraction of soot from the fuel. The kg/kg 0.01
fraction of fuel mass converted into
smoke particulate.
EPUMO2 Real Energy per unit mass oxygen. If the kJ/kg 13100
heat of combustion is not explicitly
specified, it is calculated as:
consumed O2 ×EPUMO2
&MISC CO_PRODUCTION=.TRUE. /
Even though the algorithm predicts CO formation and its eventual oxidation at
elevated temperature, it cannot predict the post-flame yield of CO. For example,
within a flashed over compartment, the algorithm predicts the elevated CO levels,
but it cannot predict the CO concentration of the exhaust gases that exit the
flaming region. Thus, even if using this model, you must specify the CO_YIELD
that is expected of a well-ventilated fire.
Note that when active, this algorithm requires the use of three parameters for
the mixture fraction instead of the two parameters used when it is disabled and
will therefore increase run times and memory usage accordingly. If the simulation
you are performing will not result in an under-ventilated fire, then there will be
little if any benefit to enabling the CO production algorithm.
The default values for the the limiting oxygen index and the critical flame temper-
ature are 15% (volume fraction) and 1427°C, respectively as shown in Figure 6.3
on the following page.
&RADI RADIATIVE_FRACTION=0.45 /
sets the fraction of energy released from the fire as thermal radiation to 45%.
The following table summarizes some RADI parameters:
6.6. RADIATION TRANSPORT, RADI 53
Computational domain
defines a mesh that spans the volume starting at the origin (0., 0., 0.) and
extending 1 m in the positive x direction, 2 m in the positive y direction, and 3 m
in the positive z direction.
The mesh is subdivided into uniform cells via the parameter IJK. In this example,
the mesh is divided into 10 cm cubes: 10 cubes in x direction, 20 cubes in y
direction, and 30 cubes in z direction.
Any obstructions or vents that extend beyond the boundary of the mesh are cut
off at the boundary. There is no penalty for defining objects outside of the mesh,
and these objects will not appear in Smokeview either.
55
56 CHAPTER 7. COMPUTATIONAL DOMAIN
Note that it is best if the mesh cells resemble cubes, that is, the length, width
and height of the cells ought to be roughly the same.
Keep in mind that the Large Eddy Simulation technique (LES) is based on the
assumption that the numerical mesh should be fine enough to allow the formation
of eddies that are responsible for the mixing. In general, eddy formation is limited
by the largest dimension of a mesh cell, thus shrinking the mesh resolution in
one or two directions may not necessarily lead to a better simulation if the third
dimension is large.
Because an important part of the calculation uses a Poisson solver based on
Fast Fourier Transforms (FFTs) in the y and z directions, the second and third
dimensions of the mesh should each be of the form 2k × 3m × 5n , where k, m
and n are integers. For example, 64 = 26 , 72 = 23 · 32 and 108 = 22 · 33 are
good mesh cell divisions, but 37, 99 and 109 are not.
The first number of mesh cell divisions (the I in IJK) does not use FFTs and
need not be given as a product of small numbers.
Here is a list of numbers between 1 and 1024 that can be factored down to 2’s,
3’s and 5’s:
Table 7.1: IJK values
2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30, 32, 36, 40, 45,
48, 50, 54, 60, 64, 72, 75, 80, 81, 90, 96, 100, 108, 120, 125, 128, 135,
144, 150, 160, 162, 180, 192, 200, 216, 225, 240, 243, 250, 256, 270,
288, 300, 320, 324, 360, 375, 384, 400, 405, 432, 450, 480, 486, 500,
512, 540, 576, 600, 625, 640, 648, 675, 720, 729, 750, 768, 800, 810,
864, 900, 960, 972, 1000, 1024. . .
ID String Identifier
Figure 7.2: Mesh connections: (a) ideal, (b) allowed, and (c) forbidden
• If a planar obstruction is close to where two meshes abut, make sure that
each mesh sees the obstruction. If the obstruction is even a millimeter
outside of one of the meshes, that mesh does not account for it, in which
case information is not transferred properly between meshes.
!2
5
Q̇
∗
D = √ (7.1)
ρ∞ cp T∞ g
where Q̇ is the heat release rate of the fire in kW, ρ∞ air density (∼1.2 mkg3 ),
cp air thermal capacity (∼1 kgkJK ), T∞ ambient air temperature (∼293 K), g
gravitational acceleration (∼9.81 sm2 ).
The quantity D∗ /δx can be thought of as the number of computational cells
spanning the characteristic (not necessarily the physical) diameter of the fire.
60 CHAPTER 7. COMPUTATIONAL DOMAIN
The more cells spanning the fire, the better the resolution of the calculation.
It is better to assess the quality of the mesh in terms of this non-dimensional
parameter, rather than an absolute mesh cell size. For example, a cell size of
10 cm may be adequate, in some sense, for evaluating the spread of smoke and
heat through a building from a sizable fire, but may not be appropriate to study
a very small, smoldering source.
As an example, in the mesh sensitivity study for [NUREG 1824], the D∗ /δx
values ranged from 4 to 16. These values were used to adequately resolve plume
dynamics, along with other geometrical characteristics of the models as well.
This range does not indicate what values to use for all models, only what values
worked well for that particular set of models.
the initial temperature of the gas phase shall be 30°C instead of the ambient
within the prescribed volume. This construct can also be used for DENSITY or
MASS_FRACTION(n).
The INIT construct may be useful in examining the influence of stack effect in
a building, where the temperature is different inside and out.
For setting initial temperature of a solid obstruction see Subsection 11.6.2.
Also the MISC namelist group can be used to set a variety of initial conditions.
An initial velocity on the domain can be prescribed via U0, V0, and W0 parameters.
Normally, the initial values of the gas velocity in each of the coordinate directions
are all 0 m/s, but there are a few applications where it is convenient to start the
flow immediately, like in an outdoor simulation involving wind.
A different ambient temperature of the domain can be prescribed via the TMPA
parameter.
7.5. INITIAL CONDITIONS OF THE COMPUTATIONAL DOMAIN, INIT 61
To model a sloping roof or tunnel you can change the direction of the gravity
vector. The GVEC parameter contains the 3 components of gravity, in m/s2 . The
default is GVEC=0,0,-9.81
For example,
Materials
Third, some properties are set up, as the properties of each material
(MATL). This chapter covers RAMP (temperature dependent) namelist
group, too.
ID String Identifier
63
64 CHAPTER 8. MATERIALS
Thermal properties like conductivity and specific heat can vary significantly with
temperature. In such cases, use the RAMP function like this:
For this kind of ramps the parameter F is the value of the actual physical quantity.
If CONDUCTIVITY_RAMP is used, there should be no value of CONDUCTIVITY
given. Note also that for values of temperature, T, below and above the given
range, FDS will assume a constant value equal to the first or last F specified.
Each set of RAMP lines must be listed with monotonically increasing T. The
following table summarizes some RAMP (temperature) parameters:
ID String Identifier
T Real Temperature °C
8.3.1 Solids
The MATL namelist group can be used to specify the parameters employed in
the solid phase pyrolysis process. As already explained in Chapter 6 on page 45,
pyrolysis is the decomposition or transformation of a compound caused by heat
that produce the gaseous fuel, that is burned during gas phase combustion.
FDS contains a fairly general description of multi-layered, multi-component,
multi-reaction solid: while burning, each material can undergo several reactions
that may occur at different temperatures and consume different amounts of heat.
Each individual reaction can produce a single solid residue, water vapor, or fuel
gas.
Here is an example of a material that burns in the neighborhood of 350°C,
converting all its mass to fuel gases with NU_FUEL(1)=1.:
66 CHAPTER 8. MATERIALS
See next Sections and [FDS5 user’s guide] for broader description of the problem
and its complexity.
8.3.2 Liquids
The MATL namelist group is also used to specify the parameters for burning
liquids.
For a liquid fuel, the thermal properties are similar to those of a solid material,
with a few exceptions. The evaporation rate of the fuel is governed by the
Clausius-Clapeyron equation. The only drawback of this approach is that the fuel
gases burn regardless of any ignition source. Thus, if a liquid fuel is specified,
the fuel begins burning at once.
As an example:
The inclusion of BOILING_TEMPERATURE on the MATL line tells FDS to use its
liquid pyrolysis model.
It also automatically sets N_REACTIONS=1: the only reaction is the phase change
from liquid to gaseous fuel. Thus, HEAT_OF_REACTION in this case is the latent
heat of vaporization. The gaseous fuel yield, NU_FUEL, is 0.97 instead of 1 to
account for impurities in the liquid that do not take part in the combustion
process.
The thermal conductivity, density and specific heat are used to compute the
loss of heat into the liquid via conduction using the same one-dimensional heat
transfer equation that is used for solids. Obviously, the convection of the liquid
is important, but is not considered in the model.
Note also the ABSORPTION_COEFFICIENT for the liquid. This denotes the ab-
sorption in depth of thermal radiation. Liquids do not just absorb radiation at
the surface, but rather over a thin layer near the surface. Its effect on the burning
rate is significant.
8.4. PROPERTIES HELL 67
The HEAT_OF_COMBUSTION is the energy released per unit mass of fuel gas that
mixes with oxygen and burns. This has nothing to do with the pyrolysis process.
This parameter would better be used in gas phase combustion!
If you remember what was said in Chapter 6 on page 45, whereas there can be
many types of combustibles in an FDS fire simulation, only one gaseous fuel can
be simulated by FDS. The stoichiometry of the predominant reaction is specified
via the REAC namelist group.
In fact, the HEAT_OF_COMBUSTION specified on the REAC line pertains to the only
gaseous fuel modeled in gas phase combustion.
The HEAT_OF_COMBUSTION specified on the MATL line is that specific to gaseous
fuel produced by pyrolysis.
If the HEAT_OF_COMBUSTION is specified on the MATL line, FDS automatically
adjust the mass loss rate of the gaseous fuel injected by the pyrolyzing material,
so that the corrected mass loss rate multiplied by the single, global, gas phase
heat of combustion produces the expected heat release rate.
If, for example, the HEAT_OF_COMBUSTION specified on the REAC line is twice
that specified on the MATL line, the mass of pyrolyzing material contained within
wall cell will be decremented by that determined by the pyrolysis model, but the
mass of fuel gas added to gas phase would be reduced by 50%.
A prediction is called blind, if the results are not compared to experimental mea-
sures. Grid sensitivity and uncertain material properties make blind predictions
of fire growth on real materials beyond the reach of the current version of the
model.
However, the model can still be used for a qualitative assessment of fire behavior
as long as the uncertainty in the flame spread rate is recognized.
For engineering level applications, it’s strongly advised to recur to simplified fire
modeling, directly prescribing the HRR of the fire scenario taken from literature
or direct experimentation, as shown in Section 11.4.6 on page 84.
• ChemFinder:
http://chemfinder.cambridgesoft.com/
• MatWeb:
http://matweb.com
• Engineering Toolbox:
http://engineeringtoolbox.com
Chapter 9
Third, some properties are set up, as the properties of extra gas
species (SPEC).
For example:
&SPEC ID=’HELIUM’ /
69
70 CHAPTER 9. EXTRA GAS SPECIES
adds the predefined HELIUM gas as an additional specie that can be injected in
the domain.
To specify a gas not included in the list, the user should input several chemical
properties. See [FDS5 user’s guide] for broader description.
If the ambient initial mass fraction of an extra gas specie is something other than
0, then the parameter MASS_FRACTION_0 is used to specify it. For example, the
line:
ID String Identifier
FDS will take into account two different gases: the implicitly defined carbon
dioxide and the extra gas species CARBON DIOXIDE, injected for example to
simulate a CO2 extinguisher.
9.2. CARBON DIOXIDE AND CARBON DIOXIDE 71
The first is a product of combustion, while the second is just another gas: it
does not participate to combustion, but it can dilute oxygen and contribute to
fire suppression.
The two gases are tracked separately: carbon dioxide is tracked via the mix-
ture fraction variable and CARBON DIOXIDE is tracked via its own transport
equation.
72 CHAPTER 9. EXTRA GAS SPECIES
Chapter 10
Lagrangian particles
Then these Lagrangian particles can be introduced in the fluid flow from a solid
surface via a boundary condition as explained in Section 11.8 on page 91.
The following table summarizes some PART parameters:
73
74 CHAPTER 10. LAGRANGIAN PARTICLES
ID String Identifier
When a droplet strikes a solid surface, it sticks and is reassigned a new speed
and direction. If the surface is horizontal, the direction is randomly chosen. If
vertical, the direction is downwards.
76 CHAPTER 10. LAGRANGIAN PARTICLES
Chapter 11
Boundary conditions
Third, some properties are set up, as the types of boundary conditions
(SURF).
This is the most challenging part of setting up the simulation: first,
for both real and simulated fires, the growth of the fire is very sensi-
tive to the thermal properties of the surrounding materials. Second,
even if all the material properties are known to some degree, the
physical phenomena of interest may not be simulated properly due
to limitations in the model algorithms or resolution of the numerical
mesh.
It is your responsibility to supply the thermal properties of the ma-
terials, and then assess the performance of the model to ensure that
the phenomena of interest are being captured.
This chapter covers RAMP (time dependent) namelist group, too.
77
78 CHAPTER 11. BOUNDARY CONDITIONS
While building the solid geometry, the types of boundary conditions will be applied
to each of the bounding surfaces of the flow domain: the faces of the solid
obstructions and the exterior boundaries of the computational domain.
The following table summarizes some SURF parameters:
ID String Identifier
as an adiabatic surface. An INERT solid is something that never heats up, like a
piece of steel that has cold water constantly flowing across its back side.
In general, this boundary condition should not be used, as it is better to assign
actual material properties to everything.
OPEN An OPEN boundary condition assumes that ambient conditions exist beyond that
VENT. OPEN can only be prescribed at an exterior boundary of the computational
domain.
If you are concerned about the flow through a particular vent, do not use an OPEN
boundary because the constant pressure assumption is just an approximation.
You should extend your computational domain beyond the vent and build it out
of obstructions, as shown in Figure 11.1. The flow in and out will then be treated
naturally as part of the solution of the governing equations.
MIRROR A MIRROR boundary condition denotes a symmetry plane. A MIRROR should span
an entire face of the computational domain, essentially doubling the size of the
domain. The flow on the opposite side of the MIRROR is exactly reversed. From
a numerical point of view, a MIRROR is a no-flux, free-slip boundary.
MIRROR can only be prescribed at an exterior boundary of the computational
domain.
will cause objects with a boundary condition of type glass to be colored green
and to be partially transparent.
FDS will compute the surface temperature required to ensure that the combined
radiative and convective heat flux from the surface is equal to the prescribed flux.
The following line specifies separately the CONVECTIVE_HEAT_FLUX, in units of
kW/m2 and the radiative heat flux using TMP_FRONT temperature in °C and
EMISSIVITY:
Sign convention The sign convention is that positive heat flux from a surface heats up the gas.
11.4.3 Fans
For most applications, the ventilation system of a building is described in FDS
using velocity boundary conditions. For example, fresh air can be blown into, and
smoke can be drawn from a compartment by specifying a velocity in the normal
direction to a solid surface. However, there are various other facets of velocity
boundary conditions that are described below.
For example, the line:
defines a surface supplying hot air to the domain at a velocity of 1.2 m/s and
temperature of 50°C. The volume flux depends on the prescribed area and its
alignment with the computational mesh.
The line:
defines a surface extracting air from the domain at a volume flow of 1.2 m3 /s. The
velocity depends on the prescribed area and its alignment with the computational
mesh.
This line:
supplies air to the domain at a mass flow rate of 1.2 kg/s. The MASS_FLUX_TOTAL
is converted internally into a velocity boundary condition whose value for an
outflow is adjusted based on the local density.
The line:
represents a boundary condition for a louvered vent that pushes air into the space
with a normal velocity of 1.2 m/s and a tangential velocity of 0.5 m/s in either
the x or y direction and -0.3 m/s in either the y or z direction, depending on
what the normal direction is.
In cases of limited mesh resolution, it may not be possible to describe a louvered
vent or slot diffuser using VEL_T because there may not be enough mesh cells
spanning the opening. In these cases, you might consider simply specifying a flat
plate obstruction in front of the VENT with an offset of one mesh cell. The plate
will simply redirect the air flow in all lateral directions.
Note that either VEL, VOLUME_FLUX, or MASS_FLUX_TOTAL should be prescribed,
not both. The choice depends on whether an exact velocity is desired at a given
vent, or whether the given volume flux or mass flux is desired.
The sign convention is that positive volume or mass flux is drawn out of the Sign convention
domain.
specify that ARGON and HELIUM are to be included in the calculation in addition
to the unlisted default AIR. At the inlet, a mixture of helium (20% by mass),
argon (10% by mass because nothing different is specified), and air (70% by mass
making up the rest) flows out at a velocity of 0.3 m/s into the flow domain.
A dynamic pressure of 2.4 Pa is applied to the specified face. See Section 12.3
on page 97 for a description of the VENT namelist group.
defines a surface that injects a flow of fuel gas that, when properly mixed with
ambient air, burns and produces 500 kW per m2 of emitting surface.
11.5. GEOMETRIC CONFORMITY AND RATES 85
specifies the a mass loss rate of fuel gas per unit area of 5 kg/m2 /s.
By specifying HRRPUA or MRLPUA, you are controlling the burning rate rather
than letting the material pyrolyze based on the conditions of the surrounding
environment.
First, materials are defined, then a boundary condition brick wall is prescribed.
In brick wall surface (see Figure 11.2), the first layer is composed of a mix-
ture of brick and water. This is given by the MATL_ID array which spec-
ifies component 1 of layer 1 to be of brick material, and component 2 of
layer 1 to be of water material. The mass fraction of each is specified via
MATL_MASS_FRACTION: brick is 95% by mass and water is 5%. The first layer
is 0.1 m thick.
The innermost layer is made of one only component, insulator, and is 0.2 m
thick.
11.6.1 Backing
The heat transfer condition of the innermost layer of a wall is set using the
BACKING parameter. This parameter can be set to VOID, INSULATED, or EXPOSED.
11.6. BOUNDARY CONDITIONS FOR SOLIDS 87
defines a two layers surface. The external layer is made of one only component,
plastic, and is 0.1 m thick. The innermost layer is made of one only component,
steel, and is 0.2 m thick. The innermost layer backs up to an air gap. The air
gap is at a TMP_BACK temperature of 30°C. If TMP_BACK is not set, the air gap
defaults to ambient temperature. BACKING=’VOID’ can be safely omitted as it
is the default value.
A second example: INSULATED
defines the same two layers surface. In this second case, the innermost layer
backs up to an insulating (adiabatic) material, so that no heat is lost to the
backing material.
As a last example: EXPOSED
defines the same two layers surface. In this third case, the innermost layer backs
up to the room on the other side of the wall. EXPOSED only works if the wall
is less than or equal to one mesh cell thick, and if there is a non-zero volume
of computational domain on the other side of the wall. FDS calculates the heat
conduction through the entire THICKNESS and uses the gas phase temperature
and heat flux on the front and back sides for boundary conditions.
A redundant calculation is performed on the opposite side of the obstruction, so
be careful how you specify multiple layers: if the layering is symmetric, the same
SURF line can be applied to both sides; however, if the layering is not symmetric,
you must create two separate SURF lines and apply one to each side.
For example, a asymmetric layered hollow box column that is made of steel and
covered on the outside by a layer of insulation material and a layer of plastic on
top of the insulation material, would have to be described with two SURF lines
like the following:
88 CHAPTER 11. BOUNDARY CONDITIONS
the initial temperature shall be 30°C within the concerned face, instead of the
ambient.
negative, then it ramps up like (t/τ )2 . As stated before, the default value for all
TAU_* is 1 s.
For example, this line:
specifies a boundary condition for a burner that activates when the calculation
starts at t=0 s, ramps up like HRRPUA=4000. (t/120)2 while t<120 s and remains
at 4000 kW/m2 after 120 s, as shown in Figure 11.3.
For this kind of ramp, T is the time passed from activation, and F indicates the
fraction of the heat release rate, wall temperature, velocity, mass fraction, etc.,
to apply. Linear interpolation is used to fill in intermediate time points.
Note that each set of RAMP lines must be listed with monotonically increasing T.
For example, a simple blowing fan can be controlled via the lines:
90 CHAPTER 11. BOUNDARY CONDITIONS
Figure 11.4: VEL and TMP_FRONT as function of time after SURF activation
that produce the time trend shown in Figure 11.4 for SURF parameters.
The following table summarizes some RAMP (time) parameters:
ID String Identifier
T Real Time s
These Lagrangian particles are then introduced into the fluid flow from a solid
surface that has the following boundary condition prescribed:
Note that a surface on which particles are specified must have a non-zero normal
velocity directed into the computational domain. This happens automatically if
the surface is burning, hence injecting fuel gas into the flow domain, but must
be specified if it is not.
92 CHAPTER 11. BOUNDARY CONDITIONS
Chapter 12
Solid geometry
Fourth, the solid geometry is entered via OBST, VENT, HOLE namelist
groups.
A considerable amount of work in setting up a calculation lies in
specifying the geometry of the space to be modeled and applying
boundary conditions to these objects. The geometry is described in
terms of obstructions to the gas phase flow. A boundary condition
needs to be assigned to each bounding surface of the gas phase do-
main describing its thermal properties. Both solid obstruction faces
and the exterior boundaries of the computational domain need a
boundary condition assigned. A fire is just one type of boundary
condition.
93
94 CHAPTER 12. SOLID GEOMETRY
builds a solid obstruction and apply the brick wall surface type to all its six
faces.
If the obstruction has different properties for its top, sides and bottom, use in-
stead the parameter SURF_IDS, an array of three character strings specifying the
boundary condition for the top, sides and bottom of the obstruction, respectively.
For example:
&OBST XB=2.3,4.5,1.3,4.8,0.0,9.2,
SURF_IDS=’burner’,’brick wall’,’INERT’ /
builds a solid obstruction and applies the burner surface type to the top face
(+z direction), brick wall surface type to sides, and INERT surface type to
the bottom face (−z direction).
If the obstruction has different properties for all its faces, use instead the parame-
ter SURF_ID6, an array of six character strings specifying the boundary condition
for each face. For example:
&OBST XB=2.3,4.5,1.3,4.8,0.0,9.2,
SURF_ID6=’bc-x’,’bc+x’,’bc-y’,’bc+y’,’bc-z’,’bc+z’ /
&HOLE XB=2.0,4.5,1.9,4.8,0.0,9.2 /
Any solid mesh cells within the volume 2.0 < x < 4.5, 1.9 < y < 4.8, 0.0 <
z < 9.2 are removed. Obstructions intersecting the volume are broken up into
smaller blocks.
If the hole represents a door or window, a good rule of thumb is to punch more
than enough to create the hole. This ensures that the hole is created through
the entire obstruction. For example:
&OBST XB=1.0,1.1,0.0,5.0,0.0,3.0 /
&HOLE XB=0.99,1.11,2.0,3.0,0.0,2.0 /
the OBST line denotes a wall 0.1 m thick; the HOLE line creates a door. The extra
centimeter added to the x coordinates of the hole make it clear that the hole is
to punch through the entire obstruction.
If an obstruction is not to be punctured by a HOLE, add the parameter PERMIT_HOLE=.FALSE.
to the OBST line.
Note that a HOLE has no effect on a VENT or a mesh boundary. It only applies
to obstructions.
The following table summarizes some HOLE parameters:
build a solid obstacle made of brick wall and apply a burner boundary condition
to a rectangular patch on the solid face in −y direction.
To set boundary conditions to exterior boundaries of the computational domain
proceed as in the following example:
98 CHAPTER 12. SOLID GEOMETRY
Note that:
• Only one VENT may be specified for any given wall cell. If additional VENT
lines are specified for a given wall cell, FDS will output a warning message
and ignore the subsequent lines. The first defined VENT will be applied:
first-come, first-served.
&MISC SURF_DEFAULT=’steel’ /
If the default boundary condition is desired for the faces of an obstruction, then
SURF_ID* need not be set. For example:
&OBST XB=2.3,4.5,1.3,4.8,0.0,9.2 /
builds a solid obstruction and apply the default surface type to all its faces.
The same is true for a VENT:
&VENT XB=2.3,4.5,1.3,4.8,0.0,0,0 /
first define a brick material and describe a brick wall boundary condition,
then build a solid obstruction applying the brick wall surface type to all its
faces.
If you carefully examine the prescriptions:
• The OBST object is 10 m long, 2.7 m high, and 0.2 m thick in the y direction.
• The brick wall boundary condition (SURF line) prescribe a 0.1 m thick-
nesses for the same wall.
12.6. THIN SHEET OBSTRUCTIONS 101
• The OBST line describes the overall geometric structure of a solid that
obstacles the gas phase flow: it provides data to the hydrodynamic model.
• The SURF line describes the characteristics of the surfaces of the solid, used
to provide a reasonable bounding surface temperature for the gas phase
calculation: it provides data to the solid heat transfer model.
Figure 12.4: Flow velocity on two sides of an oblique wall. Lower side has
SAWTOOTH=.FALSE. set.
create a two sided oblique wall. The resulting flow is shown in Figure 12.4.
This is not a complete solution of the problem, but it does provide a simple
way of ensuring that the flow field around a non-rectangular obstruction is not
inhibited by extra drag created at sharp corners.
• For reacting surfaces, the surface density is computed as a sum of the layer
densities multiplied by the layer thicknesses. This value can be overridden
by setting SURFACE_DENSITY on the SURF line.
105
106 CHAPTER 13. DEVICES AND CONTROL LOGIC
ID String Identifier
13.2.1 Timer
The simplest example of device is just a timer:
It changes its state from .FALSE. to .TRUE. when the simulation time increases
past 30 s.
13.2.2 Thermometer
The following is a thermometer:
It changes its state when the temperature at point (1.2, 3.4, 5.6) increases past
60°C.
• XB specifies the segment covered by the beam. The two endpoints must
lie in the same mesh.
The beam detector changes its state following the specific activation algorithm.
This example defines a heat detector, which uses essentially the same activation
algorithm as a sprinkler, without the water spray:
the DEVC creates a timer named my timer. The OBST existence depends on
the DEVC, thanks to the DEVC_ID=’my timer’ parameter. When the simulation
starts the timer has a .FALSE. initial state, thus the OBST is not activated and
does not obstacle the flow domain. Then at 30 seconds the timer changes its
state to .TRUE., the OBST is activated and comes to life.
The following parameters dictate how a device will control something:
• SETPOINT is the value of the device at which its state changes. For a
detection type of device (heat or smoke detectors) this value is calculated
from the device’s activation algorithm and need not be specified on the
DEVC line.
110 CHAPTER 13. DEVICES AND CONTROL LOGIC
• LATCH, if this logical value is set to .TRUE. the device will only change
state once. Otherwise it can change its state several times.
To remove and then re-create an obstruction in the same place, use two lines
since the code simply sees this as two different obstructions:
A last example:
the hole is created when the activation algorithm of the heat detector gives the
consensus. Note that a DEVC that is being used for a HOLE should not be used
for anything else other than additional HOLE lines.
When a HOLE is deactivated, the obstruction to be cut out can have a different
color and transparency than the original obstruction: just set the COLOR and a
TRANSPARENCY value on the HOLE line. When the HOLE becomes activated, the
void is created and the prescribed color disappears.
Also VENT activation can be controlled by DEVC state. For example, to control a
burner with the device my timer, do the following:
13.4. ADVANCED CONTROL LOGIC 111
Note that at 30 s, the VENT is activated and the burner boundary condition
turns on. The prescribed t2 ramp begins at 30 s and ends at 150 s, when HRRPUA
reaches its maximum of 4000 kW/m2 .
Note that a MIRROR or OPEN VENT should not be activated or deactivated. The
reason for this restriction is that abrupt changes in pressure can cause numerical
instabilities.
Output
Finally, the user prescribes the output quantities (DEVC, SLCF, BNDF,
ISOF).
All output quantities must be specified at the start of the calcula-
tion. In most cases, there is no way to retrieve information after the
calculation ends if it was not specified from the start.
• Gas temperature;
• Gas velocity;
113
114 CHAPTER 14. OUTPUT
• Pressure;
• Gas density;
On solid surfaces, FDS predicts additional quantities associated with the energy
balance between gas and solid phase, including:
• Burning rate;
s °C °C
For example, if you just want to record the time history of the temperature at a
given point, add:
and a column will be added to the output file mycase_devc.csv under the label
T-1.
FDS reports the value of the QUANTITY calculated in the cell where the point
XYZ is located.
When prescribing a solid phase quantity, be sure to position the probe at a solid
surface. It is not always obvious where the solid surface is since the mesh does
not always align with the input obstruction locations.
To help FDS locate the appropriate surface, suggest the right orientation of the
face using the parameter IOR (index of orientation).
There are still instances where FDS cannot determine which solid surface is being
designated, in which case an error message appears in the diagnostic output file.
Re-position the probe and try again. For example, the line
&DEVC XB=0.3,0.5,2.1,2.5,3.0,3.0,
QUANTITY=’MASS FLOW’, ID=’mf1’ /
records the temperature and animated velocity vectors on the plane x = 0.8
The following table summarizes some SLCF parameters:
&BNDF QUANTITY=’WALL_TEMPERATURE’ /
&ISOF QUANTITY=’TEMPERATURE’,
VALUE(1)=50., VALUE(2)=200., VALUE(3)=500. /
When you do a fire simulation using the default mixture fraction combustion
model, FDS automatically creates two output files that are rendered by Smoke-
view as realistic looking smoke and fire.
Figure 14.4: Output of soot MASS FRACTION and HRRPUV as viewed in Smoke-
view
By default, the output quantities MASS FRACTION of soot and HRRPUV (heat
release rate per unit volume) are used in the visualization.
122 CHAPTER 14. OUTPUT
s kW
FDS_HRR_Time HRR
0.00E+000 0.00E+000
5.00E+000 2.04E+002
1.00E+001 2.16E+002
14.9 Visibility
If you are performing a fire calculation using the mixture fraction approach, the
smoke is tracked along with all other major products of combustion.
The intensity of monochromatic light I passing a distance L through smoke is
attenuated according to:
K = Km ρYS (14.2)
14.10. UPPER AND LOWER LAYERS 123
S = C/K (14.3)
&DEVC XB=2.0,2.0,3.0,3.0,0.0,3.0,
QUANTITY=’LAYER HEIGHT’, ID=’whatever’ /
NET HEAT FLUX Sum of radiative heat flux and kW/m2 B,D
convective heat flux at a solid
boundary
the species implicitly defined when doing a mixture fraction calculation (fuel,
oxygen, nitrogen, water vapor, carbon dioxide, carbon monoxide, hydrogen,
soot, other), or an extra gas specie from those defined via a SPEC line:
Using BlenderFDS
Have you ever passed long hours calculating and typing geometric coordinates of
FDS objects by hand? That is a really slow, tedious and error prone procedure.
BlenderFDS is the open source graphical interface for FDS that assists the user
during the input file preparation. BlenderFDS tool tries to be as flexible as
possible, and is intended for those users that already have a basic knowledge on
how FDS works, because it does not check the syntax of the data you enter.
The user retains full control over the FDS input file
129
130 CHAPTER 15. USING BLENDERFDS
• http://www.blenderfds.org/
The whole user and technical documentation is updated very often and is main-
tained as wiki pages at:
• http://code.google.com/p/blenderfds/wiki/Home?tm=6
• http://code.google.com/p/blenderfds/wiki/InstallingBlenderFDS
132 CHAPTER 15. USING BLENDERFDS
There is an active discussion group, where project members offer support to new
users on a voluntary basis:
• http://groups.google.com/group/blenderfds
Every users can speed up the development by reporting BlenderFDS issues at:
• http://code.google.com/p/blenderfds/issues/list
The velocity VEL associated with a POROUS surface represents the velocity in the
positive or negative coordinate direction, as indicated by its sign. Sign convention
133
134 CHAPTER 16. REAL WORLD EXAMPLES
If a MATL line is invoked by a SURF line containing a specified HRRPUA, then that
MATL ought to have only thermal properties and no reaction parameters, product
yields. . .
By specifying HRRPUA, you are controlling the burning rate rather than letting
the material pyrolyze based on the conditions of the surrounding environment.
16.5.1 Description
In Figure 16.1 on the next page a simple case of a fire in a car parking is proposed.
The data are for demonstration only, and the proposed solution is only one of
the many possible solutions.
The objectives of the analysis are:
• Study the critical times for evacuation and rescue operations from fire
brigade of the car parking.
136 CHAPTER 16. REAL WORLD EXAMPLES
&HEAD CHID=’car_parking’,
TITLE=’Covered car parking (10 cars)’ /
Name of the case and a brief explanation.
&TIME T_END=3600.0 /
The simulation ends at 3600 seconds.
&MISC SURF_DEFAULT=’wall’, CO_PRODUCTION=.TRUE. /
All bounding surfaces have a ’wall’ boundary condition
unless otherwise specified.
Calculation of formation and destruction of CO at elevated
temperatures activated.
&REAC ID=’polyurethane’, SOOT_YIELD=0.1875, CO_YIELD=0.02775,
C=1.0, H=1.75, O=0.25, N=0.065,
HEAT_OF_COMBUSTION=25300., IDEAL=.TRUE. /
Gas phase reaction: polyurethane flexible foam (means) from
Tewarson SFPE Handbook 3rd ed,
SFPE handbook table 3-4.14, p. 3-112.
!!! Properties
! Walls
&MATL ID=’gypsum plaster’, CONDUCTIVITY=0.48,
SPECIFIC_HEAT=0.84, DENSITY=1440. /
Thermo-physical properties of gypsum plaster.
&SURF ID=’wall’, COLOR=’BRICK’, MATL_ID=’gypsum plaster’,
138 CHAPTER 16. REAL WORLD EXAMPLES
THICKNESS=0.03 /
Type of boundary condition for walls.
! Cars
Burning surface of the car: (4 + 2 + 4 + 2) * 1.3 + 4 * 2 = 23.6 m2
HRR max for a car: 5000 kW, HRR ramps up in 600 s
HRRPUA: 5000 / 23.6 = 211.86 kW/m2 (approx: whole car burns)
&SURF ID=’first_car’, HRRPUA=211.86, TAU_Q=-600, COLOR=’FLESH’ /
Type of boundary conditions for the first burning car, a burner.
&MATL ID=’car_mat’, CONDUCTIVITY=54.0,
SPECIFIC_HEAT=0.465, DENSITY=7850.0 /
Properties for steel taken from NUREG-1805 pg. 2-11
&SURF ID=’car’, MATL_ID=’car_mat’, HRRPUA=211.86, TAU_Q=-600,
IGNITION_TEMPERATURE=250., THICKNESS=0.005,
BACKING=’INSULATED’, COLOR=’DARK OLIVE GREEN 1’ /
Type of boundary conditions for other cars.
!!! Output
Figure 16.5: Gas temperatures measured in front of the window panes vs time.
It is prescribed that the glazing breaks effectively at 300°C. The SE glass is the
nearest to the fire and breaks at about 370 s; the NE glass breaks at about 612 s.
The others follow later.
16.5. A SIMPLE CAR PARKING 143
Figure 16.7: Layer height vs time is shown. The smoke evacuation is not enough
to keep the smoke layer near the ceiling.
144 CHAPTER 16. REAL WORLD EXAMPLES
The following text is the first part of the generated FDS input file:
!!! Geometry
148 CHAPTER 16. REAL WORLD EXAMPLES
[Rehm 1978] R.G. Rehm and H.R. Baum. The Equations of Motion for
Thermally Driven, Buoyant Flows. Journal of Research of the
NBS, 83:297–308, 1978.
[NUREG 1824] Verification and Validation of Selected Fire Models for Nu-
clear Power Plant Applications. NUREG 1824, United States
Nuclear Regulatory Commission, Washington, DC, 2007.
149
150 BIBLIOGRAPHY
151