Complex Stoichiometry in Pyrosim
Reading Time: 17 minutesTo follow along with this tutorial, download the relevant files here.
1. Introduction
PyroSim supports both the simple chemistry and complex stoichiometry combustion models in FDS. This post demonstrates how the PyroSim user interface can be used to represent complex combustion and multiple fuels.
You must use complex stoichiometry if:
- The fuel does not consist of just \(C\), \(H\), \(N\), \(O\).
- To track soot deposition or removal from the atmosphere with HVAC filters.
- There are multiple sequential gas phase reactions.
In this post we replicate examples from the FDS User’s Guide, the FDS Verification Guide, and the FDS Validation Guide. For all these examples, the stoichiometric equation is provided so the user does not need to calculate the stoichiometric coefficients. To see how to use a combustion calculator to calculate the coefficients yourself, see the tutorial Using the Combustion Calculator for HCN, HCl, and Soot.
The links below jump to each example.
- Chapter 2 demonstrates non-simple chemistry fuels by including chlorine in the fuel and products.
- Chapter 3 demonstrates use of multiple chemical reactions.
- Chapter 4 demonstrates aerosol deposition.
- Chapter 5 demonstrates a set of reactions where the downstream reactions use the products of the first reaction and shows how to set the Lumped Component Only option.
2. Combustion of Polyvinyl Chloride (PVC)
This example is based on the Section 13.2 Complex Fuel Molecules in the FDS User Guide. It adds chlorine to the fuel which produces the acid gas HCl.
As described in the FDS User Guide, "Fires, however, often involve fuels that do not just consist of C, H, N, and O. For example, chlorine is commonly found in building and household materials, and because of its propensity to form the acid gas HCl, you may want to account for it in the basic reaction scheme. Suppose the predominant fuel in the fire is polyvinyl chloride (PVC). Regardless of its detailed polymeric structure, it can be regarded as C2H3Cl for the purpose of modeling. Assuming that all of the Cl in the fuel is converted into HCl, you can derive a single-step reaction mechanism using appropriate soot and CO yields for the specified fuel." (McGrattan et al. 2021)
The stoichiometric equation given in the FDS User Guide is:
2.1. Define the Species
The first step is to define the species. In this model, \(O_{2}\), \(N_{2}\), \(HCl\), \(H_{2}O\), \(CO\), \(CO_{2}\), and \(Soot\) will be defined as primitive species and will not be tracked in the solution. PVC will be defined as a primitive species that is tracked. Air and the products of combustion will be lumped species that are tracked.
To edit the primitive species:
- On the Model menu, click Edit Species.
- By default, PyroSim includes the species needed for a "simple chemistry" reaction. We will change the default air and products, so delete the default AIR, and PRODUCTS species. We will not use HYDROGEN CYANIDE, so delete it.
- The remaining species are CARBON DIOXIDE, CARBON MONOXIDE, NITROGEN, OXYGEN, SOOT, and WATER VAPOR.
- Add hydrogen chloride as a species. Note that hydrogen chloride is included in FDS as a predefined species, Table 12.1.2 Pre-Defined Gas and Liquid Properties (McGrattan et al. 2021), so we do not need to define the chemical formula. Click New, in the Predefined list select HYDROGEN CHLORIDE, and click OK.
- Add PVC as a new species.
Click New, click Custom, give the name as PVC, select Primitive, and click OK. Click Chemical Formula and type
C2H3Cl
. Click Apply to create the new species.
This example uses a simplified composition of air consisting only of nitrogen and oxygen. Define this as a lumped species:
- In the Edit Species dialog.
- Click New, click Custom, give the name as AIR, select Lumped, and click OK.
- Click by Volume and type
5.76
for the Volume Fraction of NITROGEN and type1.53
for the Volume Fraction of OXYGEN. - Click Apply to create the new species.
Define the combustion products as a lumped species.
- In the Edit Species dialog.
- Click New, click Custom, give the name as PRODUCTS, select Lumped, and click OK.
- Click by Volume and type
0.96
for the Volume Fraction of CARBON DIOXIDE, type0.14
for the Volume Fraction of CARBON MONOXIDE, type1
for the Volume Fraction of HYDROGEN CHLORIDE, type5.76
for the Volume Fraction of NITROGEN, type0.9
for the Volume Fraction of SOOT, type1
for the Volume Fraction of WATER VAPOR. - Click Apply to create the new species.
- Click OK to close the Edit Species dialog.
Set AIR as the background species:
- In the Navigation View (tree), right-click AIR and click Set as Background Species.
2.2. Define the Reaction
The next step is to define the reaction.
- On the Model menu, click Edit Reactions.
- Click New, give the name as PVC, select Complex Stoichiometry, for Fuel Species select PVC, and click OK.
- Click Heat of Combustion and type
16400.
- For AIR, the Type is Reactant and for the value of NU type
1
. - For PVC, the Type is Reactant and for the value of NU type
1
. - For PRODUCTS, the Type is Product and for the value of NU type
1
. - Click Apply to create the new reaction.
- Click OK to close the Edit Reactions dialog.
2.3. Create a Burning Surface
To use this reaction, define a surface that releases fuel:
- On the Model menu, click Edit Surfaces.
- Click New.
For Surface Name, type
Fire
and for Surface Type select Burner. Click OK. - Input the desired value for Heat Release Rate Per Area.
- Click OK and close the Edit Surfaces dialog.
- Apply the Fire surface to the burning obstruction or vent.
2.4. Run the Simulation
See the attached input file for other details of the example problem.
3. Combustion of Polyurethane and Wood (PVC)
The example in Section 13.2.4 Multiple Fuels of the FDS User Guide shows how to model two simultaneously burning fuels, polyurethane and wood. In the example, polyurethane is defined by the chemical formula \(C_{25}H_{42}O_{6}N_{2}\) and the combustion reaction has a soot yield \(y_{s} = 0.131\) and a \(CO\) yield of \(y_{CO} = 0.01\). The polyurethane reaction is given by:
Similarly, wood is defined by the chemical formula \(C_{1}H_{1.7}O_{0.74}N_{0.002}\) and the reaction has a soot yield \(y_{s} = 0.015\) and a \(CO\) yield of \(y_{CO} = 0.004\). The wood reaction is:
3.1. Define the Species
In the FDS calculation, \(O_{2}\), \(N_{2}\), \(H_{2}O\), \(CO\), \(CO_{2}\), and \(Soot\) will be primitive species and will not be tracked. Polyurethane and wood will be defined as primitive species that are tracked. Air and the two products of combustion will be lumped species that are tracked.
To define the primitive species:
- On the Model menu, click Edit Species.
- By default, PyroSim includes the species needed for a "simple chemistry" reaction. We will redefine the air and products species, so delete the default AIR and PRODUCTS. We will not include HYDROGEN CYANIDE, so delete that also.
- The remaining species are NITROGEN, OXYGEN, CARBON DIOXIDE, WATER VAPOR, CARBON MONOXIDE, and SOOT.
- We now add polyurethane as a new species.
In the Edit Species dialog, click New, click Custom, give the name as
POLYURETHANE
, select Primitive, and click OK. Click Chemical Formula and typeC25H42O6N2
. Click Apply to create the new species. - Similarly, we add wood.
Click New, click Custom, give the name as
WOOD
, select Primitive, and click OK. Click Chemical Formula and typeC1H1.7O0.74N0.002
. Click Apply to create the new species.
In this example, air has been simplified to consist of only oxygen and nitrogen. Define air as a lumped species:
- In the Edit Species dialog, click New, click Custom, give the name as
AIR
, select Lumped, and click OK. - Click by Volume and type
3.76
for the Volume Fraction of NITROGEN and type1
for the Volume Fraction of OXYGEN. - Click Apply to create the new species.
Define the polyurethane combustion products as a lumped species.
- In the Edit Species dialog, click New, click Custom, give the name as
PRODUCTS_POLY
, select Lumped, and click OK. - Click by Volume and type
19.74412
for the Volume Fraction of CARBON DIOXIDE, type0.16659
for the Volume Fraction of CARBON MONOXIDE, type103.7511
for the Volume Fraction of NITROGEN, type5.08930
for the Volume Fraction of SOOT, type21.0
for the Volume Fraction of WATER VAPOR. - Click Apply to create the new species.
Define the wood combustion products as a lumped species:
- In the Edit Species dialog, click New, click Custom, give the name as
PRODUCTS_WOOD
, select Lumped, and click OK. - Click by Volume and type
0.964384
for the Volume Fraction of CARBON DIOXIDE, type0.003655
for the Volume Fraction of CARBON MONOXIDE, type3.84076
for the Volume Fraction of NITROGEN, type0.03196
for the Volume Fraction of SOOT, type0.85
for the Volume Fraction of WATER VAPOR. - Click Apply to create the new species.
- Click OK to close the Edit Species dialog.
To set AIR as the background species:
- In the Navigation View (tree), right-click AIR and click Set as Background Species.
3.2. Define the Reactions
The next step is to define the two reactions. First the polyurethane reaction:
- On the Model menu, click Edit Reactions.
- Click New, give the name as
POLYURETHANE
, select Complex Stoichiometry, for Fuel Species select POLYURETHANE and click OK. - Click Heat of Combustion and type
26200
. - For AIR, the Type is Reactant and for the value of NU type
27.234364
. - For POLYURETHANE, the Type is Reactant and for the value of NU type
1
. - For PRODUCTS_POLY, the Type is Product and for the value of NU type
1
. - Click Apply to create the new reaction.
Now the wood reaction:
- In the Edit Reactions dialog.
- Click New, give the name as
WOOD
, select Complex Stoichiometry, for Fuel Species select WOOD, and click OK. - Click Heat of Combustion and type
16400
. - For AIR, the Type is Reactant and for the value of NU type
1.02121
. - For WOOD, the Type is Reactant and for the value of NU type
1
. - For PRODUCTS_WOOD, the Type is Product and for the value of NU type
1
. - Click Apply to create the new reaction.
- Click OK to close the Edit Reactions dialog.
We want both reactions to be active. By default, the first reaction created will be active. To set both reactions as active:
- In the Navigation View (tree), under Reactions, verify that POLYURETHANE is active. If not, right-click POLYURETHANE and click Set as Active Reaction.
- In the Navigation View (tree), under Reactions, right-click WOOD and click Set as Active Reaction.
3.3. Create a Burning Surface
We have defined the fuels and combustion reactions.
The next step is to define the surface from which fuel is released (pyrolysis).
Because we have two burning fuels, we must do this by specifying the mass flow rate of fuels from the surface.
In this example, the total HRR is 1200 kW
with each fuel contributing 50% of the total heat release rate.
In this example, the vent that will release the fuel has an area of 1m2
, so we use the area and the heats of combustion to calculate the fuel flow rates.
We also want each fuel to follow a ramp such that fire starts at 0kW
at the initial time, reaches 1200kW
at 10s
, and remains at 1200kW
for the remainder of a 30s simulation.
When there is a single fuel, we can use a Burner surface, but for multiple fuels we use a Supply surface. To define the surface:
- On the Model menu, click Edit Surfaces.
- Click New. For Surface Name, type Fire and for Surface Type select Supply. Click OK.
- Click the color box and change the color to red.
- Click Specify Mass Flux of Individual Species. Click the Species Injection tab.
- First define the polyurethane mass flow rate.
In the Mass Flux column, type
0.022901
for POLYURETHANE. In the Ramp-Up Type column select Custom. In the Ramp Value column click Edit Values and input the following (Time, Fraction) pairs:(0,0), (10,1), (30,1)
. Click OK. - Now define the wood mass flow rate.
In the Mass Flux column, type
0.036585
for WOOD. In the Ramp-Up Type column select Custom. In the Ramp Value column click Edit Values and input the following (Time, Fraction) pairs:(0,0), (10,1), (30,1)
. Click OK. - Click OK and close the Edit Surfaces dialog.
3.4. Set Suppression
When using multiple chemical reactions, it is necessary to set suppression to false.
- On the Analysis menu, click Simulation Parameters.
- Select the Misc tab.
- Set Reaction Suppression to False.
- Click OK to close the Solution Parameters dialog.
3.5. Run the Simulation
See the attached input file for other details of the example problem.
4. Soot Deposition from a Propane Flame
This example is based on Section 13.4.1 Soot Deposition from a Propane Flame in the FDS User Guide.
This example "shows how to define a reaction that invokes the aerosol deposition model in FDS. The fuel is propane with a specified soot yield of 0.05. Note that this is a fabricated soot yield that is used only for demonstration and verification purposes." (McGrattan et al. 2021)
The resulting stoichiometric equation is:
4.1. Define the Species
The first step is to define the species. In this model, \(O_{2}\), \(N_{2}\), \(H_{2}O\), and \(CO_{2}\) will be defined as primitive species and will not be tracked. Propane and Soot will be defined as primitive species that are tracked. Air and the products of combustion will be lumped species that are tracked.
Edit the species:
- On the Model menu, click Edit Species.
- By default, PyroSim includes the species needed for a "simple chemistry" reaction. We will redefine air and the products species and will not use \(CO\), so delete the default AIR, PRODUCTS, and CARBON MONOXIDE species. We will not use HYDROGEN CYANIDE, so delete it.
- The remaining species are CARBON DIOXIDE, NITROGEN, OXYGEN, SOOT, and WATER VAPOR.
- Add propane as a species. Note that propane is included in FDS as a predefined species, Table 12.1.2 Pre-Defined Gas and Liquid Properties (McGrattan et al. 2021), so we do not need to define the chemical formula. Click New, in the Predefined list select PROPANE, and click OK.
- For soot to deposit, it must be explicitly tracked by defining AEROSOL = .TRUE.
on the SPEC line.
Click SOOT and then the Advanced tab.
In the Name column type
AEROSOL
and in the Value type.TRUE.
(include both periods). - We also define the soot diameter.
In the Name column type
MEAN_DIAMETER
and in the Value type1.E-6
. - Click Apply.
In this example, air has been simplified to consist of only oxygen and nitrogen. Define air as a lumped species:
- In the Edit Species dialog.
- Click New, click Custom, give the name as
AIR
, select Lumped, and click OK. - Click by Volume and type
3.76
for the Volume Fraction of NITROGEN and type1
for the Volume Fraction of OXYGEN. - Click Apply to create the new species.
Define the combustion products as a lumped species.
- In the Edit Species dialog.
- Click New, click Custom, give the name as
PRODUCTS
, select Lumped, and click OK. - Click by Volume and type
2.81643
for the Volume Fraction of CARBON DIOXIDE, type18.10978
for the Volume Fraction of NITROGEN, and type4.0
for the Volume Fraction of WATER VAPOR. - Click Apply to create the new species.
- Click OK to close the Edit Species dialog.
To set AIR as the background species:
- In the Navigation View (tree), right-click AIR and click Set as Background Species.
4.2. Define the Reaction
The next step is to define the reaction.
- On the Model menu, click Edit Reactions.
- Click New, give the name as
PROPANE
, select Complex Stoichiometry, for Fuel Species select PROPANE and click OK. - Click Heat of Combustion and type
44715
. - For AIR, the Type is Reactant and for the value of NU type
4.81643
. - For PROPANE, the Type is Reactant and for the value of NU type
1
. - For PRODUCTS, the Type is Product and for the value of NU type
1
. - For SOOT, the Type is Product and for the value of NU type
0.18357
. - Click Apply to create the new reaction.
- Click OK to close the Edit Reactions dialog.
4.3. Plot Soot Deposition on the Walls
To write boundary data that plots deposition on surfaces:
- On the Output menu, click Boundary Quantities.
- Select [Species: SOOT] Surface Deposition.
- Click OK to close the dialog.
4.4. Run the Simulation
See the attached input file for other details of the example problem.
4.5. Change the Visualization of Soot Deposition in the Results Viewer
You can change the colorbar in the PyroSim Results Viewer to show the deposition of soot on the surfaces as a black opaque discoloration instead of the rainbow colorbar as shown above.
To do this:
5. Series Reactions
This example is described in Section 10.5 Heat Release Rates from Reaction Mechanisms in the FDS Verification Guide. It is a set of series reactions with primitive species and is described by the hrrpuv_reac_series.fds input file (attached).
In the first reaction, propane and oxygen produce carbon monoxide and hydrogen:
In the second reaction, carbon monoxide (from the first reaction) and oxygen produce carbon dioxide:
In the third section, hydrogen (from the first reaction) and oxygen produce water vapor:
5.1. Define the Species
In the FDS calculation, \(N_{2}\), propane, \(O_{2}\), \(H_{2}\), \(H_{2}O\), \(CO_{2}\), and \(CO\) will be primitive species that will be tracked. When a species is defined, by default PyroSim will automatically select the setting for Lumped Component Only (that is, whether or not the species will only be used when defining a lumped species such as air). Usually the automatic option is satisfactory, but in this case we need to manually set the option for CARBON DIOXIDE, CARBON MONOXIDE, and WATER VAPOR.
To define the primitive species:
- On the Model menu, click Edit Species.
- By default, PyroSim includes the species needed for a "simple chemistry" reaction. Delete AIR, PRODUCTS, and SOOT. We will not use HYDROGEN CYANIDE, so delete it.
- The remaining species are NITROGEN, OXYGEN, CARBON DIOXIDE, WATER VAPOR, and CARBON MONOXIDE.
- Select CARBON DIOXIDE and for Lumped Component Only select FALSE. Repeat for CARBON MONOXIDE and WATER VAPOR.
- Add propane as a species. Click New, in the Predefined list select PROPANE, and click OK.
- Add hydrogen as a species. Click New, in the Predefined list select HYDROGEN, and click OK.
- Click OK to close the Edit Species dialog.
To set NITROGEN as the background species:
- In the Navigation View (tree), right-click NITROGEN and click Set as Background Species.
5.2. Define the Reactions
The next step is to define the three reactions.
- On the Model menu, click Edit Reactions.
- Click New, give the name as
REACTION 1
, select Complex Stoichiometry, for Fuel Species select PROPANE, and click OK. - For PROPANE, the Type is Reactant and for the value of NU type
1
. - For OXYGEN, the Type is Reactant and for the value of NU type
1.5
. - For CARBON MONOXIDE, the Type is Product and for the value of NU type
3
. - For HYDROGEN, the Type is Product and for the value of NU type
4
. - Click Apply to create the new reaction.
Now the second reaction:
- In the Edit Reactions dialog.
- Click New, give the name as
REACTION 2
, select Complex Stoichiometry, for Fuel Species select CARBON MONOXIDE and click OK. - For CARBON MONOXIDE, the Type is Reactant and for the value of NU type
1
. - For OXYGEN, the Type is Reactant and for the value of NU type
0.5
. - For CARBON DIOXIDE, the Type is Product and for the value of NU type
1
. - Click Apply to create the new reaction.
The third reaction:
- In the Edit Reactions dialog.
- Click New, give the name as
REACTION 3
, select Complex Stoichiometry, for Fuel Species select HYDROGEN, and click OK. - For HYDROGEN, the Type is Reactant and for the value of NU type
1
. - For OXYGEN, the Type is Reactant and for the value of NU type
0.5
. - For WATER VAPOR, the Type is Product and for the value of NU type
1
. - Click Apply to create the new reaction.
- Click OK to close the Edit Reactions dialog.
Set all reactions to be active:
- In the Navigation View (tree), under Reactions, verify that REACTION 1 is active. If not, right-click REACTION 1 and click Set as Active Reaction.
- In the Navigation View (tree), under Reactions, right-click REACTION 2 and click Set as Active Reaction.
- In the Navigation View (tree), under Reactions, right-click REACTION 3 and click Set as Active Reaction.
5.3. Set Suppression
When using multiple chemical reactions, it is necessary to set suppression to false.
- On the Analysis menu, click Simulation Parameters.
- Select the Misc tab.
- Set Reaction Suppression to False.
- Click OK to close the Solution Parameters dialog.
5.4. Run the Simulation
See the attached input file for other details of the example problem.
5.5. Additional Help
To download the most recent version of PyroSim, please visit the the PyroSim Support page and click the link for the current release. If you have any questions, please contact support@thunderheadeng.com.
6. Bibliography
McGrattan, Kevin, Simo Hostikka, Randall McDermott, Jason Floyd, and Marcos Vanella. 2021. Fire Dynamics Simulator User’s Guide, NIST Special Publication 1019. Sixth Edition. National Institute of Standards and Technology, Gaithersburg, Maryland, USA: NIST.
Related Tutorials
Tutorial demonstrating how to use the Combustion Calculator for HCN, HCl and Soot in Pyrosim.
Tutorial demonstrating how to integrate Fractional Effective Doses with Evacuation Results.
Tutorial demonstrating how to verify HVAC Pressure Drop in Pyrosim.
Tutorial demonstrating how to model a fire in Pyrosim.
Tutorial Comparing FDS results to fire spill-plume calculations in BRE Annex D.
Evacuation simulation of a center-platform station using Pathfinder, then comparing results with NFPA 130 and SFPE calculations.
Tutorial demonstrating how to model critical velocity in Pyrosim using the example of a tunnel fire.
Post demonstrating the 2020 updates to the NFPA 502 Critical Velocity Calculator.