Closed rpeacoc closed 5 years ago
The two supplied input files are an original .csv format input file and a newer namelist input file created from that original .csv file. If you run the .csv input file with CFAST 7.3, it fails as well so it's not an issue with the namelist input. We can just focus on the .csv input file for now and use only the Test1_v7.1.txt (.in) file for testing.
Looking at the oxygen value in _s.csv, it seems that somehow CFAST 7.3 has 100 times less oxygen to start up with for the simulation.
That sounds like a percent versus fraction conversion
Sent from my iPhone
On Oct 5, 2018, at 2:50 PM, Andy Tam notifications@github.com wrote:
Looking at the oxygen value in _s.csv, it seems that somehow CFAST 7.3 has 100 times less oxygen to start up with for the simulation.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
I don't see the difference by a factor of 100. Are you running both with -v (which should convert to mole fraction, O2 ~ 0.20) or without -v (which leaves species in volume percent, O2 ~ 20%).
Last commit that actually works with this file is 8279e214 on 12/22/17. Between there and 3ee80214 on 4/3/18, this file gives a DASSL error at 640-650 s. Beginning with 3ee80214, it runs again, but gives an incorrect answer.
Here's a simpler example that still works in 7.2.4 and fails in 7.3.0 HiHRR.txt
I went into the code again and I think the discrepancy from the two versions is caused by the new lines added into the chemistry subroutine within fire.f90. They are:
if (-net_o2 > o2_available) then
factor = -o2_available/net_o2
pyrolysis_rate_constrained = factor*pyrolysis_rate_constrained
hrr_constrained = factor*hrr_constrained
net_fuel = factor*net_fuel
net_o2 = factor*net_o2
net_co2 = factor*net_co2
net_co = factor*net_co
net_h2o = factor*net_h2o
net_hcl = factor*net_hcl
net_hcn = factor*net_hcn
net_soot = factor*net_soot
net_soot_flaming = factor*net_soot_flaming
net_soot_smolder = factor*net_soot_smolder
end if
So, if you comment out the factor and make it to be factor = 1._eb. The results from CFAST 7.3.0 will be similar to the older version of CFAST.
I rethink a little bit and the output difference could be due to change made on the conversion in the output spreadsheet. So, please kindly ignore them.
This actually seems to be correct behavior. Latest version added code to make sure the combustion is better consistent with that available in the plume rather than just in the layer. If the heat of combustion is wildly inconsistent with the chemical formula, the resulting consumption of oxygen mass can lead to underventilated burning. In this test case, changing the heat of combustion to be consistent with the chemical formula (methane) makes the problem go away.
Conversely, changing the chemical formula to be more consistent with the input heat of combustion rightly leads to underventilated burning.
Still verifying upper layer burning in this case.
Prior to 7.3, the burning rate at the lower oxygen limit was based on the oxygen concentration in the lower layer alone. In 7.3, it was changed to checking both the layer oxygen concentration and the actual amount of oxygen in the plume for burning. This fixed a problem with the lower layer oxygen concentration attempting to go below zero in severely oxygen limited cases. The fire still burns, just not as much from the original lower layer plume. The change is by design.
The two attached cases give very different answers going from version 7.1 to 7.3. There seems to be plenty of oxygen in the compartment so it's not clear why it's limiting burning in the room and creating a door jet fire with 7.3.
Test1_v7.1.txt Test3_v7.3.txt