firemodels / fds

Fire Dynamics Simulator
https://pages.nist.gov/fds-smv/
Other
644 stars 616 forks source link

Add COMB hooks for HCN with 2-step model #7312

Open rmcdermo opened 5 years ago

rmcdermo commented 5 years ago

Kevin, In the new UL project, they will be measuring HCN in the compartment, which will be at various ventilation conditions. It would be nice to add HCN to the 2 step model. Obviously there would need to be some kind of parameter similar to the FUEL_H_TO_H2_FRACTION. Thanks.

shostikk commented 3 years ago

HCN hooks could also be used in parallel to CO_YIELD in the single-step reaction. I think the fact that HCN definition is a bit tricky is biasing FSE evaluations to unsafe direction. HCN may be dominating toxicant in some cases, and the fact that we do not provide that as simple yield gas, may be affecting the state of the FSE field in very large extent.

mcgratta commented 3 years ago

Do you have a good reference for this? If the N in HCN comes from N in the fuel, I think the stoichiometric algebra would be simple. If the N comes from the AIR, a bit trickier.

drjfloyd commented 3 years ago

HCN comes from the fuel. In well ventilated conditions a lot of the fuel N recombines into N2.

shostikk commented 3 years ago

Yes, yield is ventilation dependent. But so is CO. At least we should make it easier for engineers to include HCN. FED algorithm should recognize it straight away.

Now, I make my students use lines like below, and that makes a big difference for FED.

`&SPEC ID = 'PROPANE' / &SPEC ID = 'HYDROGEN CYANIDE' / &SURF ID = 'FIRE' COLOR='RED' TAU_MF(1)=-104. SPEC_ID(1)='PROPANE' MASS_FLUX(1)=0.0436 TAU_MF(1)=-104.
SPEC_ID(2)='HYDROGEN CYANIDE', MASS_FLUX(2)=0.000436 TAU_MF(2)=-104. /

&VENT SURF_ID = 'FIRE' XB = 1,2,-0.5,0.5,0,0, IOR = 3 / &REAC FUEL = 'PROPANE' SOOT_YIELD = 0.01,CO_YIELD = 0.01 / `

mcgratta commented 3 years ago

Jason, do you want to take a crack at this -- adding HCN_YIELD to SIMPLE_CHEMISTRY? Is this an input that would only be valid if the fuel molecule has N in it?

rmcdermo commented 3 years ago

I would first take N from fuel molecule, then from Air.

What about the case where the solid that pyrolyzes has N, but we use propane for the surrogate fuel gas?

shostikk commented 3 years ago

I think the use of CO_YIELD, and HCN_YIELD in the future, is quite unconnected from the actual fuel chemistry. This is the engineering method to model toxicity. Most cases I would not care what the fuel actually is, as long as it is something close enough, and just want to plug in different HCN_YIELD values for the FED analysis.

rmcdermo commented 3 years ago

Simo, I think we are saying the same thing. But in order to get things balanced, the N needs to come from somewhere. N2 is a good reservoir for that.

drjfloyd commented 3 years ago

I think this should only be valid for fuels with N as that is the physical process. This will be the same as we do now for CO and soot where we throw an error if there isn't enough C.

drjfloyd commented 3 years ago

Here is an IAFSS paper on HCN: https://iafss.org/publications/fss/9/1117/view/fss_9-1117.pdf

rmcdermo commented 3 years ago

I don't think this addresses Simo's concern. We have a long list of available fuels in FDS with C, very few with N. If we are going to make this easy on the user, we need to include those surrogate fuels that can lead to HCN toxicity.

rmcdermo commented 3 years ago

Jason, Are you saying you'd just have the user enter a fuel via FORMULA with a composition taken from Table 1 of the paper? I think something like that could work.

mcgratta commented 3 years ago

We can certainly add more fuels with N, but the user still can specify a fuel using the FORMULA input parameter.

mcgratta commented 3 years ago

In scenarios where toxicity is an issue, detailed fuel properties like those for listed species probably do not matter. The basic stoichiometry of the fuel molecule and yields matter.

drjfloyd commented 3 years ago

Yes, A user would just use the current logic of C,H,O,N or FORMULA. Lots of people now go to the SFPE handbook to get an approximately chemical formula for nitrogen containing materials (like wood). Just right now all the N goes N2. Now some of it would go to HCN.

I can also look into the JANAF and NASA tables and see what I can find for N containing compounds that might act as good surrogates for actual fuels.

shostikk commented 3 years ago

OK, I originally was thinking the stoichiometry and N mass balance would not matter at all, like what Randy was saying, but I also see the point of requiring the user to define a fuel which actually contains N, and making sure the yield is not unphysical. Very good.

If this will work, we should demonstrate this and make attention. I have a big fear that the tool (FDS) has affected the toxicity state of the art of fire engineering much more than what we have imagined. How many engineers have you ever seen defining HCN manually like above?

rmcdermo commented 3 years ago

OK, it sounds like we are in agreement. Let's add HCN_YIELD for post flame capped by the fuel N.

Then, we should still add a hook for 2-step chemistry that should help capture the ventilation effects.

mcgratta commented 3 years ago

The two-step SIMPLE_CHEMISTRY does not require much additional machinery. Follow the C, CO, H2O, H2 logic.

emanuelegissi commented 3 years ago

I confirm that in real world engineering practice I have never seen defining HCN as Simo was showing. I should add that in common cases, the visibility criteria always fails much earlier than toxicity. (Is this due to the underestimation of toxicity?) Anyway, I am very keen on suggesting the addition of HCN_YIELD examples to the Italian fire code, this seems indeed very important. Thank you, Emanuele

drjfloyd commented 3 years ago

When considering occupants we generally are doing modeling in the context of egress. Egress times are not lengthy. A typical visibility criteria is somethin like 10 m to a lit sign which takes about 100 ppm of soot. CO and HCN production is generally low compared to soot unless the fire starts to become under ventilated. If we are assessing something like an atrium where a fire in the atrium will be well ventilated for a long period of time, when we get to 100 ppm of soot we will have under 100 ppm of CO and HCN and those levels are not very hazardous for short periods of exposure.

Note, I agree that adding the yield is a good idea for those cases where it might have an impact. I should have something pushed up for next week.

drjfloyd commented 3 years ago

Added HCN_YIELD to &REAC and FUEL_N_TO_HCN_FRACTION on &COMB. These use the fuel N and not N2 from the air. They will give error messages if CO2 or H2O yields go negative,, if there isn't enough fuel N, or if any of the FUEL_X_TO_Y are not 0 to 1.

rmcdermo commented 3 years ago

Jason, Nice work! I would suggest that the default FUEL_N_TO_HCN_FRACTION=1. In well-ventilated, HCN_YIELD will be close to zero. In under-ventilated we want the 2 step model to give us HCN.

drjfloyd commented 3 years ago

Good point that we should have a reasonable default. I'll look at some of the high equivalence ratio data for HCN and see if it suggests a good default value.

shostikk commented 3 years ago

Great job Jason! I will see if we can generate a verification test. The current FED verification tests use initialized individual tracked species or SMIXes. Can we initialize a constant concentartion of combustion products?

drjfloyd commented 3 years ago

The HCN becomes part of the PRODUCT species (and the INTERMEDIATE PRODUCT species if 2-step is being done). You could make an FED case where you have a fuel with HCN_YIELD and initialize the domain with some amount of PRODUCTS.

drjfloyd commented 3 years ago

The paper above has a sigmoid expression for the amount of HCN made as a function of fuel N for a polymer based on the equivalence ratio. For a generic polymer it tops out at ~0.2 for high equivalence ratios. Polyamide is an outlier at ~0.5. I'll set to 0.2.

rmcdermo commented 3 years ago

Sounds good. Based on Fig 3, in the guide write up I'd note that 0.2 is generally conservative. And point to this paper for other materials.

shostikk commented 3 years ago

The post-combustion yields are now used in FED_CO_HCN test. Not yet in Verification guide. Want to see how everything else runs.

shostikk commented 3 years ago

Expected data can be produced with this script from the _devc file containing gas concentrations fed_co_hcn.zip

shostikk commented 3 years ago

Jason, I am thinking of test cases for the two-step reaction now. Do we have a way to specify/measure the equivalence ratio of a given volume where we initialize temperature, and varying ratio of fuel and oxygen?

rmcdermo commented 3 years ago

If you look in the .out file, each fuel shows the mass and mole stoichiometric ratios. You can use these to specify the ratios of fuel and air to get the equivalence you want.

mcgratta commented 2 years ago

Has there been any progress on this issue?

shostikk commented 2 years ago

Unfortunately no.

mcgratta commented 2 years ago

No problem. This is not a high priority.