[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