[FLASH-BUGS] three bugs in FLASH V2.3

Tomasz Plewa tomek at flash.uchicago.edu
Fri Aug 27 10:06:14 CDT 2004


Andreas -

> 1. io/getPlotVars.F90
> Everytime running FLASH I got the following error message during
> initialization: "Error: variable 'x' not found."

Looks more like a compiler bug to me, but I have failed to reproduce your
problem with

Intel(R) Fortran Compiler for 32-bit applications, Version 8.0   Build 20031016

on Linux. I interchanged calls to trim/lowercase just in case.

> 2. driver/time_dep/flash.F90
> There is a bug described in io/Output.F90:
>
> BUGS: Sometimes, a plotfile is skipped when using tplot to specify
> the interval between sucessive plotfiles. It is unclear why this
> happens.


I remember this problem being fixed in 2.4. Let me know if it persists
in 2.4 for your setup.

> 3. materials/eos.F90
> The documentation for Flash 2.3 says, that for
>
> call eos(...,input)
> the integer input specifies whether temperature (input=1) or
> internal energy(input=2)

It is true that the documentation and some parts of the source code
are incomplete in this respect: input=3 (density, pressure) is
supported across the code.

Regarding temperature dependence on the input value, one should expect
some variation of the final result given the initial value is
perturbed but that final variation should be at the level of accuracy
of the iteration itself or that of the underlying EOS. For tabular EOS
like Helmholtz, the accuracy is no better than perhaps 1e-8 and asking
for accuracy better than that makes no sense (it also offer some
potential of crashing iteration).  But for ideal/analytic EOS,
iteration should yield a result matching the desired accuracy.

Thanks for your comment and let me know if there is something more
that could be clarified.

Tschuess -

Tomek
--
On Fri, Aug 27, 2004 at 03:13:42PM +0200, Andreas Maier wrote:
> Hello all,
> 
> In course of my work with FLASH V2.3 and the Intel Fortran Compiler 8.0
> on a Linux PC I believe I found three bugs in FLASH:
> 
> 1. io/getPlotVars.F90
> Everytime running FLASH I got the following error message during initialization:
> 
> "Error: variable 'x' not found."
> 
> with x=dens, pres... . I was able to fix this error by exchanging every call
> "lowercase(trim(x))" to "trim(lowercase(x))"
> in getPlotVars.F90. This is so, because for some strange reason, when
> calling trim() inside of lowercase()  the result of this operation is not a valid string
> (Maybe a compiler specific bug).
> 
> 2. driver/time_dep/flash.F90
> There is a bug described in io/Output.F90:
> 
> BUGS: Sometimes, a plotfile is skipped when using tplot to specify the interval between
> sucessive plotfiles. It is unclear why this happens.
> 
> This Bug does not come from an error in Output.F90, but from the wrong call of output
> in driver/time_dep/flash.F90. The lines
> ....
> dt=dBasePropertyReal("Timestep")
> call output(time,dt,nstep+1,nbegin)
> ...
> should be exchanged, because to calculate the right time for the output we need the old
> timestep, not the new one. So one should write:
> ....
> call output(time,dt,nstep+1,nbegin)
> dt=dBasePropertyReal("Timestep")
> ...
> 
> 3. materials/eos.F90
> The documentation for Flash 2.3 says, that for 
> 
> call eos(...,input)
> 
> the integer input specifies whether temperature (input=1) or internal energy(input=2)
> are used together with the density and composition as input.
> (Additionally in the source code one can find, that for input=3 pressure together with 
> density and composition is used as input.)
> But this statement is not exactly true. When using call eos(dens, temp, pres, ener, ... ,2),
> the result does(!) depend on the value of the variable "temp" in contrast to the documentation.
> Does one call eos(...,2) with the variable temp uninitialized or initialized e.g. with temp = 0.0,
> the subroutine eos does give wrong results for the state variables. It seems to be, that the value of the 
> variable "temp" is always read in as a starting value for the newton iteration that is done intenally
> in the subroutine eos. If this value is not good, the iteration fails to converge to the right result and
> the computation of the state variables with input=2 or 3 does give wrong results. 
> The solution to this problem should be either in setting the temperature variable in the 
> eos subroutine to intent(out) in case of input=2,3, so it is not used as an input value
> or to correct the documentation.
> 
> I hope these bug descriptions are helpful for somebody. 
> 
> Andreas Maier
>  
> 
> 
> 
> 
> _______________________________________________________
> WEB.DE Video-Mail - Sagen Sie mehr mit bewegten Bildern
> Informationen unter: http://freemail.web.de/?mc=021199

-- 
Fri, 10:05 CDT (15:05 GMT), Aug-27-2004
_______________________________________________________________________________

   Tomasz Plewa                                      www:   flash.uchicago.edu
   Computational Physics and Validation Group        email: tomek at uchicago.edu
   The ASC FLASH Center, The University of Chicago   phone: 773.834.3227
   5640 South Ellis, RI 475, Chicago, IL 60637       fax:   773.834.3230
_______________________________________________________________________________



More information about the flash-bugs mailing list