[FLASH-USERS] courant factor

Klaus Weide klaus at flash.uchicago.edu
Thu Apr 27 20:35:13 EDT 2017


On Thu, 27 Apr 2017, Riccardo Ciolfi wrote:

> I am trying to understand the definition of the variable cfl. Does it 
> correspond to the courant factor Delta_t/Delta_x * v_max?

The timestep Delta_t is chosen such that 

   Delta_t/Delta_x * v_max  <=  cfl

should be true in *each* cell (in 1D).

> Is this the same at all levels, so that Delta_t is reduced by a factor 
> of 2 together with Delta_x when moving to the next refinement level? 

There is only one global Delta_t.  Delta_x depends on the block.

You can think of it as computing a local Delta_t for each cell, and the 
global Delta_t is then the min of them.

> Is there a simple way to enforce it?

FLASH already does this for you.

> I am using FLASH4.4 and for 1D hydro simulations I adopted the suggested 
> clf=0.8 without any problem. When I move to 2D I cannot run unless I put 
> cfl as low as 0.1. Is this expected? 

No, you should be able to uses larger values of cfl - as long as your 
setup is purely a hydro problem.

> For coordinates with 
> Delta_x=Delta_y, shouldn't be sufficient to reduce the courant factor by 
> a factor of sqrt(2)?

See Hydro_computeDt for how exactly the computation is done for 2D and 3D.
But generally, a value of 0.8 or so should be good even for 2D.

Are you using curvilinear coordinates?
Are you using additional physics that change the solution?
Do you have unusual or extreme initial or boundary conditions?


Klaus



More information about the flash-users mailing list