Skip to main content

CFL Number Calculator

Calculate Courant-Friedrichs-Lewy (CFL) number for CFD simulation stability and time step estimation

Category: Cfd

CFL Number Calculator Inputs

Enter values to calculate

Flow velocity in X-direction (primary flow direction)

Time step size for your simulation

Mesh cell size in X-direction (smallest cell if non-uniform)

Flow velocity in Y-direction (for 2D/3D simulations)

Mesh cell size in Y-direction (0 if same as Δx)

Flow velocity in Z-direction (for 3D simulations)

Mesh cell size in Z-direction (0 if same as Δx)

Speed of sound in the medium (≈340 m/s for air, 0 for incompressible)

Desired CFL number for time step calculation (typical: 0.5-0.9)

Enable JavaScript for interactive calculation and step-by-step results.

CFL Number Calculator Formula

Equation

CFL = (u Δ t)/(Δ x) + (v Δ t)/(Δ y) + (w Δ t)/(Δ z)

Excel Formula

=CFL=(ut)/(x)+(vt)/(y)+(wt)/(z)

Variables

  • X-Direction Velocity (u) (m/s) — Flow velocity in X-direction (primary flow direction)
  • Time Step (Δt) (s) — Time step size for your simulation
  • X-Direction Cell Size (Δx) (m) — Mesh cell size in X-direction (smallest cell if non-uniform)
  • Y-Direction Velocity (v) - Optional (m/s) — Flow velocity in Y-direction (for 2D/3D simulations)
  • Y-Direction Cell Size (Δy) - Optional (m) — Mesh cell size in Y-direction (0 if same as Δx)
  • Z-Direction Velocity (w) - Optional (m/s) — Flow velocity in Z-direction (for 3D simulations)
  • Z-Direction Cell Size (Δz) - Optional (m) — Mesh cell size in Z-direction (0 if same as Δx)
  • Speed of Sound (c) - For Compressible Flows (m/s) — Speed of sound in the medium (≈340 m/s for air, 0 for incompressible)
  • Target CFL Number — Desired CFL number for time step calculation (typical: 0.5-0.9)

How the CFL Number Calculator Works

Think of the CFL number as a "speed limit" for your CFD simulation. Named after three brilliant mathematicians—Courant, Friedrichs, and Lewy—this simple number tells you whether your simulation will stay stable or blow up spectacularly. It's essentially asking: "Is my time step small enough for the physics happening in my simulation?" If fluid moves 10 meters per second and your grid cells are 1 cm wide, you need to make sure your time step is small enough that the fluid doesn't "jump over" cells without being noticed by your numerical scheme.

The core relationship is CFL = \frac{u \Delta t}{\Delta x} + \frac{v \Delta t}{\Delta y} + \frac{w \Delta t}{\Delta z}. Typical inputs include X-Direction Velocity (u), Time Step (Δt), X-Direction Cell Size (Δx), Y-Direction Velocity (v) - Optional.

Enter your values in the cfl number calculator above, review the step-by-step solution, and compare against the worked examples below so you can see how each input changes the result. This free online cfd tool is built for homework, design checks, and professional verification.

CFL Number Calculator Theory & Explanation

The Core Idea (Why CFL Matters)

Imagine you're tracking a wave moving through your computational domain. Your simulation takes snapshots at regular time intervals (that's your time step Δ t), and your domain is divided into cells of size Δ x. Here's the key insight: **if the wave travels farther than one cell during one time step, your simulation can't "see" where it went**.

The CFL number quantifies this: CFL = (u Δ t)/(Δ x)

It's literally the distance traveled (u Δ t) divided by cell size (Δ x). If CFL = 0.5, the wave moves half a cell per time step—your simulation can track it perfectly. If CFL = 2, the wave jumps two cells—your simulation loses track and crashes.

**The golden rule:** • **CFL < 1**: You're good! Information stays within neighboring cells • **CFL = 1**: Right at the edge—some schemes love this, others don't • **CFL > 1**: Danger zone! Most explicit schemes will explode

For 3D flows, you need to check all three directions: CFL_total = (u Δ t)/(Δ x) + (v Δ t)/(Δ y) + (w Δ t)/(Δ z)

CFL = (u Δ t)/(Δ x)

What CFL Really Means Physically

Let's make this concrete with real numbers. Say you're simulating air flow at 10 m/s through a mesh with 1 cm cells:

**Scenario 1 - CFL = 0.5 (Safe)** Time step = 0.0005 s Distance traveled = 10 × 0.0005 = 0.005 m = 5 mm That's half a cell—your scheme can easily interpolate and track the flow. ✓

**Scenario 2 - CFL = 1.0 (On the Edge)** Time step = 0.001 s Distance traveled = 10 × 0.001 = 0.01 m = 1 cm Exactly one cell! Some schemes handle this beautifully (upwind is actually exact here), others get nervous.

**Scenario 3 - CFL = 2.0 (Disaster)** Time step = 0.002 s Distance traveled = 10 × 0.002 = 0.02 m = 2 cm The fluid jumped two cells! Your scheme has no idea what happened in the skipped cell. Numerical errors explode exponentially. ✗

**The beautiful thing:** The CFL number is dimensionless, so it works whether you're simulating wind tunnels or blood flow, as long as you pick the right time step for your mesh and velocity.

Different Schemes, Different Limits

Not all numerical schemes are created equal—some are more forgiving than others when it comes to CFL limits. Here's your cheat sheet:

**Explicit Schemes (Most Common):** These schemes compute the next time step directly from the current one, which makes them fast but sensitive to CFL:

• **Upwind (1st order)**: CFL ≤ 1 — Simple and robust, but diffusive • **Lax-Wendroff (2nd order)**: CFL ≤ 1 — More accurate, same limit • **Forward Euler**: CFL ≤ 1 — Don't use this for advection! • **Runge-Kutta 4**: CFL ≤ 2.8 — Higher order = bigger time steps! • **Beam-Warming**: CFL ≤ 2 — Good for smooth flows

**Multi-dimensional Reality Check:** In 2D/3D, things get stricter: • 2D: CFL_x + CFL_y ≤ 1 • 3D: CFL_x + CFL_y + CFL_z ≤ 1

So if you have equal velocities in all directions, each direction gets only CFL ≤ 0.33!

**Implicit Schemes (The Rule Breakers):** These solve coupled equations at each time step, which costs more per step but...

• **Backward Euler**: CFL = ∞ (unconditionally stable!) • **Crank-Nicolson**: CFL = ∞ (stable, but may have oscillations)

Implicit schemes let you take huge time steps, but very large CFL still hurts accuracy.

Calculating Your Time Step (The Practical Stuff)

In practice, you usually know your mesh size and flow velocity, but need to find the right time step. Here's the formula flipped around:

Δ t_max = CFL × \fracΔ x_minu_max

**Breaking it down:** • Use the **smallest cell** in your mesh (that's your bottleneck) • Use the **fastest velocity** anywhere in your domain • Choose a **target CFL** (typically 0.7-0.8 for safety)

**Example calculation:** Your finest mesh: Δ x = 5 mm Maximum velocity: u = 50 m/s Target CFL: 0.7

Δ t = 0.7 × (0.005)/(50) = 0.00007 \text s = 70 \text μs

To simulate 1 second of real time: 1 / 0.00007 ≈ **14,286 time steps**!

See why mesh refinement is expensive? Cut cell size in half → twice as many cells AND twice as many time steps = 4× the cost.

**For compressible flows** (when sound speed matters): Δ t_max = CFL × \fracΔ x_minu_max + c

Acoustic waves travel at sound speed (≈340 m/s in air), often much faster than the flow itself.

Δ t_max = CFL × \fracΔ x_minu_max

Stability Analysis (For the Math Lovers)

Want to understand *why* CFL limits exist? Enter Von Neumann stability analysis—the mathematical microscope for numerical schemes.

For the advection equation (\partial u)/(\partial t) + c(\partial u)/(\partial x) = 0, we represent errors as Fourier modes e^iθ and track their growth.

**Amplification factor:** G = 1 - CFL^2(1 - \cosθ)

For stability, we need |G| ≤ 1 for all wavenumbers θ (all error frequencies).

**What this tells us:** • **FTCS scheme**: |G| > 1 for any CFL—unconditionally unstable! • **Upwind scheme**: |G| ≤ 1 when 0 ≤ CFL ≤ 1—that's our limit! • **Lax-Wendroff**: Same stability region, but less diffusive

**Important insight:** Stability ≠ accuracy! A stable scheme with CFL = 0.01 might be numerically stable but introduce massive numerical diffusion. Most schemes perform best at CFL = 0.5-0.8.

**Pro tip:** Some schemes are "upward biased"—they actually get *more accurate* as CFL approaches 1. The upwind scheme with CFL = 1 is mathematically exact for pure advection!

G = 1 - CFL^2(1 - \cosθ)

When Viscosity Dominates (Diffusion CFL)

Here's a curveball: for very viscous flows (think honey, not water), a different stability condition takes over called the **Fourier number**:

Fo = (\nu Δ t)/(Δ x^2) ≤ 0.5

Notice that quadratic Δ x^2 term? This makes diffusion *way more restrictive* for fine meshes.

**Quick comparison:** Suppose Δ x = 1 mm and you refine to 0.5 mm:

**Advection CFL** (u = 10 m/s): • Original: Δ t ≤ 0.0001 s • Refined: Δ t ≤ 0.00005 s (2× smaller)

**Diffusion Fourier** (\nu = 10⁻⁶ m²/s): • Original: Δ t ≤ 500 s • Refined: Δ t ≤ 125 s (4× smaller!)

**When both matter:** For Navier-Stokes (momentum + viscosity), you need to satisfy both: CFL = (u Δ t)/(Δ x) ≤ 1 \quad \textAND \quad Fo = (\nu Δ t)/(Δ x^2) ≤ 0.5

**The Cell Peclet number** tells you which dominates: Pe_cell = (u Δ x)/(\nu)

• Pe >> 1: Advection wins (CFL limits apply) • Pe << 1: Diffusion wins (Fourier limits apply) • Pe ≈ 1: Both matter (use the stricter limit)

Fo = (\nu Δ t)/(Δ x^2) ≤ 0.5

Adaptive Time Stepping (Smart Solvers)

Modern CFD codes don't use a single fixed time step—they adapt intelligently based on what's happening in the flow. This is especially powerful for **steady-state solutions** where you don't care about accurate time history, just the final converged state.

**Global Time Stepping** (traditional): One time step for the whole domain, determined by the worst case: Δ t = CFL_target × \min_all\,cells((Δ x_i)/(u_i + c_i))

Even if 99% of your mesh could take huge time steps, that one refined cell near a wall dictates everything.

**Local Time Stepping** (smart!): Each cell gets its own time step based on local conditions: Δ t_i = CFL_target × (Δ x_i)/(u_i + c_i)

**Why this rocks:** • Coarse cells take large steps (fast convergence) • Fine cells take small steps (maintain stability) • Can speed up steady-state convergence by **2-10×** • Only valid for steady-state! (Transient needs global time step)

**CFL Ramping** (even smarter!): Start conservative, then push harder:

1. **Initialization** (iter 0-100): CFL = 0.5 → 1 2. **Ramp-up** (iter 100-500): CFL = 1 → 10 3. **Convergence** (iter 500+): CFL = 10 → 50

If residuals spike (solution getting angry), drop CFL by 50% and try again.

Δ t = CFL × \min_cells((Δ x)/(u + c))

Real-World CFL Values (Your Practical Guide)

Forget the theory for a minute—here's what people actually use in production CFD:

**Explicit Schemes:**

• **External aerodynamics** (cars, planes): CFL = 0.7-0.9 → Conservative for stability, good for unsteady features

• **LES/DNS turbulence** (research): CFL = 0.3-0.5 → Strict accuracy requirements, can't afford dissipation

• **Shock capturing** (supersonic): CFL = 0.5-0.8 → Discontinuities are nasty, need safety margin

• **Steady-state RANS** (with local time stepping): CFL = 1-5 → Just need convergence, not time accuracy

**Implicit Schemes:**

• **Steady-state convergence**: CFL = 10-100 → Push it hard! Stability isn't the limit

• **Transient URANS** (unsteady flow features): CFL = 1-5 → Limited by temporal accuracy, not stability

• **Heat transfer** (conjugate): CFL = 5-20 → Solid regions can take huge steps

**Mesh considerations:**

• **Uniform mesh**: Calculate CFL easily, one value everywhere • **Boundary layer mesh**: Wall-normal cells are tiny → strict limit • **AMR (adaptive refinement)**: Finest level dictates time step • **Hanging nodes**: No special CFL treatment needed

**Rule of thumb:** If your solution is diverging or oscillating wildly, cut CFL in half. If it's converging smoothly but slowly, try increasing CFL by 50%.

CFL Number Calculator Worked Examples

Worked Example

Inputs

  • velocity: 10
  • timeStep: 0.001
  • cellSize: 0.01
  • velocityY: 0
  • cellSizeY: 0
  • velocityZ: 0
  • cellSizeZ: 0
  • speedOfSound: 0
  • targetCFL: 0.8

Result: ✓ CFL = 1.0000 - At Stability Limit | Max stable Δt = 8.0000e-3 s | 1,000 steps/second

Explanation

**Example 1: Basic CFL Check for Incompressible Flow**

**Problem Setup:** You're running a CFD simulation of air flow through a pipe with: • Flow velocity: u = 10 m/s • Time step: Δ t = 0.001 s (1 millisecond) • Mesh cell size: Δ x = 0.01 m (1 cm) • Numerical scheme: Explicit upwind • Flow type: Incompressible (Mach << 0.3)

**Step 1: Calculate the CFL Number** CFL = (u Δ t)/(Δ x) = (10 × 0.001)/(0.01) = (0.01)/(0.01) = 1.0

**Step 2: Interpret the Result** CFL = 1.0 means the fluid travels **exactly one cell** per time step: • Distance traveled: u × Δ t = 10 × 0.001 = 0.01 m = 1 cm ✓ • Cell size: 1 cm ✓ • Ratio: 1 cm / 1 cm = 1.0

**Step 3: Assess Stability** For explicit upwind schemes: **CFL ≤ 1** required for stability

Your CFL = 1.0 → You're **right at the stability limit** ⚠️

Some schemes will work perfectly here (upwind at CFL=1 is mathematically exact!), but others might show instability. It's risky.

**Step 4: Calculate Optimal Time Step** For safety, target CFL = 0.8: Δ t_optimal = CFL_target × (Δ x)/(u) = 0.8 × (0.01)/(10) = 0.0008\text s = 0.8\text ms

**Recommendation:** Reduce your time step from 1.0 ms to **0.8 ms** for a 20% safety margin.

**Computational Impact:** • Current: 1,000 time steps per second of simulation • Recommended: 1,250 time steps per second (25% more iterations) • Trade-off: 25% slower but much more stable

---

**Example 2: Finding Maximum Stable Time Step**

**Problem:** You have a refined mesh near walls in an aerodynamics simulation.

**Given:** • Maximum velocity: u_max = 50 m/s (in free stream) • Finest mesh cell: Δ x_min = 0.005 m = 5 mm (boundary layer) • Target CFL: 0.7 (conservative for complex geometry)

**Calculate maximum stable time step:** Δ t_max = CFL × \fracΔ x_minu_max = 0.7 × (0.005)/(50) Δ t_max = 0.7 × 0.0001 = 0.00007\text s = 70\text μs

**What this means:** • Your time step must be **70 microseconds or less** • To simulate 1 second of real flow: 1 / 0.00007 ≈ **14,286 time steps** • To simulate 1 minute: **857,143 time steps** 😰

**Impact of mesh refinement:** If you refine the boundary layer mesh to 2.5 mm cells: Δ t_new = 0.7 × (0.0025)/(50) = 35\text μs

→ Halving cell size **doubles** the number of time steps → **4× total cost** (2× cells, 2× time steps)

This is why fine meshes are expensive!

---

**Example 3: Compressible Flow - The Acoustic Trap**

**Problem:** High-speed compressible flow simulation

**Given:** • Flow velocity: u = 100 m/s (Mach 0.29) • Speed of sound: c = 340 m/s (air at sea level) • Cell size: Δ x = 0.02 m = 2 cm • Target CFL: 0.8

**Beginner mistake - Ignoring acoustics:** Δ t_wrong = 0.8 × (0.02)/(100) = 0.00016\text s = 160\text μs

**Correct approach - Include sound speed:** Δ t_correct = CFL × (Δ x)/(u + c) = 0.8 × (0.02)/(100 + 340) Δ t_correct = 0.8 × (0.02)/(440) = 0.0000364\text s = 36.4\text μs

**The brutal truth:** • Ignoring acoustics: 160 μs time step • Including acoustics: 36.4 μs time step • You need **4.4× more time steps** than you thought!

**Why:** Acoustic waves (pressure disturbances) travel at 340 m/s, much faster than the flow (100 m/s). They dominate the stability constraint.

**Key insight:** In compressible flow, c >> u usually, so: Δ t ≈ CFL × (Δ x)/(c)

The flow velocity barely matters—acoustics rule!

---

**Example 4: 3D Multi-Directional Flow**

**Problem:** Complex 3D vortex flow with different velocities in each direction

**Given:** • X-velocity: u = 10 m/s, Cell size: Δ x = 0.01 m • Y-velocity: v = 5 m/s, Cell size: Δ y = 0.008 m • Z-velocity: w = 3 m/s, Cell size: Δ z = 0.012 m • Time step: Δ t = 0.0005 s = 500 μs

**Step 1: Calculate directional CFL numbers** CFL_x = (u Δ t)/(Δ x) = (10 × 0.0005)/(0.01) = 0.50 CFL_y = (v Δ t)/(Δ y) = (5 × 0.0005)/(0.008) = 0.3125 CFL_z = (w Δ t)/(Δ z) = (3 × 0.0005)/(0.012) = 0.125

**Step 2: Sum for total CFL** CFL_total = CFL_x + CFL_y + CFL_z = 0.50 + 0.3125 + 0.125 = 0.9375

**Step 3: Evaluate stability** For 3D explicit schemes: CFL_total ≤ 1 required

Result: CFL = 0.9375 < 1.0 → **Stable** ✓ with 6.25% margin

**Important:** Notice that Y-direction has the smallest cells (8 mm) relative to its velocity, so it contributes most to CFL. The limiting direction isn't always obvious!

**Physical interpretation:** • Fluid travels 5 mm in X (half a cell) ✓ • Fluid travels 2.5 mm in Y (about 1/3 cell) ✓ • Fluid travels 1.5 mm in Z (about 1/8 cell) ✓ • Total distance: √(5^2 + 2.5^2 + 1.5^2) = 5.7 mm

Your scheme can track this movement across the 3D mesh. Nice!

---

**Example 5: "Help! My Simulation is Diverging!"**

**Problem:** Your simulation explodes after 100 iterations

**Current settings:** • Velocity: 20 m/s • Time step: 0.002 s • Cell size: 0.01 m

**Calculate CFL:** CFL = (20 × 0.002)/(0.01) = (0.04)/(0.01) = 4.0

**Diagnosis:** CFL = 4.0 is **4× over the stability limit** 💥

Your fluid is jumping 4 cells per time step—your explicit scheme has no chance!

**Solution:** Reduce time step to reach CFL = 0.8: Δ t_fixed = 0.8 × (0.01)/(20) = 0.0004\text s = 0.4\text ms

You need to cut your time step by 80% (use 0.4 ms instead of 2 ms).

**Alternatively:** Switch to an implicit scheme, which can handle CFL > 1. You'll trade stability for slower iterations (solving linear systems), but can use your original 2 ms time step.

Second Scenario

Inputs

  • velocity: 7.5
  • timeStep: 0.001
  • cellSize: 0.01
  • velocityY: 0
  • cellSizeY: 0
  • velocityZ: 0
  • cellSizeZ: 0
  • speedOfSound: 0
  • targetCFL: 0.8

Result: ✓ CFL = 1.0000 - At Stability Limit | Max stable Δt = 8.0000e-3 s | 1,000 steps/second

Explanation

This scenario uses different inputs (velocity = 7.5, timeStep = 0.001, cellSize = 0.01, velocityY = 0, cellSizeY = 0, velocityZ = 0, cellSizeZ = 0, speedOfSound = 0, targetCFL = 0.8) to show how changing one variable affects the cfl number result. Run the calculator above with these values to get the exact updated output with step-by-step work.

Common CFL Number Calculator Use Cases

  • CFL Number homework and study
  • CFL Number design and analysis
  • Quick cfl number estimates
  • Verifying spreadsheet or hand calculations

CFL Number Calculator FAQs

What is the CFL condition and why is it important?

The CFL (Courant-Friedrichs-Lewy) condition is a necessary stability condition for explicit time-marching schemes in CFD. It ensures that numerical information propagates at least as fast as physical information. If violated (CFL > 1 for most explicit schemes), numerical errors grow exponentially, causing solution divergence. The condition determines the maximum allowable time step for stable simulation.

What CFL number should I use in my simulation?

For explicit schemes, use CFL = 0.5-0.9 for safety margin below the stability limit. For transient simulations requiring accurate time resolution, use CFL = 0.5-0.7. For steady-state with local time stepping, CFL = 1-10 may be used. For implicit schemes, CFL = 5-50 is common for steady-state. LES and DNS typically require CFL = 0.3-0.7 for accuracy. Always check your solver documentation for recommended values.

Can I use CFL > 1 in my simulation?

CFL > 1 causes instability in explicit schemes and should be avoided. However, implicit schemes (backward Euler, Crank-Nicolson) are unconditionally stable and can use any CFL number. Even with implicit schemes, very large CFL values (>50) may reduce temporal accuracy. For transient simulations requiring time-accurate solutions, limit CFL even in implicit schemes to ensure temporal resolution.

How does mesh refinement affect the CFL number?

Mesh refinement reduces cell size (Δx), which requires proportionally smaller time steps to maintain the same CFL number (Δt = CFL × Δx/u). Halving the cell size halves the maximum time step, potentially doubling the number of time steps required. This is why fine meshes are computationally expensive. Adaptive mesh refinement requires using the smallest cell size in the domain to determine the global time step.

What is the difference between CFL for advection and diffusion?

Advection uses CFL = uΔt/Δx ≤ 1, while diffusion uses the Fourier number Fo = νΔt/Δx² ≤ 0.5. Diffusion has a quadratic dependence on cell size, making it more restrictive for fine meshes. In combined advection-diffusion problems, both conditions must be satisfied. The cell Peclet number (Pe = uΔx/ν) determines which dominates: high Pe → advection limit, low Pe → diffusion limit.

How do I calculate CFL for compressible flows?

For compressible flows, acoustic waves propagate at the speed of sound (c), much faster than the flow velocity. Use CFL = (|u| + c)Δt/Δx, where c = √(γRT) for ideal gas. This accounts for both advection and acoustic wave propagation. Ignoring acoustics leads to severe underestimation of required time step and instability. For high Mach numbers (M > 0.3), acoustic effects are essential.

What is local time stepping and when should I use it?

Local time stepping assigns different time steps to different cells based on their local CFL condition, rather than using one global time step. It accelerates convergence to steady-state by 2-10× by allowing large time steps in coarse regions while maintaining stability in refined regions. Only use for steady-state simulations; transient simulations require global time stepping to maintain temporal accuracy across the domain.

Why does my simulation diverge even with CFL < 1?

CFL < 1 is necessary but not sufficient for stability. Other causes of divergence include: (1) poor mesh quality (high skewness/aspect ratio), (2) inappropriate boundary conditions, (3) inadequate spatial discretization scheme, (4) under-relaxation factors too high, (5) physical instabilities in the flow (not numerical), (6) initial conditions far from solution, (7) source term stiffness. Check mesh quality, reduce under-relaxation, and ensure proper problem setup.

How does the numerical scheme affect CFL limits?

Different schemes have different stability limits: upwind schemes (CFL ≤ 1), central differencing (often unstable for advection), Lax-Wendroff (CFL ≤ 1), Beam-Warming (CFL ≤ 2), Runge-Kutta 4 (CFL ≤ 2.8). Higher-order schemes often allow larger CFL numbers. Implicit schemes are unconditionally stable (any CFL). The scheme also affects accuracy vs. CFL: some schemes are most accurate at specific CFL values (e.g., upwind at CFL = 1).

How do I monitor CFL during a simulation?

Most CFD codes output maximum, minimum, and average CFL numbers during simulation. Monitor these values in residual plots or log files. For transient simulations, verify CFL stays in desired range (typically 0.5-0.9). If maximum CFL > 1 occurs, reduce time step or refine mesh locally. Many codes offer adaptive time stepping that automatically adjusts Δt to maintain target CFL. Also check CFL distribution across domain to identify problematic regions.

Can I use different CFL numbers for different equations?

Yes, in segregated solvers (solving momentum, energy, turbulence separately), different equations can use different CFL numbers or under-relaxation factors. The momentum equation typically uses CFL = 0.5-1, while scalar equations (energy, species) might use CFL = 1-5. Turbulence equations often need lower CFL (0.2-0.5) due to stiffness. In coupled solvers, all equations share the same time step, determined by the most restrictive CFL condition.

What is the relationship between CFL and convergence rate?

Higher CFL numbers (closer to stability limit) generally accelerate convergence to steady-state by taking larger time steps, but may cause oscillations. Very low CFL values (<0.1) are overly conservative and slow convergence. Optimal CFL balances speed and stability: start with low CFL (0.5-1) for robustness, then gradually increase (CFL ramping) to 5-20 as solution stabilizes. For transient simulations, CFL must be limited by temporal accuracy requirements, not just stability.