[FDS-SMV Developer Blog] FDS 6 RC2 and Defining Species in FDS 6

1,510 views
Skip to first unread message

drjfloyd

unread,
Dec 14, 2012, 9:24:47 AM12/14/12
to fds...@googlegroups.com
To all of you who have provided feedback on FDS 6 RC1, thank you.  Based on feedback we have made some changes to inputs, fixed a few bugs, and have now released FDS 6 RC2.  You can download FDS 6 RC2 from the list of all available downloads.   A major set of changes from RC1 to RC2 is the specification of species.  Based on feedback on the inputs for the new lumped species capability, we have removed the SMIX input and moved the definition of lumped species to the SPEC input.

The remainder of this post will be another in our continuing series on topics in the FDS 6 Release Notes.  This post will focus on some significant changes made to species definitions in FDS 6 including the recent changes in RC2.

FDS 2 through the early versions of FDS 5 gave two options to tracking species.  You could define a primitive species that was tracked by FDS (like the water vapor from sprinklers), or you could make use of a reaction progress variable (which we termed at the time the mixture fraction).  In FDS 5.2 we began shifting, under the hood, the tracking of species from the conserved progress variables to a lumped species approach.  A lumped species is simply an equivalent gas species that represents a mixture of gasses that are always transported together in the same ratio.  For example, air can be considered as a lumped species consisting of 79 % N2 21 % O2 (and trace amounts of other gasses).  As input, however, you could still only use primitive species or access predefined lumped species by using a simple REAC line input.  In this case the predefined species were air and products.  The species were defined based upon the fuel you specified and the single-step reaction of:

Fuel + Air -> Products

For example if the fuel was propane you had:

C3H8 + 5 (O2 + 3.76 N2) ->3 CO2 + 4 H2O + 5 (3.76) N2

In this case the Air species would be the N2+O2 mixture on the left hand side of the equation (the actual species also has ambient CO2 and H2O) and the Product species was the mixture of gasses on the right hand side of the equation.

Doing this was motivated by a few factors.  First, by taking this approach we no longer needed to make use of complex state relationships to obtain the mass fractions of gasses.  Instead, simply multiplying the vector of lumped species by a transformation matrix would give the primitive species. Second, there were requests to track toxicant and irritant products (HCl, HCN, etc.) in order to compute FED and FIC. Trying to provide flexibility to add additional species within the progress variable framework would have been more difficult than the lumped species approach. Lastly, there were other development efforts to make the combustion model more flexible (which will be the subject of a future blog post) and those would be aided by a more flexible set of species inputs. 

What does all this mean for you?  If all you wish to do is use the REAC inputs for simple chemistry with the single-step combustion that was in FDS 5, the changes to species will remain under the hood.  Moving beyond the predefined species present in FDS 5, you now have the ability to define your own.  You now have two types of species that you can input, a primitive species (a single gas) or a lumped species.  For example adding the line shown below will cause FDS to track the species H2.

&SPEC ID='HYDROGEN'/

FDS 6 comes with a much larger set of predefined primitive species, but FDS 6 also allows you to define your own species with better control over the properties than in FDS 5.  You can also define the chemistry of the species which will enable FDS to automatically compute is molecular weight and the formula can then be used with the new REAC capabilities. For exampe:

&SPEC ID='CAFFEINE',FORMULA='C8H10N4O2'/

To input a lumped species, you must first define all the primitive species and then define how those species combine to form the lumped species.  For example, the lines below create a lumped species called AIR that consists of 79 % N2 and 21 % O2.  The LUMPED_COMPONENT_ONLY=.TRUE. tells FDS that the primitive species of NITROGEN and OXYGEN are only found in a lumped species and that FDS should not allocate memory to track them separately.:

&SPEC ID='NITROGEN',LUMPED_COMPONENT_ONLY=.TRUE./
&SPEC ID='OXYGEN',LUMPED_COMPONENT_ONLY=.TRUE./
&SPEC ID='AIR', SPEC_ID='NITROGEN','OXYGEN', VOLUME_FRACTION=0.79,0.21/ 

Consider this set of inputs:
  
&SPEC ID='HYDROGEN SULFIDE',LUMPED_COMPONENT_ONLY=.TRUE./
&SPEC ID='H2S-1',SPEC_ID='HYDROGEN SULFIDE'/
&SPEC ID='H2S-2',SPEC_ID='HYDROGEN SULFIDE'/
&SPEC ID='H2S-3',SPEC_ID='HYDROGEN SULFIDE'/

The above defines three lumped species that are all H2S.  Consider a case where you needed to simulate small leaks of H2S from a variety of sources.  If the leaks are small enough that they don't change the normal ambient airflow, then you could simulate multiple leaks at once provided you had a method to distinguish one leak from another.  With the lines above you can easily define a set of species that have the same properties, but are tracked separately.  If you were to use SPEC_ID='H2S-1' on an output, you would just get that species.  If you were to use SPEC_ID='HYDROGEN SULFIDE' you would get the sum of all three of the lumped species.

In addition to the changes discussed above there are three other notable improvements to the &SPEC input.  First, you can now define temperature dependent properties for custom species (FDS 5 limited you to constant properties). Second, the definition of liquid properties has been moved from &PART to &SPEC so that all species data is processed in one location.  Third, we have added the ability to define some simple aerosol properties.  This last was done to support recent efforts in adding aerosol deposition models to FDS (to compute soot deposition).



--
Posted By drjfloyd to FDS-SMV Developer Blog at 12/14/2012 09:24:00 AM

Julio Cesar Silva

unread,
Dec 14, 2012, 10:35:29 AM12/14/12
to fds...@googlegroups.com
Thank you Dr. Floyd for this post!

It fixes all my issues about the linking between SMIX and REAC lines.
It came is excellent time, since I spend my morning struggling with
SMIX parameters in REAC line.

Already beta testing RC2...

Fastastic Job, Thank you again,

Julio Cesar Silva


2012/12/14 drjfloyd <drjf...@gmail.com>:
> --
> You received this message because you are subscribed to the Google Groups
> "FDS and Smokeview Discussions" group.
> To post to this group, send email to fds...@googlegroups.com.
> To unsubscribe from this group, send email to
> fds-smv+u...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

Nikolai Ortiz

unread,
Oct 24, 2013, 10:52:39 AM10/24/13
to fds...@googlegroups.com
Hi. dr_jfloyd

I was trying to make  this example found it in the new FDS Guide (12.2.1 Complex Fuel Molecules, page 128)
 about make a REAC line using Complex Fuel Molecules.
I don't know if it's still yet implemented in the FDS 6 RC3 or if I missing something.



&HEAD CHID='NATURALGAS', TITLE='NATURALGAS' /


&MESH IJK=40,40,24, XB=0,4,0,4,0,2.4 /


&TIME T_END= 1 /


&SPEC ID='NITROGEN', LUMPED_COMPONENT_ONLY=.TRUE. /
&SPEC ID='OXYGEN', LUMPED_COMPONENT_ONLY=.TRUE. /
&SPEC ID='WATER VAPOR', LUMPED_COMPONENT_ONLY=.TRUE. /
&SPEC ID='CARBON DIOXIDE', LUMPED_COMPONENT_ONLY=.TRUE. /


&SPEC ID='AIR', BACKGROUND=.TRUE.,
SPEC_ID(1)='NITROGEN', MASS_FRACTION(1)=0.76274,
SPEC_ID(2)='OXYGEN', MASS_FRACTION(2)=0.23054,
SPEC_ID(3)='WATER VAPOR', MASS_FRACTION(3)=0.00626,
SPEC_ID(4)='CARBON DIOXIDE', MASS_FRACTION(4)=0.00046 /




&SPEC ID='METHANE', LUMPED_COMPONENT_ONLY=.TRUE./
&SPEC ID='ETHYLENE', LUMPED_COMPONENT_ONLY=.TRUE./
&SPEC ID='NITROGEN', LUMPED_COMPONENT_ONLY=.TRUE./
&SPEC ID='CARBON DIOXIDE',LUMPED_COMPONENT_ONLY=.TRUE./


&SPEC ID='natural gas'
SPEC_ID(1)='METHANE', VOLUME_FRACTION(1)=92.2
SPEC_ID(2)='ETHYLENE', VOLUME_FRACTION(2)= 3.3
SPEC_ID(3)='NITROGEN', VOLUME_FRACTION(3)= 3.9
SPEC_ID(4)='CARBON DIOXIDE',VOLUME_FRACTION(4)= 0.6/


&REAC FUEL='natural gas', SOOT_YIELD=0.01 /


&SURF ID='LEAK', SPEC_ID(1)= 'natural gas', MASS_FLUX(1)=1/


&OBST XB=.7,.8,0.7,0.8,0.5,0.6, COLOR='BEIGE' /
&VENT XB=0.8,0.8,0.7,0.8,0.5,0.6 , SURF_ID='LEAK'/


&VENT MB='ZMAX', SURF_ID='OPEN' /
&VENT MB='XMAX', SURF_ID='OPEN' /
&VENT MB='YMAX', SURF_ID='OPEN' /
&VENT MB='XMIN', SURF_ID='OPEN' /
&VENT MB='YMIN', SURF_ID='OPEN' /

&TAIL /


Thanks..
Nikolai.

Craig Weinschenk

unread,
Oct 24, 2013, 10:57:33 AM10/24/13
to fds...@googlegroups.com
Nikolai,

If you are going to create your own species like you have with 'Air' and 'Natural' gas you will also need to create a 'Products' species that balances that reaction. There is no way FDS would know the species yields in the products. Additionally, you do not need to re-define a SPEC for each lumped species it appears in - ie N2 and CO2. Finally, once you have defined your air, fuel, and products, you will need to write the stoichiometric coefficients of the balance lumped species reaction on the &REAC line - which tells FDS how this reaction proceeds.

-Craig


--
You received this message because you are subscribed to the Google Groups "FDS and Smokeview Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fds-smv+u...@googlegroups.com.

To post to this group, send email to fds...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.



--
Craig Weinschenk
Fire Research Division
National Institute of Standards and Technology
www.cweinschenk.com

Nikolai Ortiz

unread,
Oct 24, 2013, 1:21:14 PM10/24/13
to fds...@googlegroups.com
I see..
Well I was relying in the fact that the components were primitive, listed in the Table 11.1. and as in the item 12.2.1 say " ... The lumped fuel, ’natural gas’, can be created using the defined primitive components and subsequently the reaction can be defined using simple chemistry (Section 12.1.1)"

So I thought that the complex chemistry equation did not need  to be used unless you have components not listed in Table 11.1 or if  I have a specific need of a more detailed chemistry equation.

dr_jfloyd

unread,
Oct 24, 2013, 1:27:34 PM10/24/13
to fds...@googlegroups.com
You don't need to define AIR or the components of AIR. You just need the species that make up your fuel gas (and they have to be C,H,O,N only) as shown in 12.2.1. The ability to do this was added after RC3.

Nikolai Ortiz

unread,
Oct 24, 2013, 2:15:58 PM10/24/13
to fds...@googlegroups.com
Ok..
So the code should be..

&HEAD CHID='GASNATURAL', TITLE='GASNATURAL' /

&MESH IJK=40,40,24, XB=0,4,0,4,0,2.4 /

&TIME T_END= 1 /

&SPEC ID='METHANE', LUMPED_COMPONENT_ONLY=.TRUE./
&SPEC ID='ETHYLENE', LUMPED_COMPONENT_ONLY=.TRUE./
&SPEC ID='NITROGEN', LUMPED_COMPONENT_ONLY=.TRUE./
&SPEC ID='CARBON DIOXIDE',LUMPED_COMPONENT_ONLY=.TRUE./

&SPEC ID='natural gas'
SPEC_ID(1)='METHANE', VOLUME_FRACTION(1)=92.2
SPEC_ID(2)='ETHYLENE', VOLUME_FRACTION(2)= 3.3
SPEC_ID(3)='NITROGEN', VOLUME_FRACTION(3)= 3.9
SPEC_ID(4)='CARBON DIOXIDE',VOLUME_FRACTION(4)= 0.6/

&REAC FUEL='natural gas', 
SOOT_YIELD = 0.01
CO_YIELD = 0.02
HEAT_OF_COMBUSTION = 46460. / 

&SURF ID='LEAK', SPEC_ID= 'natural gas', MASS_FLUX(1)=1/

&OBST XB=.7,.8,0.7,0.8,0.5,0.6, COLOR='BEIGE'  /
&VENT XB=0.8,0.8,0.7,0.8,0.5,0.6 , SURF_ID='LEAK'/

&VENT MB='ZMAX', SURF_ID='OPEN' /
&VENT MB='XMAX', SURF_ID='OPEN' /
&VENT MB='YMAX', SURF_ID='OPEN' /
&VENT MB='XMIN', SURF_ID='OPEN' /
&VENT MB='YMIN', SURF_ID='OPEN' /

&SLCF PBZ=2, QUANTITY='TEMPERATURE', CELL_CENTERED=.TRUE. /
&SLCF PBZ=0.6, QUANTITY='TEMPERATURE', CELL_CENTERED=.TRUE. /


&TAIL /

But still doesn't work on FDS 6 RC3,
But will it work on the final release of FDS 6?


sorry I think my english is not good enough ...

Craig Weinschenk

unread,
Oct 24, 2013, 2:27:30 PM10/24/13
to fds...@googlegroups.com
What does not work? I was able to copy that input file and run it with the latest source code and everything looked ok to me. Does this throw back an error? If you think the answer is incorrect, submit an issue tracker.


--
You received this message because you are subscribed to the Google Groups "FDS and Smokeview Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fds-smv+u...@googlegroups.com.
To post to this group, send email to fds...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

dr_jfloyd

unread,
Oct 24, 2013, 3:13:17 PM10/24/13
to fds...@googlegroups.com
As I said in my previous post. The ability to do this was added AFTER RC3

Nikolai Ortiz

unread,
Oct 24, 2013, 3:14:28 PM10/24/13
to fds...@googlegroups.com
Well I Have this error..

ERROR: Must specify fuel chemistry using C and/or H when using simple chemistry

I'm running the RC3 FDS 
data version:

Fire Dynamics Simulator

Version: FDS 6, Release Candidate 3; MPI Disabled; OpenMP Disabled
SVN Revision Number: 14299
Compile Date: Thu, 20 Dec 2012

dr_jfloyd

unread,
Oct 24, 2013, 3:18:36 PM10/24/13
to fds...@googlegroups.com
Yes it doesn't work in RC3 because as stated previously, that ability was added after RC3 was released.

Craig Weinschenk

unread,
Oct 24, 2013, 3:19:54 PM10/24/13
to fds...@googlegroups.com
Sorry, Jason. I missed that comment.


On Thu, Oct 24, 2013 at 3:18 PM, dr_jfloyd <drjf...@gmail.com> wrote:
Yes it doesn't work in RC3 because as stated previously, that ability was added after RC3 was released.
--
You received this message because you are subscribed to the Google Groups "FDS and Smokeview Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fds-smv+u...@googlegroups.com.
To post to this group, send email to fds...@googlegroups.com.

Nikolai Ortiz

unread,
Oct 24, 2013, 3:26:37 PM10/24/13
to fds...@googlegroups.com
Ok.. Clear now..

Thanks a lot, JFloyd and Craig, for your time and help.

shostikk

unread,
Oct 25, 2013, 2:41:48 AM10/25/13
to fds...@googlegroups.com
Nikolai, RC4 binaries are out now. Go ahead and try your input now.

Simo

Nikolai Ortiz

unread,
Oct 25, 2013, 11:24:01 AM10/25/13
to fds...@googlegroups.com
Wow.. Thanks a lot.

my intend was simulate NAPHTA in a JetFire and compare some results with a PHAST simulation, and my first steps are make the compound similar to the PHAST's one.
I write the working code here, maybe can help to another fellow who wants to make something similar.

&HEAD CHID='jetfire4', TITLE='jetfire NAFTA' /

&MESH IJK=100,40,24, XB=0,10,0,4,0,2.4 /

&TIME T_END=2 /


&SPEC ID='N-PENTANE', FORMULA='C5H12', RADCAL_ID='N-HEPTANE', ENTHALPY_OF_FORMATION =-172.9,
LUMPED_COMPONENT_ONLY=.TRUE./

&SPEC ID='N-HEXANE' , LUMPED_COMPONENT_ONLY=.TRUE. /
&SPEC ID='N-HEPTANE' , LUMPED_COMPONENT_ONLY=.TRUE./
&SPEC ID='N-OCTANE' , LUMPED_COMPONENT_ONLY=.TRUE. /
&SPEC ID='N-DECANE' , LUMPED_COMPONENT_ONLY=.TRUE. /
&SPEC ID='BUTANE' , LUMPED_COMPONENT_ONLY=.TRUE. /

//THIS IS A NAPHTA APROX VOLUME FRACTION
&SPEC ID='NAFTA',  
SPEC_ID(1)='N-PENTANE', VOLUME_FRACTION(1)=45,
SPEC_ID(2)='N-HEXANE', VOLUME_FRACTION(2)=24,
SPEC_ID(3)='BUTANE', VOLUME_FRACTION(3)=14, 
SPEC_ID(4)='N-HEPTANE', VOLUME_FRACTION(4)=9, 
SPEC_ID(5)='N-OCTANE', VOLUME_FRACTION(5)=5,
SPEC_ID(6)='N-DECANE', VOLUME_FRACTION(6)=3,
&REAC FUEL = 'NAFTA'/

&SURF ID='LEAK', SPEC_ID(1)= 'NAFTA', MASS_FLUX(1)=500/


&OBST XB=0.1,0.2,1,1.1,1,1.1, COLOR='BEIGE'  /
&VENT XB=0.2,0.2,1,1.1,1,1.1 , SURF_ID='LEAK'/

&VENT MB='ZMAX', SURF_ID='OPEN' /
&VENT MB='XMAX', SURF_ID='OPEN' /
&VENT MB='YMAX', SURF_ID='OPEN' /
&VENT MB='XMIN', SURF_ID='OPEN' /
&VENT MB='YMIN', SURF_ID='OPEN' /

&SLCF PBX=5, QUANTITY='TEMPERATURE' CELL_CENTERED=.TRUE. /
&SLCF PBX=10, QUANTITY='TEMPERATURE' CELL_CENTERED=.TRUE. /
&SLCF PBX=2, QUANTITY='TEMPERATURE', CELL_CENTERED=.TRUE. /
&SLCF PBX=0.2, QUANTITY='TEMPERATURE', CELL_CENTERED=.TRUE. /

&OBST XB=4,4.1,1,1.1,1,1.1, COLOR='BEIGE'
&DEVC ID='flux', QUANTITY='GAUGE HEAT FLUX', XYZ=4,1,1,
IOR=-1 /

&TAIL /

yashwanth B L

unread,
Apr 12, 2014, 6:12:00 PM4/12/14
to fds...@googlegroups.com
Hello 

I am using an input file where I have all species being explicitly tracked....


 &SPEC ID = 'NITROGEN',MASS_FRACTION_0 = 0.77, BACKGROUND = .TRUE.     / 
&SPEC ID = 'WATER VAPOR',MASS_FRACTION_0 = 0.00   /
&SPEC ID = 'FUEL1',MASS_FRACTION_0 = 0.00, FORMULA='C3H8'  /
&SPEC ID = 'WATER VAPOR COMB', MASS_FRACTION_0 = 0.00, FORMULA='H2O', ENTHALPY_OF_FORMATION = -285.0E3/
&SPEC ID = 'OXYGEN', MASS_FRACTION_0 = 0.23  /
&SPEC ID = 'CARBON DIOXIDE',MASS_FRACTION_0 = 0.00   /


&REAC ID                 =  'Main combustion reaction' 
      FUEL               =  'FUEL1'
      A                  =  1D18
      E                  =  0.0
      SPEC_ID_N_S        = 'NITROGEN', 'WATER VAPOR ', 'FUEL1', 'WATER VAPOR COMB', 'OXYGEN','CARBON DIOXIDE'
      N_S                =  0.0, 0.0,  0.1, 0.0, 1.65, 0.0
      SPEC_ID_NU         = 'NITROGEN', 'WATER VAPOR ', 'FUEL1', 'WATER VAPOR COMB', 'OXYGEN','CARBON DIOXIDE'
      EQUATION           = 'FUEL1+5*OXYGEN=3*CARBON DIOXIDE+4*WATER VAPOR COMB' 
      HEAT_OF_COMBUSTION =  44000.
      SUPPRESSION        = .FALSE. /

I am using FDS6 rc4 version. I am interested in understanding more about the equations involved and models.
Now since this no more uses any lumped species approach or simplified progress variable what approach is used in my case ? Or this does not require anything at all?
As I have read the tech. ref. were it just says the 'separate transport equations are solved'. Also I'd like to understand as to why are we using an assumed pdf in the mixing controlled combustion model. Any suggested reading would be helpful. 



Randy McDermott

unread,
Apr 12, 2014, 6:16:17 PM4/12/14
to FDS and Smokeview Discussions
Transported PDF methods are expensive.  Pretabulated prescribed PDF methods are complicated, too.  Read Norbert Peters, Turbulent Combustion or Poinsot and Veynante, Theoretical and Numerical Combustion.


--
You received this message because you are subscribed to the Google Groups "FDS and Smokeview Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fds-smv+u...@googlegroups.com.
To post to this group, send email to fds...@googlegroups.com.

yashwanth B L

unread,
Apr 12, 2014, 6:26:37 PM4/12/14
to fds...@googlegroups.com

I agree with your answer and thank you for suggesting me .
Reply all
Reply to author
Forward
0 new messages