Timestep Control and the CFL Limit

Part 12, Chapter 12: Running a Simulation, History Matching, and Forecasting

Information Moves One Cell at a Time

An explicit update can move information at most one cell per step, so the Courant number C=vΔtΔxC = \dfrac{v,\Delta t}{\Delta x} must stay at or below one. That bound is the CFL condition.

Timestep control and the CFL limitinitialposition (flow ->)At Courant 0.8 the pulse advances and stays bounded, lightly smoothed by numerical diffusion. Above one it would blow up into growing oscillations.

What Happens Above the Limit

At or below one the front advances cleanly, smeared a little by numerical diffusion. Above one the scheme tries to move the front more than a cell per step, the error compounds, and the solution blows up into growing oscillations.

Why It Costs

A simulator that hits the CFL limit must shrink the timestep to stay stable. That is the cost an explicit (IMPES) scheme pays and a fully implicit one avoids.

This page is prerendered for SEO and accessibility. The interactive widgets above hydrate on JavaScript load.