Part 5:  Time Variation

1.0 Introduction

Time marches forward, adding a new dimension of possibilities to computational fluid dynamics (CFD).  When we add the time domain, simulations change from modeling steady scenarios with constant boundary conditions.  They become unsteady, with boundary conditions that change over time.  This may require changes in flow velocity, angle of attack, or any host of conditions.  Beyond the physics, modeling unsteady flow requires a few changes to the CFD solver.  Today we discuss those changes in the solver and the additional steps required to model unsteady flow in CFD.

2.0 Modeling Guidance

Modeling unsteady simulations extends naturally from steady simulations.  Take all the principles of steady simulations, which model fluid flow in three dimensions.  Apply those principles to the fourth dimension of time.  Think about resolution of the fourth dimension, consider stability in that dimension.  Building from that philosophy, unsteady simulations add a few extra modeling steps.

2.1 Inner Iterations

When modeling unsteady simulations, you need to set the number of inner iterations per timestep.  Set too few and the simulation does not converge in each timestep.  Too many, and you waste computation time. 

The number of inner iterations is coupled to the size of your timestep.  A larger timestep requires more inner iterations to achieve convergence.  The novice CFD engineer may be tempted to push for a large timestep with more inner iterations, trying to save computing resources.  This does not work.  It destabilizes the simulation.  In general, an unsteady simulation requires around 5-7 inner iterations per timestep, no more than 12.  Beyond that, the solution is to reduce the timestep.  Do not try increasing the inner iterations.  Reduce the timestep. 

2.2 Initialization

Normally, we don’t launch directly into an unsteady simulation.  First, we model a steady simulation, and then use this to create a stable initialization condition for the unsteady simulation. 

If you launch directly into an unsteady simulation, it can create too much of a shock for the solver.  Before the solver has a chance to balance the equations, the unsteady simulation progresses to the next timestep and changes the equations.  The end result: divergence and failed simulation.  The solution:  initialize with a steady simulation first.

2.3 Data Management

You may be tempted to save all the data from your simulation; preserve every timestep.  That is wonderful way to fill up every hard drive on the network.  Unsteady simulations produce hundreds of terabytes of data.  As the CFD engineer, be more selective in your data management.  Don’t save every timestep, or every variable.  Work with your system administrator to understand your data limits before starting the simulation.  Unsteady CFD enters the realm of big data and requires strategic data management.  Only save what you absolutely need.

3.0 Courant Number

When setting the timestep, we turn to the Courant Number for guidance.  The Courant Number provides a non-dimensional measurement of the timestep. 

Courant Number Equation

Courant Number Equation

In general, we set our timestep to target a Courant Number of 1.0 on the body surface.  The Courant Number is best understood through a thought experiment.  Examine Figure 3‑1.  This demonstrates the distance a fluid particle travels with successive timesteps at two different Courant Numbers.  At a Courant Number of 1.0, the particle only travels the distance of one cell in each timestep.  For each timestep, the fluid particle recognized the local velocities from each cell.  But at a Courant Number of 10, ten cells were skipped in a single timestep.  That fluid particle entered a cell using local fluid velocities from 10 cells previous.   These large discrepancies form the root of simulation instability in unsteady simulations.  When you have large Courant Numbers, the equations update with variables from cells far away from the local conditions, unbalancing the local conditions.  Hence the guidance, keep your Courant Number near 1.0.

Demonstration of Courant Number

Figure 3-1: Demonstration of Courant Number [1]


4.0 Conclusion

Unsteady simulations are not as simple as flipping a switch.  Adding a fourth dimension also added another dimension of complexity.  Inner iterations and timestep become critical to maintaining simulation stability.  The primary guide for that is the Courant Number.  Beyond stability, the CFD engineer must acknowledge practical limits on storage and plan for data management.  Simulations may be unsteady, but CFD engineers work forward with a stable plan to manage the time domain.

5.0 References


Atsushi Ueyama, “Progress of Time,” Cradle MSC Software Company, 31 Dec 2018. [Online]. Available: [Accessed 31 Dec 2018].


TCFD, “Axial Compressor CFD,” TCFD, 31 Dec 2018. [Online]. Available: [Accessed 31 Dec 2018].


YouTube Author: Holzmann CFD, “Holzmann CFD & OpenFOAM® – Dynamic Meshes in Multiphase Flows #2 (Topology Change, Ship Simulation),” YouTube, 10 Feb 2018. [Online]. Available: [Accessed 31 Dec 2018].