[FLASH-USERS] Negative/zero densities and internal energies after filling gc

Klaus Weide klaus at flash.uchicago.edu
Wed Apr 29 00:43:03 EDT 2009


On Tue, 14 Apr 2009, Seyit Hocuk wrote:

> Hi Anshu,
> 
> Thanks for your reply. Of the solutions you proposed for the warnings (not on
> the crash), I have a few remarks.
> 
[Anshu:]
> > To reduce or suppress the
> > annoying messages, you could to either of two things:
> > 1) Remove or comment out the line '#define DEBUG_CONSCONV'
> >  in gr_sanitizeDataAfterInterp.F90.  You should then see only
> >  messages with one line per block / variable on standard output, no
> >  dumping of the blocks contents.
> > 2) Change gr_sanitizeDataAfterInterp so it only checks leaf blocks, not
> >  leaf and parent blocks. That is, you might suppressing the checking
> >  or the output if (nodetype(block)==2) .
> > 
> 
> Doing 1) still gives the warnings although like you say at a reduced amount.
> With 2) you must mean if "nodetype(block)==1" for the leaf/child blocks.

Seyit,

That part of Anshu's message should have read:
> > 2) Change gr_sanitizeDataAfterInterp so it only checks leaf blocks, not
> >  leaf and parent blocks. That is, you might suppress the checking
> >  or the output if (nodetype(block)==2) .

"Suppressing checking/output if (nodetype(block)==2)" was intended to mean 
"doing the checking/output only if (nodetype(block)==1)". Sorry if this 
was unclear (I originally wrote that part of the msg.)

> However, that also does not completely remove the issue. The values can still
> fall below the "small" values. I will still stick with the old
> "convertToConsvdForMeshCalls" parameter.

I recommend that you disable convertToConsvdForMeshCalls, enable
convertToConsvdInMeshInterp (as per default), and see my previous
message from earlier today for a way to avoid misleading warnings;
in particular, change gr_hgSolve.F90 as indicated there.

If, after doing that, you again see warnings about min. dens (or ener, or 
eint) values below their "small" lower thresholds, then this would be
reason for real concern - except PERHAPS if it happens only occasionally
and/or there is only slight undershooting of the thresholds, not negative
values.  Your should then try to understand why interpolation during guard
cell filling would generate such values in your simulations, rather than
just trying to find a combination of runtime parameters that avoids the
checks being done.

Klaus



More information about the flash-users mailing list