[FLASH-USERS] dt not positive in MHD simulations
Klaus Weide
klaus at flash.uchicago.edu
Tue Jan 3 16:29:31 EST 2017
On Thu, 29 Dec 2016, Slavin, Jonathan wrote:
> Hi all,
>
> I've been doing MHD simulations involving shocks in 2D (cylindrical
> symmetry) and have been occasionally running into cases where the runs
> aborts with:
> dtCheck= 0.000000000000000E+000
> DRIVER_ABORT: [Hydro]: Computed dt is not positive! Aborting!
>
> I believe that this is occurring for cells where the plasma beta, i.e.
> Pthermal/Pmagnetic, is very small. These cells are not near any
> boundaries, so that doesn't seem to be the problem. I do see that the
> dt_hydro is dropping quickly just before, and drops below the dtmin that I
> set. So it's likely that the proximate cause is the violation of the
> courant condition in the sense that the timestep is too long given the
> signal speed.
Hello Jon,
Just a few ideas that may help you explore this further.
First - you likely already have thought about this or done this...
does the problem go away (reliably) if you set runtime parameter 'cfl' to
a low enough value? (Is there such a cfl value at all, even if it is
unpracticably low?)
IF you can figure out such a lowCFL value AND some local conditions under
which such a lowered CFL must be applied, and can implement a simple test
for those local conditions, then you MIGHT be able to use the 'local CFL'
feature to avoid the problem without too much degeneration of performance:
Declare a CFL variable (CFL_VAR), and set its value in each evolution step
(maybe from within Simulation_adjustEvolution?) to a locally 'safe' value
where needed.
The following underdocumented feature may also help you analyze your
situation:
Set dr_dtMinContinue to a small value (but > 0). FLASH will exit when it
computes a timestep (still positive) below this value. Set
dr_dtMinBelowAction = 1 for "write checkpoint then abort", so
you automatically get a checkpoint file which you can then examine and
which might reveal details of what went wrong in some specific location.
> Note also that the simulations that I'm doing include cooling, which
> decreases the thermal pressure. Some parameters that I've set, partially
> based on information in the Flash User's Guide are:
> killdivb = .true.
> flux_correct = .true.
> E_modification = .true.
> energyFix = .true.
> shockLowerCFL = .true.
> RiemannSolver = "HYBRID"
> prolMethod = "BALSARA_PROL"
>
> I'm wondering if anyone else has run into problems like this with MHD runs
> and if anyone has suggestions for getting around this. There are many
> possible parameter settings and it could be that I just need to find the
> best ones for my problem.
I hope others can come forward with some more advice regarding specific
runtime parameters to change.
Klaus
More information about the flash-users
mailing list