Multiple Fuels with PyroSim

PyroSim’s design assumes that most users want to use FDS with a single-fuel, “simple chemistry” combustion model. For simulations requiring multiple fuel species, a few extra steps are required. This post demonstrates how to perform a multiple-fuel simulation using PyroSim.

To use multiple-fuel reactions in an FDS simulation, it is necessary to specify the gas species and stoichiometry of the reactions. In the FDS User Guide, Section 13.2.2 “Complex Stoichiometry”, an example is given that demonstrates how to accomplish this using FDS directly. This post references that example frequently and readers are encouraged to have both documents available while working through this post.

Overview

PyroSim supports the “simple chemistry” combustion model in FDS that considers a single fuel species composed of C, H, O, and N that reacts with O_{2} in one mixing-controlled step to form CO_{2}, H_{2}O, COSoot, and N_{2}.

    \[C_{x}H_{y}O_{z}N_{v}+\nu_{O_{2}}O_{2}\rightarrow\nu_{CO_{2}}CO_{2}+\nu_{H_{2}O}H_{2}O+\nu_{CO}CO+\nu_{s}Soot+\nu_{N_{2}}N_{2}\]

The “simple chemistry” approach can only be used in FDS when there is a single mixing controlled reaction. For multiple reactions, you must specify the gas species and stoichiometry of the reactions.

The Section 13.2.2 example 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:

    \[1\underbrace{(C_{25}H_{42}O_{6}N_{2})}_{\text{Fuel\_poly}}+27.234364\underbrace{(O_{2}+3.76\:N_{2})}_{\text{Air}}\rightarrow\]

    \[1\underbrace{(19.791134\:CO_{2}+0.166587\:CO+20.719873\:H_{2}O+5.602533\:C_{0.9}H_{0.1}+}_{\text{Products\_poly}}\]

    \[\underbrace{103.401209\:N_{2})}_{\text{Products\_poly}}\]

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:

    \[1\underbrace{(C_{1}H_{1.7}O_{0.74}N_{0.002})}_{\text{Fuel\_wood}}+1.020627\underbrace{(O_{2}+3.76\:N_{2})}_{\text{Air}}\rightarrow\]

    \[1\underbrace{(0.964679\:CO_{2}+0.003655\:CO+0.848241\:H_{2}O+0.035184\:C_{0.9}H_{0.1}+3.838558\:N_{2})}_{\text{Products\_wood}}\]

In the FDS calculation, only the two fuels, air, and the two products will be tracked. The other species are sub-species used to define the tracked species. In this example, air has been simplified to consist of only oxygen and nitrogen.

Stoichiometric Coefficients

The user is responsible for calculating the stoichiometric coefficients given in the above reactions. Although we are using two fuels, each fuel is composed only of C, H, O, and N so the “simple chemistry” approach can be used to calculate the coefficients for each individual reaction. Two readily available tools to calculate “simple chemistry” stoichiometric coefficients are the combustion calculator spreadsheet from Thunderhead or Kristopher Overholt’s online Chemical Equation Balancer.

Images of the stoichiometric calculations using the spreadsheet are shown below. The calculated coefficients match the values given in the FDS example. Note that in the spreadsheet only the O_{2} coefficient is calculated, so the user must add N_{2} to air and products. 

Figure 2: Stoichiometric calculation for polyurethane.
Figure 1: Stoichiometric calculation for wood.

Define the Species in PyroSim

The first step is to define the species. In this model, O_{2}, N_{2}, H_{2}O, CO, CO_{2}, and Soot will be defined as 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 species:

  • On the Model menu, click Edit Species
  • By default, PyroSim includes the species needed for a “simple chemistry” reaction. We will add different air and products species, so delete the default AIR and PRODUCTS species.
  • The remaining species are CARBON DIOXIDE, CARBON MONOXIDE, NITROGEN, OXYGEN, SOOT, and WATER VAPOR. PyroSim only writes species that are referenced in the model. In this example, the reactions will be defined in the Additional Records section, so PyroSim will not know that these species are being used. We will force the species to the written. In addition, we want these species to only be used as sub-species when defining lumped species, so we will set the LUMPED_COMPONENT_ONLY flag to be true. To accomplish this, select CARBON DIOXIDE and click the Advanced tab. Click Always Write FDS Record. In the table below, in the Name column type LUMPED_COMPONENT_ONLY and in the Value column type .TRUE.. Click Apply.
  • Repeat for all six species.
  • We now add polyurethane as a new species. Click New, click Custom, give the name as POLYURETHANE, select Primitive, and click OK. Click Chemical Formula and type C25H42O6N2. Click Advanced and click Always Write FDS Record. 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 type C1H1.7O0.74N0.002. Click Advanced and click Always Write FDS Record. Click Apply to create the new species. 
  • Click OK to close the Edit Species dialog.

To check your work, click the Record View and verify that the SPEC records match this image.

Define air as a lumped species:

  • On the Model menu, click Edit Species
  • 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 type 1 for the Volume Fraction of OXYGEN.
  • Click Advanced and click Always Write FDS Record. 
  • In the Name column of the table, type BACKGROUND and in the Value column, type .TRUE..
  • 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_1, select Lumped, and click OK.
  • Click by Volume and type 19.791134 for the Volume Fraction of CARBON DIOXIDE, type 0.166587 for the Volume Fraction of CARBON MONOXIDE, type 103.401209 for the Volume Fraction of NITROGEN, type 5.602533 for the Volume Fraction of SOOT, type 20.719873 for the Volume Fraction of WATER VAPOR.
  • Click Advanced and click Always Write FDS Record.
  • 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_2, select Lumped, and click OK. 
  • Click by Volume and type 0.964679 for the Volume Fraction of CARBON DIOXIDE, type .003655 for the Volume Fraction of CARBON MONOXIDE, type 3.838558 for the Volume Fraction of NITROGEN, type 0.035184 for the Volume Fraction of SOOT, type 0.848241 for the Volume Fraction of WATER VAPOR
  • Click Advanced and click Always Write FDS Record. 
  • Click Apply to create the new species.
  • Click OK to close the Edit Species dialog.

To check your work, click the Record View and verify that the SPEC records match this image.

Define the Reactions in PyroSim

The next step is to define the reactions. The PyroSim interface allows only one reaction, so we must enter the reactions manually in the Additional Records section. This is the section that PyroSim copies directly to the FDS input file.

Paste the following REAC lines into the Additional Records section of the Record View tab and then click in the Model Records (Read-Only) section of the window to update the display.

&REAC ID = 'plastic',
FUEL = 'POLYURETHANE',
HEAT_OF_COMBUSTION=26200,
SPEC_ID_NU = 'POLYURETHANE','AIR','PRODUCTS_1'
NU=-1,-27.234364,1 /

&REAC ID = 'wood'
FUEL = 'WOOD',
HEAT_OF_COMBUSTION=16400,
SPEC_ID_NU = 'WOOD','AIR','PRODUCTS_2'
NU=-1,-1.020627,1 /

Note that the reactions define the heat of combustion for each reaction. You can check your work by comparing the Record View to this image.

Finish the Model

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. Following the example, we want the total HRR to be 1200 kW where each fuel contributes 50% of the total heat release rate. We do this by specifying the mass flow rate per unit area from the burning surface. 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.

    \[\dot{m}_{poly}^"=\frac{600\;kW}{1\;m^2}\frac{1}{26200\;kJ/kg}=0.022901\;kg/(m^2\cdot{s})\]

    \[\dot{m}_{wood}^"=\frac{600\;kW}{1\;m^2}\frac{1}{16400\;kJ/kg}=0.036585\;kg/(m^2\cdot{s})\]

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.

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 click Default and select Custom. In the Ramp Value column click Edit Values and input the table shown below. 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 click Default and select Custom. In the Ramp Value column click Edit Values and input the table shown below. Click OK.
  • Click OK and close the Edit Surfaces dialog.
Figure 6: Define the ramp for the polyurethane mass flow.
Figure 6: Define the ramp for the polyurethane mass flow.

 

Create the mesh:

  • On the Model menu, click Edit Meshes.
  • Click New.
  • Click OK to create the mesh.
  • In the Min X box, type –1 and in the Max X box, type 1.
  • In the Min Y box, type –1 and in the Max Y box, type 1.
  • In the Min Z box, type 0 and in the Max Z box, type 5.
  • In the X Cells box, type 20.
  • In the Y Cells box, type 20.
  • In the Z Cells box, type 30.
  • Click OK to save changes and close the Edit Meshes dialog.
  • Click the Reset View to All Visible Objects tool to resize the image.

Create the vent that releases fuel:

  • On the Model menu, click New Vent
  • For the ID, type Fire Vent.
  • For Surface, select Fire.
  • Click the Geometry tab. The vent is located at Z = 0, with X and Y bounds of -0.5 to 0.5.
  • Click OK to close the Vent Properties dialog.

Open the mesh boundaries:

  • Right-click the mesh and click Open Mesh Boundaries. This creates OPEN vents on all boundaries.
  • Delete the ZMIN vent.

When using multiple chemical reactions, you must set SUPPRESSION=.FALSE. on the MISC line. We will also change the solution end time. To do this:

  • On the Analysis menu, click Simulation Parameters
  • In the End Time, type 30.
  • Click in the Record column and select MISC.
  • In the Name column, type SUPPRESSION.
  • In the Value column, type .FALSE. .
  • Click OK to close the Solution Parameters dialog.

Your model should look as shown below.

Figure 7: Completed model.
Figure 7: Completed model.

Run the Simulation and View Results

Save the model and run the simulation.

View the results:

  • In the Results Viewer, click Show Mesh Outlines.
  • Click Reset View.
  • Double-click 3D Smoke

The fire and smoke are shown below.

Figure 8: Display of HRRPUV and smoke.
Figure 8: Display of HRRPUV and smoke.

Display the HRR:

  • In PyroSim, click the Plot Thermal Results tool.
  • Select HRR and the results are shown below.
  • Select MLR_TOTAL (Mass Release Rate Total) and the second plot will be generated.
Figure 8: Plot of HRR as a function of time. You can see the ramp to 10s, then the constant value to 30s.
Figure 8: Plot of HRR as a function of time. You can see the ramp to 10s, then the constant value to 30s.
Figure 10: Mass release rate total of fuel. This follows the defined surface parameters.
Figure 10: Mass release rate total of fuel. This follows the defined surface parameters.

Summary

We have demonstrated how to model multiple fuels within the PyroSim framework. The primitive and lumped species must be flagged to always be written to the FDS input file so that they can be referenced by the reactions. The reactions are defined in the the Additional Records section. A supply surface with specified mass flow rate of the fuel species is used to define the burning surface (pyrolysis).

Hints

Some hints for working with reactions:

  • Use the OUT file written by FDS to verify the species and reactions you specified. This output gives the details of primitive species, lumped species, and the gas phase reactions.
  • For multiple fuels, first test each fuel separately and verify it is correct.
  • If you want to start a new model and use existing species and reactions, use Copy/Paste from one model to the other. Select the species in the Record View. 
  • The procedure described in this post will support other complex stoichiometry cases, such as non-simple chemistry fuels or a series of single-step chemical reactions.

Download Input Files

You can download the input files used in this post.

Multiple Fuels Input Files

See all PyroSim tutorials