Skip to content
Draft. This manual is new and still being checked against the software as it is verified. Some pages will change. If something here does not match what you see, the software is right — tell us and we will fix the page.

Flow over a circular cylinder

Not yet written up. The set-up and the published reference are recorded; our own results are not. Nothing in this page may be cited until the comparison table is complete.

Case: (to be filled from run) References:

  • Roshko A., “On the development of turbulent wakes from vortex streets”, NACA Report 1191 (1954). — the empirical Strouhal–Reynolds relations quoted below.
  • Williamson C.H.K., “Defining a universal and continuous Reynolds-number– Strouhal-number relationship for the laminar vortex shedding of a circular cylinder”, Physics of Fluids 31(10) (1988) 2742–2744. — the continuous laminar-regime fit quoted below.
  • Williamson C.H.K., “Oblique and parallel modes of vortex shedding in the wake of a circular cylinder at low Reynolds numbers”, Journal of Fluid Mechanics 206 (1989) 579–627. — why published St data scatter, and what a two-dimensional calculation is actually comparable to.
  • Williamson C.H.K., “Vortex dynamics in the cylinder wake”, Annual Review of Fluid Mechanics 28 (1996) 477–539. — the review, and the source for the transition Reynolds numbers.

Last run: (to be filled from run)

A cylinder in a steady stream sheds vortices alternately from each side, and it does so at a frequency that depends only on the Reynolds number. That frequency, non-dimensionalised as the Strouhal number St = f D / U, is one of the most thoroughly measured quantities in fluid mechanics, and it is a single number the software either gets right or does not.


Everything validated so far reaches a steady answer. This one does not have a steady answer, and that is the point.

  • Genuine unsteadiness. The wake is periodic. A steady solver run on this case does not converge — it plateaus, and the plateau is not a result. This is the benchmark that checks the transient path end to end: time step, Courant control, temporal scheme, and write control.
  • Time accuracy specifically. Reattachment length can be got right by a code with a poor temporal scheme, because it is a steady quantity. A shedding frequency cannot. Excessive numerical damping suppresses the shedding altogether, and a first-order temporal scheme shifts the frequency.
  • Smooth-body separation. The separation point is not pinned to an edge — the solver has to find it on a curved surface. Neither the cavity nor the backward-facing step asks this.
  • The force output path. Cd and Cl come from the forceCoeffs result control, and a shedding cylinder is the standard way to check that the lift signal oscillates at the shedding frequency and the drag at twice it. That factor of two is a free correctness check on the whole force pipeline.
  • snappyHexMesh on curvature, if the mesh route is snapping to an imported cylinder.

Derived from docs/solver-map.md and analysis types and solvers.

Analysis type Incompressible
Time dependency Transient — mandatory. There is no steady answer
Algorithm PIMPLE (or PISO)
Solver pimpleFoam, or pisoFoam
Turbulence model Laminar at Re = 100. A RANS or scale-resolving model only for the high-Re cases
Wall treatment Not applicable while laminar
Mesher snappyHexMesh (hex-dominant) against an imported cylinder, or Import an existing mesh
Result controls Probe points in the wake for the shedding signal; Force coefficients for Cd and Cl
Known blockers None named in solverPrerequisites for either solver

Prefer pimpleFoam on current evidence. The measured section of docs/solver-map.md records the most recent end-to-end sweep as pimpleFoam RUNNING (solving cleanly when the budget expired) and pisoFoam BROKEN. That measurement is on a different case and may not survive the re-measurement in progress, but until it does, PIMPLE is the route with evidence behind it.

Laminar means laminar. At Re = 100 the shedding is a laminar instability. Running a RANS model here does not make the answer safer — it adds an eddy viscosity that damps the very instability being measured, and a case that should shed may go steady. If a turbulence model is switched on, that is a different benchmark and belongs in a different row.


These are a matter of public record and are reproduced here so the comparison table has something to compare against before anything has been run.

Two empirical fits, over two ranges:

Range Relation Expanded
Stable range, roughly 40 < Re < 150 St = 0.212 (1 − 21.2/Re) St = 0.212 − 4.4944/Re, usually quoted as ≈ 0.212 − 4.5/Re
Irregular range, roughly 300 < Re < 10⁴ St = 0.212 (1 − 12.7/Re) St = 0.212 − 2.6924/Re, usually quoted as ≈ 0.212 − 2.7/Re

The evaluations below use the exact factored form, not the rounded shorthand.

Williamson (1988), Physics of Fluids 31(10) 2742–2744

Section titled “Williamson (1988), Physics of Fluids 31(10) 2742–2744”

A single continuous fit for the laminar shedding regime, roughly 49 < Re < 178:

St = −3.3265/Re + 0.1816 + 1.6 × 10⁻⁴ Re

Arithmetic shown so it can be checked. These are evaluations of the published correlations, not tabulated experimental data points — say so if they are quoted.

Re Roshko (1954), stable range Williamson (1988)
60 0.212 − 4.4944/60 = 0.1371 −0.055442 + 0.1816 + 0.0096 = 0.1358
100 0.212 − 4.4944/100 = 0.1671 −0.033265 + 0.1816 + 0.0160 = 0.1643
150 0.212 − 4.4944/150 = 0.1820 −0.022177 + 0.1816 + 0.0240 = 0.1834

The two correlations agree with each other to within 2% across this range — 0.9% at Re = 60, 1.6% at Re = 100, 0.8% at Re = 150 — which is worth knowing: it means a run disagreeing with both by appreciably more than that is disagreeing with the measurements, not with a choice of fit.

Transcribe the equation numbers. The relations above are quoted from the published fits; confirm the equation numbers in NACA Report 1191 and in Williamson (1988) and add them to the citations when this page is finished. A citation to a paper is weaker than a citation to an equation in it.

The reason a two-dimensional run has a validity ceiling, from Williamson (1996):

Re, approximately What happens
47 Onset of vortex shedding. Below this the wake is steady
190 Mode A three-dimensional instability. The wake stops being two-dimensional
260 Mode B three-dimensional instability

Confirm these against the review before citing them from this page. They are quoted to the nearest few units because the published values are themselves given as ranges.

Consequence for us: a two-dimensional run is comparable to the published laminar curve only below roughly Re = 190. Re = 100 is comfortably inside it, which is why it is the row to run first.

Williamson (1989) is the reason the published St data below Re ≈ 180 scatter between experiments: the vortices can shed obliquely, at an angle set by the end conditions of the rig, and oblique shedding gives a lower St than parallel shedding. The continuous fit above is the parallel-shedding curve.

A two-dimensional calculation has no ends and no spanwise angle, so it can only produce parallel shedding. That makes it directly comparable to the fit — and it makes any older experimental value that was measured with oblique shedding not comparable. If a discrepancy is chased, check which curve the number came from before blaming the solver.


Body Circular cylinder, diameter D, spanning the domain
Two-dimensional Yes, for the comparison above to be valid below Re ≈ 190
Reynolds number Re = U D/ν, on the cylinder diameter and the free-stream velocity
Strouhal number St = f D / U, f the shedding frequency of the lift signal
Domain (to be filled from run) — record upstream, downstream and lateral extent in diameters
Blockage ratio (to be filled from run) — D divided by the lateral domain width
Mesh (to be filled from run) — including cells around the circumference
Boundary conditions (to be filled from run)
Fluid (to be filled from run)
Run control (to be filled from run) — end time, time step, Courant number
Result controls (to be filled from run) — probe positions and force-coefficient reference values

Record the domain extent and the blockage ratio. The published data are for effectively unbounded flow. A cylinder in a narrow domain sheds at a measurably different frequency, and it is not a solver error — it is a different problem. This is the most common reason a cylinder case “fails” validation.

Record how many shedding cycles were run and how many were discarded: (to be filled from run). The initial transient is not part of the periodic answer and including it biases the frequency.

How the frequency was extracted: (to be filled from run). Peak-counting on the lift signal, zero-crossing intervals, and an FFT of a wake probe do not give identical answers, and the comparison is only meaningful with the method stated.


Re Roshko (1954) Williamson (1988) SHD Sim CFD difference from Williamson
60 0.1371 0.1358 (to be filled from run) (to be filled from run)
100 0.1671 0.1643 (to be filled from run) (to be filled from run)
150 0.1820 0.1834 (to be filled from run) (to be filled from run)

Reference columns are evaluations of the published correlations, computed above.


Mean drag coefficient, and the amplitude of the lift oscillation. These are published, but not by Roshko or Williamson in the papers cited above, and they scatter more between sources than St does — so the reference column names the source it will come from rather than borrowing one.

Re Quantity Reference Source to transcribe from SHD Sim CFD
100 mean C_d (read from a cited source — name it here) Henderson (1995), Physics of Fluids 7(9) 2102–2104, is the usual citation for the drag curve near shedding onset (to be filled from run)
100 r.m.s. C_l (read from a cited source — name it here) (source to be named) (to be filled from run)

The free check that needs no reference at all: the lift signal must oscillate at the shedding frequency and the drag signal at twice it. That is a property of the physics, not of any particular measurement, and if it does not hold the force pipeline is wrong regardless of what the numbers are.

Lift frequency: (to be filled from run). Drag frequency: (to be filled from run). Ratio: (to be filled from run).


(to be filled from run)

Candidates, to be decided between on evidence: blockage; domain length downstream, which if too short reflects the wake; circumferential mesh resolution; time step, and whether the Courant limit or the shedding period is setting it; the temporal scheme; the number of cycles averaged; and the frequency-extraction method. Change one and see whether the number moves.


  • Turbulence modelling. At Re = 100 there is no turbulence model in the case. This page checks the transient machinery, not any RANS or LES model.
  • Near-wall treatment and wall functions. Not exercised; the boundary layer is laminar and resolved.
  • Three-dimensional wake structure. Deliberately excluded — a 2-D run cannot produce mode A or mode B, which is why the comparison is capped below Re ≈ 190.
  • High-Reynolds-number behaviour, the drag crisis, and anything involving a turbulent boundary layer on the cylinder.
  • Steady solvers. Nothing on this page says anything about simpleFoam.
  • Heat, buoyancy, compressibility, multiphase, moving mesh. None involved.
  • Absolute force accuracy. Until the force rows have a cited reference in them, this page validates a frequency, and a frequency only.

(to be filled from run) — record the exact steps taken, from the application, with no hand-editing of case files.

Include: how the cylinder geometry was produced or imported; the two-dimensional setting and thin axis; probe coordinates in diameters downstream and off the centreline; the reference area and reference length given to the force coefficients, since those set the normalisation and a wrong one changes Cd without changing St.


(to be filled from run)