<div dir="ltr">Dear Riccardo :<div><br></div><div>  As Klaus indicates, a CFL number of 0.8 is generally sufficient, and 0.5 is conservative. Requiring 0.1 may indicate some other issues in your initial condition and/or boundary conditions, which may be physical, but could also be a bug.</div><div><br></div><div>  Can you also tell us when the crash is occurring? Shortly after initialization or well into the run?  This is an important clue as to what is happening.</div><div>  </div><div>  It should be emphasized that the CFL condition is a necessary but not sufficient condition for numerical stability of a hydrodynamics code. This is because the condition itself is derived from a linearized analysis and can break down during strongly nonlinear evolution. For example, a strong acceleration or rapid cooling can drive the system unstable during a single timestep. For this reason, you will find problems with strong gradients in the initial condition, like shock tubes, often utilize a reduced initial timestep, and then "relax" to CFL. A reduced timestep can be set with the FLASH parameter dtinit. <br><br>  Best wishes,<br><br>  Bob<br></div>







</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 27, 2017 at 8:35 PM, Klaus Weide <span dir="ltr"><<a href="mailto:klaus@flash.uchicago.edu" target="_blank">klaus@flash.uchicago.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, 27 Apr 2017, Riccardo Ciolfi wrote:<br>
<br>
> I am trying to understand the definition of the variable cfl. Does it<br>
> correspond to the courant factor Delta_t/Delta_x * v_max?<br>
<br>
</span>The timestep Delta_t is chosen such that<br>
<br>
   Delta_t/Delta_x * v_max  <=  cfl<br>
<br>
should be true in *each* cell (in 1D).<br>
<br>
> Is this the same at all levels, so that Delta_t is reduced by a factor<br>
<span class="">> of 2 together with Delta_x when moving to the next refinement level?<br>
<br>
</span>There is only one global Delta_t.  Delta_x depends on the block.<br>
<br>
You can think of it as computing a local Delta_t for each cell, and the<br>
global Delta_t is then the min of them.<br>
<span class=""><br>
> Is there a simple way to enforce it?<br>
<br>
</span>FLASH already does this for you.<br>
<span class=""><br>
> I am using FLASH4.4 and for 1D hydro simulations I adopted the suggested<br>
> clf=0.8 without any problem. When I move to 2D I cannot run unless I put<br>
> cfl as low as 0.1. Is this expected?<br>
<br>
</span>No, you should be able to uses larger values of cfl - as long as your<br>
setup is purely a hydro problem.<br>
<span class=""><br>
> For coordinates with<br>
> Delta_x=Delta_y, shouldn't be sufficient to reduce the courant factor by<br>
> a factor of sqrt(2)?<br>
<br>
</span>See Hydro_computeDt for how exactly the computation is done for 2D and 3D.<br>
But generally, a value of 0.8 or so should be good even for 2D.<br>
<br>
Are you using curvilinear coordinates?<br>
Are you using additional physics that change the solution?<br>
Do you have unusual or extreme initial or boundary conditions?<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
Klaus<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Dr. Robert Fisher<br>Associate Professor / Graduate Program Director<br>University of Massachusetts/Dartmouth<br>Department of Physics<br>285 Old Westport Road<br>North Dartmouth, Massachusetts 02747<br><a href="mailto:robert.fisher@umassd.edu" target="_blank">robert.fisher@umassd.edu</a><br><a href="http://www.novastella.org" target="_blank">http://www.novastella.org</a></div></div>
</div>