firemodels / fds

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

Numerical instability with sprinkler #100

Closed gforney closed 9 years ago

gforney commented 9 years ago
This may be related to Issue 48, but I am having problems with 
sprinklers.  I have attached three input files.  'Simple Test_3.fds' 
creates a compartment with gypsum board walls, no fire, and a sprinkler on 
the ceiling.  THis simulation runs to 600 sec without issue.  In 'Simple 
test_l.fds' I adda 'pine' door and I get a numerical instability at 165 
sec.  In this case I get an induced flow in front of the door which I am 
at a loss to explain.  In 'Simple test 2_2.fds' I remove the sprinkler and 
the simulation runs to 600 sec without crashing (although the air flow 
still appears in front of the door).  Any thoughts as to what might be 
causing this?

Thanks

Original issue reported on code.google.com by spfuss on 2007-07-26 19:22:47


gforney commented 9 years ago
We have been having trouble with water droplets hitting walls. It's a numerical 
problem involving heat transfer from drops to walls causing rapid changes in various

quantities and resulting sometimes in instabilities. We hope to have this fixed 
within about a week, certainly before release.

Original issue reported on code.google.com by mcgratta on 2007-07-27 12:17:11

gforney commented 9 years ago
The instability bug has been fixed in FDS RC7, to be released Aug 8. Please check 
that the bug has been fixed when you download RC 7.

Thanks

Original issue reported on code.google.com by mcgratta on 2007-08-07 14:07:18

gforney commented 9 years ago
Kevin,

I'm no longer generating a numerical instability when the sprinklers begin to 
activate. (RC8)

Dave

Original issue reported on code.google.com by david.mcgill@senecac.on.ca on 2007-08-13 17:40:31

gforney commented 9 years ago
Great - thanks for verifying. K

Original issue reported on code.google.com by mcgratta on 2007-08-13 18:25:56

gforney commented 9 years ago
I am sending you an input file with a spray that generates numerical instability
immediately. From the output I see that the minimum divergence is NaN.

The file was run with fds_mpi_linux on a LINUX cluster. The error occurred after a
few steps t=.34s

Original issue reported on code.google.com by mur@grs.de on 2007-08-16 14:44:33


gforney commented 9 years ago
I am not sure if this is a droplet evaporation problem, or just due to the high 
flowrate and speed.  If I decrease the flowrate it seems to run fine.  If I greatly

increase the vaporization temperature it dies.  

Kevin, what are your thoughts?

Original issue reported on code.google.com by drjfloyd on 2007-08-17 12:28:15

gforney commented 9 years ago
Good diagnosis, Dr Floyd! Wow, 290,000 L/min at 150 m/s droplet velocity! What are 
you simulating? These input parameters are very, very far outside the range of 
parameters for our sprinkler/spray algorithms. Essentially, so much water is 
evaporated in a single time step that the expansion (divergence) reaches unphysical

values.

I will Open the Issue as OnHold, simply so that we can exchange information and come

to some resolution. It could be that the resolution is that FDS simply cannot handle

such a big water source.

Original issue reported on code.google.com by mcgratta on 2007-08-17 13:20:02

gforney commented 9 years ago
I have tested a different problem with dt=0.001 and this helped to avoid the
numerical instability.

The problem I am trying to simulate is well-known: The realistic fuel distribution
on
surfaces after a commercial airplane crash without ignition.

It is the same physics as in a sprinkler, just ballistics.

Original issue reported on code.google.com by mur@grs.de on 2007-08-17 14:17:08

gforney commented 9 years ago
FDS is a low Mach number code.  If velocities get to be ~ 0.3 M or greater, than the

assumptions we make (that compressible effects are not important) break down.  At 
standard temperature and pressure the sound speed is ~ 350 m/s.  Your flow input is

large enough that the gas is being accelerated to the droplet speed by the drag 
force of the droplets.  150 m/s is > 0.3 M.

Original issue reported on code.google.com by drjfloyd on 2007-08-17 14:49:05

gforney commented 9 years ago
During our investigation of the WTC disaster, I simulated the jet fuel sprays via 
nozzles distributed over the various floors of the buildings. I used many nozzles to

get the right total flow rate, but I recall problems due to small droplet sizes and

high velocities. I was basically violating the assumptions upon which FDS is based,

as drfloyd is saying.

Small time steps are masking the real problem -- I think you need to reconsider the

droplet size, velocity, number of nozzles, etc. You may need to make some 
assumptions about what is actually happening in the first few seconds, just like we

often make assumptions to avoid a few seconds of supersonic flow speeds.

I don't think that this is a bug, just a limitation of the physical model. 

Original issue reported on code.google.com by mcgratta on 2007-08-17 20:05:35

gforney commented 9 years ago
I repeated the test case with DT=0.001 and it worked without numerical instability.
I have found that this spray business is very sensitive to the choice of parameters
and I have produced some strange looking results.
I do not know how dt=0.001 affects the time step and I do not know how the time for
the coupled system fds gas dynamics and droplet dynamics is determined.
To the best of my recollection fds is implicit and droplets are Runge-Kutta 4. order.
This would make the whole system critical to the choice of the time step. As you
probably know, the time step of an implicit-explicit system is smaller than the time
step for the explicit system alone. Maybe the whole problem is very fundamental.
By the way, did you ever consider to trat the droplets as a continuum by introducing
a droplet density field the way neutrons are treated in the neutron diffusion equation?

Original issue reported on code.google.com by mur@grs.de on 2007-08-20 18:30:52

gforney commented 9 years ago
The files I uploaded to start this post appear to run fine using RC8.  I have 
encountered numerical instabilities in another case involving sprinklers, however 
reducing the velocity and flow appears to help.

Original issue reported on code.google.com by spfuss on 2007-08-22 15:37:10

gforney commented 9 years ago
The problem with the droplet routine is that the mass and energy transfer is 
calculated droplet by droplet over the course of an entire time step. If the time 
step is very small (dt=0.001 s), the semi-implicit, second order accurate Crank-
Nicolson scheme works well because the background gas temperature, flow velocity, 
etc., are changed each time step. If the time step is large, then you have alot of

droplet evaporation, temperature change, flow drag, etc, all introduced on the gas

phase mesh in a single time step. Instability can result when too much heat or mass

or momentum is introduced in a single step. 

We continually improve the droplet routine, but there are always limits to it. The

idea of a continuum would dramatically increase run times, so we have opted not to

do that. 

To make progress, I would prefer to look at real sprinklers and nozzles operating 
within their design limits. I know that sometimes we use these devices to introduce

a fuel spill, but in those cases the solution might be to spread the flow over 
multiple nozzles that are separated by a few mesh cells.

I am going to close this case. If you still have trouble with a particular type of

sprinkler or nozzle, create a very simple test case and open up a new Issue. Thanks

for your patience and time looking at this issue.  K

Original issue reported on code.google.com by mcgratta on 2007-08-23 15:50:59