[FLASH-BUGS] Compiler-dependent refinement bug

Mark L Richardson Mark.L.Richardson at asu.edu
Thu Sep 1 17:52:42 CDT 2011


Hello,
   this week I ran into a bug in Flash 3.2 (and later confirmed present in
Flash 4.0) where parents are not averaging their children values correctly
during a restriction step resulting in an average value of 1.5**NDIM times
higher across a whole block. The ramifications of this is that when a few
blocks derefine the density and pressure jump inside by this factor (which
ultimately dictates that a derefinement shouldn't happen, stopping smooth
regions from ever derefining), and also flux values from high-resolution
regions to low-resolution regions isn't correct.

Fortunately this is a very specific and contrived bug which isn't in any way
obvious due to the code itself. Instead, it has only demonstrated itself
with ifort v10.1 with the -O2 flag on, running on a Mac OSX 10.5. The same
compiler on the same computer with -O0 and -O3 runs correctly.

Attached is a simple derefinement test problem you can run if you're
concerned that this bug has been happening to you. It sets the medium
everywhere constant and after every ~6 timesteps it derefines. Just put in
your SimulationMain directory and the setup is as usual. If you see that the
density jumps by a factor of ~1.5**NDIM when there is derefinement then try
changing your optimization flag or your intel fortran compiler to a newer
version.

Take care,
   -Mark

-- 
Mark Richardson,
Mark.L.Richardson at asu.edu
PSF 271
School of Earth and Space Exploration
Arizona State University
480 318-4449
www.public.asu.edu/~mlricha4 <http://www.public.asu.edu/%7Emlricha4>


More information about the flash-bugs mailing list