[FLASH-USERS] MHD simulations Eint=0 problem

Seyit Hocuk seyit at mpe.mpg.de
Mon Feb 6 04:56:22 EST 2017


Hi community,

Has anyone else encountered this problem before?

Whenever I run MHD simulations with the USM solver (Flash4.4), I 
occasionally get Eint=0. This seems to occur only when I put a B-field > 
0 (I often simulate mass-to-flux ratio of 2). The problem is bigger with 
higher magnetic field strength. I have played around with the 
"eintswitch" parameter, thereby reducing reducing the issue it as much 
as I can (eintswitch =< 1e-4), but the problem still persists. A high 
eintswitch, on the other hand, thereby reverting to an independent 
internal energy calculation was giving me crazy values. It is as if the 
magnetic energy is not considered for the internal energy calculations 
when derived from the total energy (Eint = E_tot - Ekin - Emag), or 
something along those lines, but this is just guessing.

Optimizing the parameters helped a little. See parameter choices below. 
My initial guess was that the solver has a hard time solving, because 
the problem is stiff on occasion. Playing with these options and 
relaxing the solver still did not completely remove this issue.

I initially thought that this happens after new cells are created, 
however, the problem does still occur when lrefine_min=lrefine_max.

The problem also seems to persist if:
ForceHydroLimit = .True. (but the B-field is not set to zero; in the 
tested case it is 10.0e-6)
So, forcing hydrolimit did not help! This while when the B = 0 
(+Forcehydrolimit=true), the Eint does not become 0, but very low 
instead (which is a different issue?). While with B=0, I also get a 
different refinement. Therefore, I am not entirely sure what 
forcehydrolimit does actually. Clearly, there is still impact by the 
B-field.

Another funny thing is enableMaskedGCFill. I usually have
enableMaskedGCFill = .True.
but the module that made use of this is turned off. Setting this to true 
or false gives me somewhat different kind of errors. With .False. I also 
get negative values, i.e., WARNING after gc filling: min. 
unk(EINT_VAR)=-1487770975.081508

The end results is sometimes (especially if I don't constrain by "small" 
variables, i.e., make the "small" values really small):
DRIVER_ABORT: Computed new time step smaller than dr_dtMinContinue!
similar to a problem mentioned recently "dt not positive in MHD 
simulations" by Jon Slavin. Was any solution fouond for that?

What does help is:
cfl = crazy low, but normally lowering cfl only delays the issue.

What doesn't help is:
Turning off gravity
Turning off particles
Turning off refinement
Turning of all my modules (Heating/Cooling/Chemistry/Colmndensities...)
Changing boundaries from periodic/isolated to outflow
Viscosity
And many other things

With kind regards,
Seyit


Normal conditions (but I tested them all):
mfieldstrength = 5.0e-6
killdivb = .True.
E_upwind = .True.
energyFix = .True.
RiemannSolver = "HYBRID"
slopeLimiter = "HYBRID"
order = 3
use_steepening = .False.
use_flattening = .True.
use_avisc = .True.
shockDetect = .True.
cfl = 0.6

Libraries/Compilers:
hdf5-serial/1.8.15
ifort: intel/15.0
impi/5.0.3
x86_64 x86_64 x86_64 GNU/Linux


-- 
Dr. Seyit Hocuk
Post-doctoral researcher
Center for Astrochemical Studies (CAS)
Max-Planck-Institute for Extraterrestrial physics (MPE)
Giessenbachstrasse 1, 85748 Garching bei Munchen
Phone: +49-8930000-3012 | Fax: +49-8930000-3569
Web  : www.mpe.mpg.de/~seyit




More information about the flash-users mailing list