Closed gforney closed 9 years ago
Set the bounds in Smokeview to be the same. Glenn has been experimenting with
different strategies of handling the colorbar.
Original issue reported on code.google.com by mcgratta
on 2010-05-10 17:47:56
This is not just a color bar issue. My global max temp is 265 C.
Original issue reported on code.google.com by randy.mcdermott
on 2010-05-10 17:50:11
Perhaps I should mention that I edited the makefile to set FCOMPL=mpif90 for
mpi_intel_linux_64. Using mpif77 yielded a lot of complaints.
Original issue reported on code.google.com by jukka.vaari@vtt.fi
on 2010-05-10 18:04:44
Kevin to the rescue...
The problem was that ICFT was not being initialized in COMBUSTION_MF. SVN 6194 works
for me for all serial, mpi, 32, and 64 bit versions.
So, first, please Jason and Jukka have a look at how we added ICFT and make sure it
is what you want.
Next, this makes me curious why we don't just use COMBUSTION_MF2. It seems like
slowly moving things over to COMBUSTION_MF is error prone. Recall DYF was not being
initialized either.
Lastly, it seems to me that DYF in the extinction model should be based on the
turbulent mixing model, not complete combustion. This is why I was previously
playing with moving the DYF calc to before SUPPRESSION (see SVN 6142). Maybe this
will work now. Please have a look at this and see if you agree.
Original issue reported on code.google.com by randy.mcdermott
on 2010-05-10 22:08:52
ICFT looks fine. I'm not sure DYF should be based on the mixing. We are looking to
compute when a unit mass of fuel burns if the mass of diluent gasses present will
keep a flame temperature from being reached.
Suppression was moved to _MF from _MF2 rather than the other way around since there
were more changes to the rest of _MF that weren't in _MF2.
Original issue reported on code.google.com by drjfloyd
on 2010-05-11 12:19:27
The flame temperature that is possible depends on the fuel that CAN burn. It can't
burn if it can't mix.
Original issue reported on code.google.com by randy.mcdermott
on 2010-05-11 12:29:23
I think I'm with Randy regarding DYF. But then, this will need to be tested. Sandia
test 24 with 6 cm seems to work with the Q_BOUND block moved before IF_SUPPRESSION.
But we need under-ventilated test cases.
If we go for the single-cell suppression model, then the SUPPRESSION_SEARCH loop
should be removed because it just eats CPU.
Original issue reported on code.google.com by jukka.vaari@vtt.fi
on 2010-05-11 12:39:00
Yes, if there is zero mixing then there is no combustion. But once the fuel and
"air" mix, we are just looking to see if the amount of diluent gasses in the "air"
prevent a flame temperature for being reach for the amount of fuel that does burn.
I
guess I am not sure how you propose to do this. Say we have a grid cell that is 1000
kg of air 1 kg of fuel and the mixing time is such that 100 % of the fuel mixes over
the time step. Are you proposing we then base the extinction on the total mass of
gasses in the cell in which case there would be no-combustion as 1 kg of fuel would
not be able to raise 1000 kg of air to a flame temperature.
Original issue reported on code.google.com by drjfloyd
on 2010-05-11 12:47:59
I don't understand. DYAIR is the stoichiometric value of the "air" mixture, right?
This depends on DYF. We are not proposing to base extinction on the 1000 kg of air.
We are just saying to compute DYF first, which may be limited by either O2 or
mix_time. They see if burning that amount of fuel in a stoichiometric mixture with
"air" can raise the temp above critical.
Original issue reported on code.google.com by randy.mcdermott
on 2010-05-11 12:55:35
I guess we just have to see if it works.
Original issue reported on code.google.com by drjfloyd
on 2010-05-11 13:06:50
Is there any documentation for EXTINCTION2 (COMBUSTION_MF2)? I'd like to look it over
(without having to translate the source if possible).
Original issue reported on code.google.com by williamson.justin.wade
on 2010-05-11 13:40:25
Reverse psychology? I may have changed my mind.
Consider two situations with the same fuel, O2, and diluent concentrations, and for
the sake of argument let's say we know that we are near "close" to the extinction
limit. The only difference in the two cases is that for one mix_time >> dt and for
the other mix_time < dt. That is, in the first case mixing is slow (laminar -- low
strain) and in the second case mixing is fast (turbulent -- high strain).
It seems to me that high strain case should extinguish but that a flame kernel is
possible in the low strain case.
Looking at the criterion in EXTINCTION2 I presume that the greater DYF is the more
likely the flame is the burn. If that is true, then using DYF based on EDC gives the
opposite trend to what I described above: if mix_time is large, DYF is small.
Original issue reported on code.google.com by randy.mcdermott
on 2010-05-11 13:44:16
Justin,
Nothing yet. We are all working from the source... very much in development mode.
Original issue reported on code.google.com by randy.mcdermott
on 2010-05-11 13:45:39
Jason, Jukka -- note that I made a mistake in my Comment 12. High strain SHOULD
extinguish... Comment 13 is fixed.
Original issue reported on code.google.com by randy.mcdermott
on 2010-05-11 13:51:41
So one possible excercise would be to set up a 2D counterflow flame.
Original issue reported on code.google.com by jukka.vaari@vtt.fi
on 2010-05-11 14:00:19
The intent of extinction2 was just to form a stoichiometric mixture of Y_FUEL and
Y_AIR (really all other non-fuel gasses) and see if a flame temperature could be reached.
If we are fuel lean, that mixture is the fuel mass plus that portion of the air mass
required to burn it. If we are fuel rich that mixture is the air mass plus that mass
of fuel that could be burned.
Original issue reported on code.google.com by drjfloyd
on 2010-05-11 14:25:50
If you are fuel rich, shouldn't the excess fuel be treated as a diluent?
Original issue reported on code.google.com by randy.mcdermott
on 2010-05-11 14:31:18
Randy,
You're right that DYF would be small when mix_time is large, but DYAIR would be
comparably small because they are proportional. My first glance at the expression you
have to define the react/no-react, the EDC factor would cancel out and have no effect.
The real thing to be concerned about with the rate of mixing is its impact on the
critical flame temperature.
Original issue reported on code.google.com by williamson.justin.wade
on 2010-05-11 14:35:27
On #18
We want to be able to deal with coarse grids. If we have a grid cell near a burner
that is fuel rich surrounded by grid cells that are basically ambient air, would we
not combustion want to occur in that cell?
Original issue reported on code.google.com by drjfloyd
on 2010-05-11 14:42:14
This is why I think our criterion somehow needs to be a function of strain rate
(inverse of mix_time). In the case you describe, if there is low strain then a flame
kernel may propagate, but if the mixing is vigorous don't you think the excess fuel
would quench the flame?
Justin -- You are right about the cancellation of EDC mix_time. I should have seen
this... thanks.
Original issue reported on code.google.com by randy.mcdermott
on 2010-05-11 14:51:33
Good point on the strain.
Original issue reported on code.google.com by drjfloyd
on 2010-05-11 15:01:08
Jason,
This is the fundamental problem with the fire point theory of extinction. It ignores
the impact of strain. If the strain rate at the interface between the fuel rich
injector and the ambient air is high, combustion will not occur. You would have to
move your ignition source away from the high strain region in order to get ignition.
The variables that define extinction are not just limited to composition and
temperature. A general list of the variables is:
1. Composition (mass fractions of reactants and diluents)
2. Initial temperature
3. Strain rate
4. Fuel chemistry
5. Local radiation losses (mostly due to soot)
6. Local conduction losses (cold wall interactions, water droplets)
The current model (basically equivalent to fire point theory) eliminates variables
3-6.
Original issue reported on code.google.com by williamson.justin.wade
on 2010-05-11 15:01:36
Justin,
I am sure you appreciate this, but keep in mind that we want to stay as simple as
possible.
1. Fuel chemistry is out as a parameter in the near term.
2. I don't see an easy way to handle conduction, other then a specified loss term,
if, say, you knew you were looking at surface ignition.
2. Radiation losses could be accounted for rather simply if we computed Q first and
took a fixed loss.
3. Strain may be easy to account for by considering a simple relation such as: MF =
f(mix_time,Y_F_0,DYF) and using MF*H_F_0 as the mass for fuel considered. Similar
relations could used for air.
Just some thoughts to consider for the future. Now that the bug is fixed, I am
actually eager to see how the plumes look with the current E2 model.
Original issue reported on code.google.com by randy.mcdermott
on 2010-05-11 15:15:51
Justin,
General FDS development philosophy is to start simple and make more complex. Up
until this routine we are discussing, FDS did extinction assuming pure fuel mixing
into pure air (very simple). When you have gasses like water vapor present, this
doesn't work as c_p water >> c_p air. Hence this new routine. We have taken a very
simple approach and added the complexity of accounting for the gasses that are
actually there. So question 1 is are we at least doing that correctly?
If the answer is no, not much point in adding more logic to something that is already
broken.
If the answer to that is yes, then lets ask question 2 of what additional complexity
do we want to add, keeping in mind cost (time + memory) vs. gain in predictive
capability and whether or not the additional complexity can be supported at the very
large range of length scales people use FDS for.
Jason
Original issue reported on code.google.com by drjfloyd
on 2010-05-11 15:16:58
Jason,
I agree with you. I'm not trying to suggest that you create a perfect extinction
model. What you have here is appropriate from what I can tell. My list of parameters
is written almost in order of importance, and degree of ease of implementation.
1. Composition - You have this one nailed down pretty well, including specific heats.
2. Temperature - Same.
3. Strain rate - Randy is correct. Since you have mix_time, you basically have all
that you need to create a functional relationship for the strain rate (scalar
dissipation rate).
4. Fuel chemistry - you are correct to ignore this for now, the data isn't there. You
do have to use some simple chemistry relationships in order to define the relative
importance of the strain rate, but it's best to just calibrate the model for a single
fuel and state that as a limitation.
5. Radiation - You already have a simple radiation sub-model (constant radiative
fraction and radcal gas phase emission). The problem is the combined effects of
radiation and strain rate are non-trivial.
6. Conduction - You already calculate the heat transfer from gas phase to
solids/droplets, but again this is non-trivial.
When I did my thesis research, I found that composition, temperature, strain rate and
radiation all have comparable effects on extinction. Strain rate should be the next
target for addition to the model, followed by radiation.
Original issue reported on code.google.com by williamson.justin.wade
on 2010-05-11 17:08:23
The discussion above deals with the question 'do air and fuel have the time to mix
during a time step', and it stops when mix_time<=dt. Consider however what happens
if
mix_time << dt and we have a highly turbulent situation. In this case the fuel mixes
not only with a stoichiometric amount of air, but also with plenty of excess air. Due
to turbulence, a linear flame front becomes a curved flame front. In a 2D case it is
straightforward to show that the amount of excess air at each point of the flame
front is directly proportional to the local strain rate. This excess air needs to be
heated up to critical flame temperature in order for combustion to proceed.
Original issue reported on code.google.com by jukka.vaari@vtt.fi
on 2010-05-11 19:11:19
On #26
from my perspective 6 should be 4 or 5. I'm dealing with water suppression. One case
I have been working with is the extinguishment of a cup-burner flame by ultra-fine
water mist. The experiments available suggest that droplets might completely vaporize
before entering the reaction zone so the current gas-phase suppression algorithm
should be able to deal with it (if not, there's an issue with vaporization). But I
have seen liquid pool fires put out with fire hoses in open air with essentially all
water hitting the flame, not the liquid surface. There is the question of liquid
droplets passing through the flame sheet: how should the suppression algorithm deal
with that.
Original issue reported on code.google.com by jukka.vaari@vtt.fi
on 2010-05-11 20:16:41
There are a lot of complex things that happen when you spray water onto a flame.
Particularly when you use a fire hose, there is a substantial amount of momentum and
entrainment with the spray. This will increase the turbulence and the strain rate,
along with the water vapor diluting the reactants and droplets passing through the
flame. The aspect that we know the least about is the interaction between the droplet
and the flame sheet (a cold wall interaction). The other aspects, we have some prior
knowledge to guide us on what to do.
A droplet interaction with a flame sheet is very much a case dependent issue (only
happens when we simulate water suppression). Radiation and strain rate, on the other
hand, have an impact on every fire scenario.
Original issue reported on code.google.com by williamson.justin.wade
on 2010-05-11 22:39:04
Closing. No activity.
Original issue reported on code.google.com by randy.mcdermott
on 2011-08-26 19:44:16
Original issue reported on code.google.com by
randy.mcdermott
on 2010-05-10 17:37:19_
_