[FLASH-BUGS] FPE in 3D mhd setup

Timur Linde t-linde at uchicago.edu
Mon Feb 24 21:58:43 CST 2003


FIXED

This is not a bug, but rather a failure due to a fairly severe
initial condition. A simple if statement with a subsequent
enforcement of lower density bound seems to have fixed the
problem.

I have asked people at McMaster to keep experimenting with
this setup and let us know if it breaks anything else.

Timur

On Fri, 21 Feb 2003, Sean Matt wrote:

> Hello,
> 
> 	We have been having a few problems getting a new 3D mhd test
> problem setup to run.  We am getting a floating point exception (FPE)
> crash, as well as bad results (before the crash).  We are running on Tru64
> (OSF1 V5.1) using a Compaq fortran compiler (V5.5-1877-48BBF).
> 
> 	The test is the spin down of a magnetic rotating disk via the
> transport of torsional alfven waves along field lines threading the disk.  
> Our setup files are attached to this email; please let me know if you have
> a problem receiving them.  There is an analytical solution for this
> problem (see references listed in Config file), and we think it will be an
> excellent test of the FLASH mhd.
> 	Earlier, we have run the problem using the /hydro module, and with
> no B fields.  The initial setup is a dense, rotating cylinder in a cold
> ambient medium.  The hydro setup seems to work fine, and as the system
> evolves the disk spins apart, as it should (there is nothing keeping it
> together).
> 	Currently, we have switched to the /hydro/mhd module, but 
> initialize magx, magy, magz to zero.  When we run, we get a FPE.  The 
> error occurs after 13 timesteps, in the current setup.  If we initialize 
> magx, magy, magz to 1.0e-10 or to 1.0, the FPE still occurs, though 
> usually at a slightly different timestep.
> 	Using dbx, we've been able to track down the FPE.  It occurs in 
> the routine /source/hydro/mhd/mhd_fluxes.F90 (around line 76) at the 
> statement:
> 
> 	s = sqrt(Um(idn,i)/Up(idn,i-1))
> 
> We found, that at the time of the crash, one of the values of Um and Up
> was positive, while the other was negative.  This results in the attempted
> calculation of the square root of a negative number, hence the FPE.  Um
> and Up are passed in from mhd_sweep.F90 just after being initialized by
> the routine mhd_interpolate.  We gather that Um and Up are
> "time-interpolated data" at the left and right interfaces of the cell.  
> Since the index "idn" refers to the gas density, we're not sure that these
> should ever be negative (though we are only just learning about the 8-wave
> solver).  We were unable to track the problem further.  This is our first 
> major concern.
> 	Second (this may or may not be related to the above), we have
> looked at output data prior to the FPE crash at 13 timesteps.  The data
> doesn't look very good (esp. when compared to the hydro results of the
> same setup at the same time).  In particular, the density in the cylinder,
> which is initially constant, quickly takes on a "mottled" appearance
> (meaning that the values seem to fluxuate in space about the correct
> value).  The pressure in the cylinder also has the wrong value and is also
> mottled.  It is possible that whatever causes the FPE, also causes this
> effect.  We really have no idea.  If this is an actual bug, it would be
> crucial to fix.
> 	We would appreciate any insight you may have about these problems.  
> Please let us know if you require more information.
> 
> 
> 		-Sean
> 




More information about the flash-bugs mailing list