- edited description
CFL estimate currently incorrect.
Issue #198
new
Currently in the nonlinear terms module we estimate the limiting timestep as follows.
- Find the maximum velocity in x and y = max_vel_x, max_vel_y
- Find the cfl limit in x and y, e.g. dt_cfl_x = dx / max_vel_x and dt_cfl_y = dy / max_vel_y
- Set the limiting timestep based on
min(dt_cfl_x, dt_cfl_y)
This has treats the system as 1d but in a 2D system the CFL limit should consider the sum of the 1D parameters rather than simply taking the single most restrictive. In other words we should use dt_cfl = 1/ [max(v_x)/dx + max(v_y)/dy]
. This is more restrictive than simply taking the most restrictive 1D limit.
The solution should be to track max(v_x)
and max(v_y)
separately and form the cfl limit from the sum of the 2d limits.
Comments (1)
-
reporter - Log in to comment
Rewriting to correct initial mistakes in description of what is done.