FDS Introduction
FDS is a powerful fire simulator which was developed at the National Institute of Standards and Technology (NIST). FDS simulates fire scenarios using computational fluid dynamics (CFD) optimized for low-speed, thermally-driven flow. This approach is very flexible and can be applied to fires ranging from stove-tops to oil storage tanks. It can also model situations that do not include a fire, such as ventilation in buildings.
FDS models can predict smoke, temperature, carbon monoxide, and other substances during fires. The results of these simulations are used to ensure the safety of buildings before construction, evaluate safety options of existing buildings, reconstruct fires for post-accident investigation, and assist in firefighter training.
FDS Fire Property Specfication in FRI3D#
FDS can specify fires a couple of different ways
The first is to specify an heat release rate on a surface; this is the same as prescribing a well defined burner.
The other is to specify thermophysical properties of fuel materials and to let them pyrolyze. In this case the burning rate of the fuel depends on the net heat feedback to the surface.
In FRI3D we specify a Heat Release Rate under Fire Materials for a fire specification. In FDS this corresponds to the mass rate of fuel introduced.
FRI3D Sources the database of various fire types from various validated reports and the user can easily pick them.
FDS output results in a HRRPUA (Heat Release Rate Per Unit Area) directive. This is actually the simplest and the most reliable approach.
In FRI3D, since the Fire is described based on an object which is put on the scene, its dimensions are used to calculate the bounding area to normalize the area to send that information as normalized HRRPUA.
FDS needs atleast a single REAC line to be used with the mixture fraction model. The stoichometric coeffients specified in the interface for Fire Material is used for the REAC line in FDS.
FRI3D outputs the necessary REAC from the user specified source parameters to specify the Reaction so that FDS can simulate.
FDS can either take energy per unit mass of Oxygen that is reactive for pyrolysis or heat of combustion specification. Since FRI3D uses Heat release rates as inputs Heat of Combustion is specified in the Fire Material user interface.
FRI3D outputs directives similar to the following
!! Fire HRR Specifications Battery Charger (v4) HRR!! These HRRs will be scaled by the area growth of the fire from the fire definitions
&RAMP ID='Battery Charger (v4)_HRR_RAMP', T=0, F=0 /
&RAMP ID='Battery Charger (v4)_HRR_RAMP', T=180, F=0.0625 /
&RAMP ID='Battery Charger (v4)_HRR_RAMP', T=360, F=0.25 /
&RAMP ID='Battery Charger (v4)_HRR_RAMP', T=540, F=0.5625 /
&RAMP ID='Battery Charger (v4)_HRR_RAMP', T=720, F=1 /
&RAMP ID='Battery Charger (v4)_HRR_RAMP', T=1200, F=1 /
&RAMP ID='Battery Charger (v4)_HRR_RAMP', T=1485, F=0.75 /
&RAMP ID='Battery Charger (v4)_HRR_RAMP', T=1770, F=0.5 /
&RAMP ID='Battery Charger (v4)_HRR_RAMP', T=2055, F=0.25 /
&RAMP ID='Battery Charger (v4)_HRR_RAMP', T=2340, F=0 /
Heat of Combustion#
This heat of combustion specification in FRI3D refers to the gas phase combustion specification. For FDS If the stoichiometry of the burning material differs from the global reaction, the heat of combustion is used to ensure that an equivalent amount of fuel is injected into the flow domain from the burning object.
Stoichiometry#
The burning process releases heat and smoke.
Whereas there can be many types of combustibles in an FDS fire simulation, one only gaseous fuel can be simulated by FDS. In general, you should set the chemistry of the modeled burning gaseous fuel to coincide with the actual predominant burning gaseous fuel.
The stoichiometry of the predominant gas phase combustion reaction is prescribed in the the user interface specification of the fire material. Since Cl is not used by FDS, this is ignored.
FDS implements the following chemical reaction as the combustion reaction. The various stoichiometric coefficients are converted into their respective volume fractions to be output as FDS directives.

The volume fractions of the chemical constituents which represent the combustion reaction are calculated and specified as directives. This is based on the fire specification entered by the user, details of which is explained in the section on FRI3D Sources.
However the following is an example of FDS directives for fire sources.
&SPEC ID = 'PE/PVC', FORMULA = 'C2H3.5Cl0.5' / &SPEC ID = 'OXYGEN', LUMPED_COMPONENT_ONLY = .TRUE. / &SPEC ID = 'NITROGEN', LUMPED_COMPONENT_ONLY = .TRUE. / &SPEC ID = 'HYDROGEN CHLORIDE', LUMPED_COMPONENT_ONLY = .TRUE. / &SPEC ID = 'WATER VAPOR', LUMPED_COMPONENT_ONLY = .TRUE. / &SPEC ID = 'CARBON MONOXIDE', LUMPED_COMPONENT_ONLY = .TRUE. / &SPEC ID = 'CARBON DIOXIDE', LUMPED_COMPONENT_ONLY = .TRUE. / &SPEC ID = 'SOOT', LUMPED_COMPONENT_ONLY = .TRUE.,FORMULA='C1' /&SPEC ID='AIR', BACKGROUND=.TRUE., SPEC_ID(1)='OXYGEN', VOLUME_FRACTION(1)=0.21, SPEC_ID(2)='NITROGEN', VOLUME_FRACTION(2)=0.79 /
&SPEC ID='PRODUCTS',SPEC_ID(1)='HYDROGEN CHLORIDE', VOLUME_FRACTION(1)=0.5,
SPEC_ID(2)='WATER VAPOR', VOLUME_FRACTION(2)=1.5,
SPEC_ID(3)='CARBON MONOXIDE', VOLUME_FRACTION(3)=0.2376,
SPEC_ID(4)='CARBON DIOXIDE', VOLUME_FRACTION(4)=1.2496,
SPEC_ID(5)='SOOT', VOLUME_FRACTION(5)=0.5128,
SPEC_ID(6)='NITROGEN', VOLUME_FRACTION(6)=7.9692 /
&REAC ID='PE/PVC', HEAT_OF_COMBUSTION = 20900., SPEC_ID_NU='PE/PVC','AIR','PRODUCTS', NU=-1,-10.0876,1, RADIATIVE_FRACTION = 0.49 /
FRI3D however generates directives needed with the appropriate stoichiometry for the fire by specifying the formula like the following.
!! Fire Reaction
&SPEC ID='Battery Charger (v4)_FUEL'
FORMULA='C2H4O0N0' /
&REAC FUEL='Battery Charger (v4)_FUEL'
CO_YIELD=0.01
SOOT_YIELD=0.01
HEAT_OF_COMBUSTION=50000
RADIATIVE_FRACTION=0.35 /
Secondary Fires#
The approach to model secondary fires in FDS differs from the approach used in CFAST. This difference is because FDS can simulate the spread of secondary fires while CFAST cannot. The following procedure steps were used to model secondary fires in FDS from FRI3D:
- Determine if there are cable raceways above the initial fire following the FLASHCAT geometry.
- If there are, sort the raceways according to their distance from the fire.
- Assign the fire spread rate to each raceway according to their cable type. The fire spreads laterally with a rate of 1.1 m/hour for thermoset cables and 3.2 m/hour for thermoplast cables. If there are multiple cable types in a raceway, use the most conservative (the fastest) fire spread rate.
This is automatically setup when a FRI3D Scene is setup and FDS is used for simulation.
FDS Fire Source Specification#
For sources, the user specified dimensions of the source geometry along with the equip-ment/item which initiates the fire are used to generate the appropriate FDS directives to speci-fy the boundary condition.
FRI3D uses the intersection of the fire geometry when dropped into the interface with the geometry of the plant item box to specify the VENT directive for the source of the fire.
In order for FRI3D to generate the correct VENT directive, it needs to be overlapping with any other item in 3D space.
&VENT XB=-2.1024,-1.4459,-8.1079,-7.1649,1,1, IOR=3, SURF_ID='Battery Charger (v4)_FSource_1', /FDS Computational Mesh and FRI3D#
For the computational domain, the FRI3D backend reads the 3D information provided by the front end with regards to the bounds of the simula-tion and generates directives like the following: &MESH XB=0,2,0,4,0,2.5, IJK=32,32,32/
FDS Obstacles and FRI3D#
For FDS data to be output by FRI3D, a full 3D representation of all necessary boundaries and all equipment/cables/raceways in the com-partment to be simulated are needed.
With regard to equipment/raceways and compartment geometry, FDS requires that these be specified with respect to specific obstacle directives and be provided with the bounding box. Since a FRI3D model consists of items contained inside a compartment, made up of many geometrical entities modelled by the user or imported from other 3D data, the front end de-composes the boundary elements in FRI3D to set of obstacle elements for FDS. A set of computational geometry operations are done to consolidate all the boundary meshes, and then a determination is made from the outer boundaries based on orientation to indicate the outer walls/ceiling and floor so as to differentiate them. The backend code then computes a list of axis-aligned bounding boxes and generates appropriate OBST calls. The wall thickness is specified as part of the material properties of the walls are saved as part of the model and used to generate the thickness of the boundary walls.
By default FRI3D outputs only the bounding boxes of the geometry, however if a given item/equipment has associated CAD geometry, then the user can specify to use its geometry to subdivide the mesh into multiple boxes to more accurately represent the underlying geometry as part of the plant item properties.
FDS Boundary Walls and FRI3D#
FRI3D uses the user modeled boundaries and turns them into outer obstacles for the outer walls. It combines all the boundaries and outputs OBST directives for the outer geometry of the FRI3D boundary objects.
FDS Vents and FRI3D#
For Natural vents like doors etc, when appropriately modelled in FRI3D, those turn into HOLE directives in FDS to punch holes through the walls .
For Mechanical vents. Computational geometric operations are performed on the specified FRI3D mechanical vents ventilations and appropriate OBST directives and its VENT directives are output based on the geometry of the FRI3D Vent.
VENTS in FDS are considered boundary flow conditions and sources are also considered as VENTS for FDS.
FRI3D Specified FDS Device Locations and Measurements#
FDS Device locations for measuring temperatures in order to determine failures and to monitor are automatically computed based on the nearest location on the boundary of the equipment or plant item closest to the fire. There are three values which are sent to FDS by FRI3D to measure. They are Gas Temperature, Wall Temperature and Heat Flux. However the value used to determine equipment failures is the gas temperature . Future versions will automatically pick the highest of these three temperatures.
These values are output by FDS into the devices.csv file.
An example of these corresponding directives are
&DEVC ID='CYL2_TEMP', XYZ=-1.1665, -6.5839, 1, QUANTITY='TEMPERATURE' / &DEVC ID='CYL2_WALLTEMP', XB=-1.3665, -0.9665, -6.7839, -6.3839, 0.8, 1.2, QUANTITY='WALL TEMPERATURE' SPATIAL_STATISTIC='MAX' / &DEVC ID='CYL2_HEATFLUX', XB=-1.3665, -0.9665, -6.7839, -6.3839, 0.8, 1.2, QUANTITY='NET HEAT FLUX' SPATIAL_STATISTIC='MAX' /FDS Results#
After an FDS simulation, FRI3D reads the comma-separated temperature or flux values found in the device csv file. This file stores the historical temperature or flux values of the devices declared in the FDS input file. The temperature profile of the domain is stored in a volumetric grid and FRI3D reads this information supplied to it from the backend in order to visualize for the user.
FDS Visualizations#
FRI3D is able to read the generated PLOT3D files which has the full volumetric data corresponding to FDS output which includes temperature, smoke concentration etc and visualize them as volumes or slices in FRI3D. They can be turned on/off in the Fire Scenario properties.
&DUMP STATUS_FILES=T, DT_PL3D = 1, PLOT3D_QUANTITY(1:5)='TEMPERATURE', 'U-VELOCITY','V-VELOCITY','W-VELOCITY', 'HRRPUV', WRITE_XYZ=.TRUE. /