[FLASH-BUGS] FPE in 3D mhd setup

From: Sean Matt (matt@physics.mcmaster.ca)
Date: Fri Feb 21 2003 - 12:58:11 CST

  • Next message: Timur Linde: "Re: [FLASH-BUGS] FPE in 3D mhd setup"

    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











    This archive was generated by hypermail 2b30 : Fri Feb 21 2003 - 12:59:44 CST