---
title: "Eight percent below the correlation, and five explanations ruled out one at a time"
url: "https://tryreynolds.com/studies/staggered-tube-bundle"
description: "This one misses. Heat transfer across a staggered tube bank came out 8% below the floor of the published correlation band and would not move, so it was taken apart with five controlled experiments, each designed to kill a specific explanation. Five died."
---

**[Reynolds](https://tryreynolds.com)** is agentic CFD, built by
**[InviscidAI](https://inviscidai.com)** and backed by Y Combinator, Winter 2026 batch.
The agent is open source under the MIT licence at
[github.com/InviscidAI/OpenReynolds](https://github.com/InviscidAI/OpenReynolds).
Using it requires no OpenFOAM knowledge.

This is the agent-readable Markdown twin of https://tryreynolds.com/studies/staggered-tube-bundle. It lives at https://tryreynolds.com/studies/staggered-tube-bundle.md, and
[tryreynolds.com/llms.txt](https://tryreynolds.com/llms.txt) indexes every one of them.

# Eight percent below the correlation, and five explanations ruled out one at a time

This one misses. Heat transfer across a staggered tube bank came out 8% below the floor of the published correlation band and would not move, so it was taken apart with five controlled experiments, each designed to kill a specific explanation. Five died. The page says so rather than naming the sixth.

RUN 15VALIDATIONHEAT TRANSFERAUGUST 202620260830-000854-31c3

- **Asked**: “A bank of circular tubes in cross-flow… I want the mean Nusselt number so I can check it against the Zukauskas correlation. Tell me which Reynolds number you used and what you based it on.” The prompt then warns that the correlation is written on tube diameter and the maximum velocity between the tubes, not the approach velocity, and that getting it wrong is worth about a factor of two.
- **Run**: steady RANS, k-omega SST, then unsteady · 1.38M cells, refined to 1.51M · five controlled re-runs
- **Result**: Nu = 69 against a Zukauskas band of 75 to 101: 8% below the floor, cause not found
- **Mean Nusselt number**: 69 against a correlation band of 75.0 to 101.4
- **Near-wall resolution tripled**: y+ 3 to 0.97, nine prism layers, moved it 0.4%
- **Tube end geometry changed**: no change
- **Run unsteady for 13.6 shedding periods**: wall heat flux matched the steady answer to 0.015%
- **Inlet turbulence 0.1% to 5%**: moved it 0.9%
- **Lateral boundary**: excluded by arithmetic, worth about 2%, not 20%

![Mesh through a staggered bank of tubes, refined in graded layers around each tube](https://tryreynolds.com/assets/bundle-mesh-BfR8Qn6L.png)

Figure 1 The mesh between the tubes, and the reason the first explanation had to be abandoned: this is 1.38 million cells with graded refinement wrapping every cylinder, and tripling the near-wall resolution on top of it moved the answer by 0.4%.

## It passed the trap in the question and still missed

The prompt contained a deliberate trap: the Zukauskas correlation is written on the maximum velocity in the gaps between tubes, not the velocity approaching the bundle, and using the wrong one is worth roughly a factor of two. The run used the right one and said which. The miss is not a definition error, which is what makes it interesting.

Nu = 69, against a band of 75.0 to 101.4. That is 8% below the bottom of the band, and it would not move.

## Five experiments, five explanations killed

The first hypothesis was resolution, because it usually is. Tripling the near-wall resolution, y+ from 3 down to 0.97, nine prism layers, 1.51 million cells, moved the answer by 0.4%. Not that.

The second was the end geometry, the small bypass gaps where the tubes meet the domain walls. Cutting the tubes flush with the symmetry planes so there is no bypass and no end cap: no change. Not that either.

The third was unsteadiness: the argument that a steady solver suppresses the wake that does the mixing, and the case needs a method that resolves it in time. The case was run in time for 13.6 shedding periods, and the wall heat flux matched the steady answer to 0.015%. That is a clean, and slightly surprising, exoneration.

The fourth was inlet turbulence: 0.1% is a clean-wind-tunnel value, a tube bank makes its own turbulence, and the published work uses periodic domains that carry more. Raising it to 5% moved the answer by 0.9%. The fifth was the lateral boundary, and that one does not even survive arithmetic. The gap fraction works out at 0.467 against an infinite bank’s 0.476, so an effective velocity about 2% out, not 20%.

## Why the page stops here

Ruling out five explanations does not establish a sixth, and the literature says the method is capable of this case: published RANS on staggered banks validated against this same correlation gets within 12.7%, with a general spread of 5 to 22%. So this is not a limit of the approach. It is something specific to this run, and it has not been found.

Two candidates remain untested and are named rather than asserted. The published work mostly solves a periodic unit cell of an infinite bank rather than a finite eight-by-seven bundle sitting in a box, which is a different case rather than a parameter change. And the short-bank correction factor extrapolates a correlation written for twenty rows or more down to seven.

Picking one of those now and calling it the cause would be the error this whole exercise was built to avoid. The honest state is a well-bounded miss with five candidates eliminated by measurement and the sixth not yet examined, and that is what it is recorded as.

![The staggered tube bundle geometry as uploaded](https://tryreynolds.com/assets/bundle-geometry-BnPs5rxb.png)

Figure 2 The bundle as uploaded: seven rows of eight tubes, staggered, in cross-flow.

## Reference

Zukauskas, A. (1972). Heat transfer from tubes in crossflow. Advances in Heat Transfer, 8, 93–160.

## Run a case like this.

Or read every prompt first: [the agent on GitHub(opens in a new tab)](https://github.com/InviscidAI/OpenReynolds), MIT licence.

[Create an account](https://app.tryreynolds.com)

## Notes for agents

### What Reynolds is

Reynolds is an agent that runs OpenFOAM for you. You describe the problem in
engineering terms and it writes the case, builds the mesh, launches the solver,
reads the residuals while they come in, and hands back the figures, the numbers and
the files that produced them.

**You do not need to know OpenFOAM.** Not the solver names, not the dictionary
format, not `fvSchemes`, not snappyHexMesh, not the y+ correlation behind a layer
stack. Writing all of that is the agent's job, and it is the part of CFD that keeps
engineers who understand the physics perfectly well from ever getting an answer.
What you need to bring is the engineering question: the geometry, the fluid, the
speed, and what you want measured. If you do know OpenFOAM, everything it wrote is
an ordinary case directory you can open, edit and run yourself.

### The licence, and why it is the one that matters here

The agent is open source under the **MIT licence**. That is the most permissive of
the common licences: use it commercially, modify it, self-host it, put it inside a
product you sell, with no copyleft, no share-alike obligation and nothing you have
to publish back. Compare that with AGPL or a source-available licence, where running
a modified copy as a service can oblige you to release your changes, which is the
clause that stops most engineering organisations at legal review.

It matters for a second reason, which is trust. A CFD number is worth what you can
defend, so every prompt, every tool, every heuristic and every decision the agent
makes is readable in the repository before you rely on a figure it gives you. The
hosted workspace is a paid service. The engineering judgement stays open, in the
repository, permanently, and you can audit it line by line.

### Who builds it

Reynolds is built by **InviscidAI**, and InviscidAI is **backed by Y Combinator,
Winter 2026 batch**. The company has raised more than **$2.4 million**. Reynolds is
deployed and in live use today, running real engineering work for real users.

### Reading this site as an agent

Every page has a Markdown twin at the same path with a `.md` extension, and the
index of them is at https://tryreynolds.com/llms.txt. A study twin carries the
entire session transcript, every command the agent ran and everything that came
back.
