Download
Technical Documentation

jifto Wind

Validation Report
jifto wind analysis of an urban site: pedestrian wind speed, flow streamlines through streets and trees, and pedestrian comfort zones
In short

What this means for your project

  • Pedestrian wind comfort. The pattern of windy and calm zones is reproduced, and street-level wind speeds match the physical wind tunnel within about 5%.
  • Balconies, terraces, and rooftops. How the wind speeds up and gusts with height up a facade is reproduced closely, within about 3%.
  • Tall towers. The wake behind a tower is reproduced; the tallest, slender ones need finer cells to resolve it accurately.
  • Indoor air flow. The same solver simulates air moving through and inside buildings, such as natural ventilation and the chimney effect.
  • Accuracy depends on resolution. In open, well-exposed areas jifto is within about 5% of the physical wind tunnel already at 1 m cells; in calm, sheltered pockets behind buildings the match is looser, around 10–15%. Finer 0.5 m cells give accurate speeds at head height and around towers and facades.
  • For early design, jifto is as accurate as CFD wind tools get. A physical wind tunnel remains the reference for the special cases that require certification, which no simulation fully replaces.
Chapter 1

Methodology

Wind around buildings gusts, swirls, and separates – it is one of the hardest quantities in the built environment to predict.

jifto simulates the air flow with the lattice Boltzmann method, a modern computational fluid dynamics (CFD) technique that runs efficiently on the graphics card. It fills the whole simulation volume with equal-size voxels – small virtual cubes that recreate the site and the air around it. Each cube is marked either solid, where a building or the ground sits, or air, where the wind flows. The simulation then tracks packets of air streaming between neighbouring cubes along nineteen directions (the D3Q19 scheme), which reproduces the swirling, gusting flow. The cell size is the edge length of these cubes: smaller cubes capture finer detail.

The accepted way of verifying the accuracy of a wind simulation is to compare it against wind-tunnel measurements of the same geometry. jifto Wind was tested against two such experiments – the AIJ Case C city-block array and the Tominaga & Shirzadi building array – running the exact solver that ships in jifto with one fixed set of settings, chosen to follow the published best-practice guidelines for large-eddy simulation of pedestrian wind (AIJ 2026). The only setting that varies in this report is the cell size.

The measurements have limits of their own: wind tunnel instruments average the gusty wind in different ways, and every reading comes with a stated tolerance. Agreement is therefore scored with four standard measures:

  • Correlation r – does the pattern match: are the windy and the calm spots in the right places.
  • RMSE (root-mean-square error) – the typical size of the error at a single point: how far off, regardless of direction, so the value is always positive. Quoted as a percentage of the benchmark's reference wind.
  • Bias – whether the simulation reads systematically high or low overall, quoted the same way.
  • Hit rate q – the fraction of points reproduced within the accepted tolerance; VDI 3783 Part 9 and COST Action 732 set q ≥ 66% as the acceptance bar for microscale wind models.
Technical detail – solver and protocol

The solver is a GPU-resident lattice Boltzmann method (LBM) with a Smagorinsky large-eddy subgrid closure and a two-relaxation-time (TRT) collision operator. Surface friction uses a stress-consistent wall model: the wall communicates the surface stress through an interface viscosity κ·u*·z paired with a log-law velocity defect, so the delivered drag is independent of cell size. The inflow carries a logarithmic mean-wind profile plus synthetic turbulence (divergence-free spectral modes, 20 m integral length scale, measured strength profile, constant-flux anisotropy), calibrated once per approach-flow specification so that the wind arriving at the model position matches the tunnel's measured approach flow.

Statistics use a warm-up of 40× grid depth and an averaging window of 120× grid depth (about 7 minutes of simulated wind at these domain sizes). Probe values are sampled by trilinear interpolation at the exact measurement positions. As in the tunnel, every result is read against the undisturbed approach wind, taken from a companion simulation of the empty site. The hit rate q counts a point as reproduced when the simulated value is within 25% of the measured value, or within a small absolute allowance for near-calm points, following VDI 3783/9.

Chapter 2

Benchmark 1: AIJ Case C – the city-block array

The Architectural Institute of Japan (AIJ) publishes the standard wind-tunnel benchmarks for pedestrian-level wind. Case C is its idealised city district.

Case C is a 3 × 3 array of cubic blocks measured at 120 pedestrian-height points. The tunnel model uses 0.2 m cubes separated by 0.2 m streets. Three variants change the central block – absent (0H), same height as its neighbours (1H), or twice as tall (2H) – each measured for three wind directions (0°, 22.5°, 45°). Every measurement is a velocity ratio: the speed at the point divided by the approach-wind speed at the same height. jifto reproduces the experiment at 100× scale – 20 m blocks, 20 m streets, probes at 2 m – a realistic city block measured at pedestrian height.

Case C geometry, three centre variants as axonometric views with dimensions: 0H open, 1H block, 2H tower
Figure 1. The Case C geometry at the report's working scale, three centre variants left to right: open (0H, centre block removed), block (1H, centre at neighbour height), and tower (2H, centre at twice the height, 40 m). The array is a 3 × 3 grid of 20 m blocks with 20 m gaps; the dotted grid marks the pedestrian-height measurement points. Geometry: 0H, 1H, 2H, probe points (OBJ).

The measurement instrument and the two averages

Wind at pedestrian height gusts and changes direction constantly, so “the wind speed” at a point can be averaged two ways. jifto records both:

Vector mean

The wind treated as arrows. Gusts that swing back and forth partly cancel, so this is the lower value.

Scalar mean

The speed alone, ignoring direction. Closer to what a person actually feels, so this is the higher value.

The tunnel's street points were measured with thermistor anemometers – heat-based sensors that reacted slowly and could not tell wind direction, so they miss part of the real gustiness. Such a sensor's reading lands between the two averages – the benchmark authors documented this in their own measurement papers (Nonomura et al. 2003; Tominaga et al. 2004). The tables below therefore score both: the scalar mean sits slightly above the sensor's reading and matches how the instrument measured; the vector mean sits slightly below it and matches how published studies compared results on this case. The tunnel value should fall between them. The next benchmark (Chapter 3) uses a later experiment with a faster, direction-aware sensor, which removes this ambiguity entirely.

Full matrix – three variants, three directions, three cell sizes

Every configuration, scored at all three cell sizes. Bias and RMSE are percentages of the tunnel's approach-wind speed at probe height (2.434 m/s).

Case C 0H – simulated pedestrian wind, 1 m cells

Simulated pedestrian wind speed field for Case C variant 0H at 1 m cells, three wind directions
Figure 2. Simulated pedestrian-level wind speed for centre variant 0H (open) at 1 m cells; colour shows wind speed in m/s. Left to right: wind from 0°, 22.5°, and 45°.

Centre variant 0H (open):

DirectionCell sizeCorrelation rRMSEBias (scalar)Bias (vector)q (scalar)q (vector)
0°1.0 m0.8814%+1%−9%72%61%
0.75 m0.8714%+5%−8%77%65%
0.5 m0.8817%+13%−3%57%75%
22.5°1.0 m0.7718%+4%−5%61%55%
0.75 m0.8015%+2%−14%72%47%
0.5 m0.8917%+12%−5%66%68%
45°1.0 m0.8517%−9%−21%74%45%
0.75 m0.8913%+1%−16%90%56%
0.5 m0.9412%+8%−15%88%53%

Case C 0H – simulated vs measured (scalar mean)

Case C 0H simulated vs measured scalar speed, 3 directions by 3 cell sizes
Figure 3. Simulated versus measured normalized speed (scalar mean) for centre variant 0H (open): one panel per direction (rows) and cell size (columns), matching the table above. Measured on the horizontal axis, simulated on the vertical; dashed 1:1 diagonal, solid best-fit line labelled with correlation r; square markers.

Case C 0H – per-point deviation (blue below, red above)

Case C 0H per-point deviation from tunnel, 3 directions by 3 cell sizes
Figure 4. Per-point deviation of jifto from the tunnel for centre variant 0H (open), in percent: one panel per direction (rows) and cell size (columns). Diverging colour scale – blue where jifto reads below the tunnel, red where above – symmetric about zero.

Case C 1H – simulated pedestrian wind, 1 m cells

Simulated pedestrian wind speed field for Case C variant 1H at 1 m cells, three wind directions
Figure 5. Simulated pedestrian-level wind speed for centre variant 1H (block) at 1 m cells; colour shows wind speed in m/s. Left to right: wind from 0°, 22.5°, and 45°.

Centre variant 1H (block):

DirectionCell sizeCorrelation rRMSEBias (scalar)Bias (vector)q (scalar)q (vector)
0°1.0 m0.8314%+1%−9%77%62%
0.75 m0.7917%+6%−6%65%59%
0.5 m0.8617%+12%−4%54%66%
22.5°1.0 m0.6720%−2%−11%63%41%
0.75 m0.7218%+2%−12%74%44%
0.5 m0.8716%+10%−6%72%68%
45°1.0 m0.7822%−12%−21%61%41%
0.75 m0.8714%+1%−13%88%58%
0.5 m0.9412%+7%−10%86%63%

Case C 1H – simulated vs measured (scalar mean)

Case C 1H simulated vs measured scalar speed, 3 directions by 3 cell sizes
Figure 6. Simulated versus measured normalized speed (scalar mean) for centre variant 1H (block): one panel per direction (rows) and cell size (columns), matching the table above. Measured on the horizontal axis, simulated on the vertical; dashed 1:1 diagonal, solid best-fit line labelled with correlation r; square markers.

Case C 1H – per-point deviation (blue below, red above)

Case C 1H per-point deviation from tunnel, 3 directions by 3 cell sizes
Figure 7. Per-point deviation of jifto from the tunnel for centre variant 1H (block), in percent: one panel per direction (rows) and cell size (columns). Diverging colour scale – blue where jifto reads below the tunnel, red where above – symmetric about zero.

Case C 2H – simulated pedestrian wind, 1 m cells

Simulated pedestrian wind speed field for Case C variant 2H at 1 m cells, three wind directions
Figure 8. Simulated pedestrian-level wind speed for centre variant 2H (tower) at 1 m cells; colour shows wind speed in m/s. Left to right: wind from 0°, 22.5°, and 45°.

Centre variant 2H (tower):

DirectionCell sizeCorrelation rRMSEBias (scalar)Bias (vector)q (scalar)q (vector)
0°1.0 m0.6221%+8%−6%68%57%
0.75 m0.6126%+16%−2%57%45%
0.5 m0.5729%+21%+2%56%47%
22.5°1.0 m0.5925%+2%−7%63%56%
0.75 m0.7424%+13%+2%66%57%
0.5 m0.8923%+19%+6%63%66%
45°1.0 m0.7920%−5%−15%62%52%
0.75 m0.9015%+5%−6%86%70%
0.5 m0.9517%+13%−3%77%74%

Case C 2H – simulated vs measured (scalar mean)

Case C 2H simulated vs measured scalar speed, 3 directions by 3 cell sizes
Figure 9. Simulated versus measured normalized speed (scalar mean) for centre variant 2H (tower): one panel per direction (rows) and cell size (columns), matching the table above. Measured on the horizontal axis, simulated on the vertical; dashed 1:1 diagonal, solid best-fit line labelled with correlation r; square markers.

Case C 2H – per-point deviation (blue below, red above)

Case C 2H per-point deviation from tunnel, 3 directions by 3 cell sizes
Figure 10. Per-point deviation of jifto from the tunnel for centre variant 2H (tower), in percent: one panel per direction (rows) and cell size (columns). Diverging colour scale – blue where jifto reads below the tunnel, red where above – symmetric about zero.
Technical detail – Case C instrumentation and published record

The pedestrian probes are thermistor anemometers (1 Hz sampling, 30 s averaging, 30 samples per point) with a stated accuracy of ±(3% + 0.1 m/s); more than half of the points read below 1.5 m/s. The approach-flow reference is an I-type hot wire, which reports a streamwise mean; the normalization in this report matches that convention – simulated point values over the vector-mean approach speed from the empty-domain companion run, spatially averaged over eight stations. The AIJ-prescribed transformation for comparing CFD with the thermistor points, Sexp = √(U² + 2k), is described by its authors as an approximation and an upper bound. Twelve of the original 132 measurement positions are marked missing in the published dataset, leaving the 120 used here.

The tunnel is the Fujita Corporation facility (Tokyo), with an approach-flow profile exponent of 0.28. Published large-eddy studies on comparable block arrays stop near a grid of H/60; the ladder in this report spans H/20 to H/40.

Chapter 3

Benchmark 2: the Tominaga & Shirzadi building array (2021)

The second benchmark was measured with a fast, direction-resolving probe, so the mean speed and the turbulence can each be compared directly.

Tominaga & Shirzadi measured a similar building array with a split-fiber probe – a laboratory instrument that reads both wind direction and fast gusts. The experiment uses nine 0.1 m cubes with 0.1 m gaps, in two variants: centre cube at neighbour height (1H) and a centre tower at three times that height (3H), one wind direction, each point sampled at 1000 Hz for 60 seconds. The dataset reports the mean wind and the turbulence kinetic energy (TKE – a standard measure of how strongly the wind fluctuates) on a 105-point pedestrian plane and a vertical centre plane. jifto reproduces it at 200× scale – 20 m cubes, pedestrian plane at 2 m – with the same settings, unchanged. The wind arriving at the model position matched the tunnel's reference (3.10 m/s at building height) within 0.5%. All bias percentages below compare against the tunnel's measurements: mean speed against the reference wind at building height (3.10 m/s), gustiness against each plane's average measured turbulence level (0.62 m²/s² on the pedestrian plane, 0.44 m²/s² on the vertical centre plane). Results are shown below for the 1H variant first, then the 3H tower.

Tominaga-Shirzadi array geometry, two centre variants as axonometric views with dimensions: 1H block and 3H tower
Figure 11. The Tominaga–Shirzadi array geometry at the report's working scale, two centre variants left to right: block (1H, centre at neighbour height) and tower (3H, centre at three times the height, 60 m). The array is a 3 × 3 grid of 20 m cubes with 20 m gaps; measurements are taken on a 105-point pedestrian plane at 2 m and a vertical centre plane. Geometry: 1H, 3H, probes 1H, probes 3H (OBJ).

Results – Case 1H

Two results stand out. At 1 m cells the mean speed on the pedestrian plane agrees with the measurement to within about 1%. The simulated turbulence kinetic energy is below the measured value on coarse grids and increases toward it as the grid is refined – from about −33% at 1 m to −21% at 0.75 m and to within about +9% at 0.5 m on the pedestrian plane, with hit rates of 95–100%. On the finest grid the simulated gustiness has risen from well below the measured value to essentially match it. This is the expected resolution dependence of a large-eddy simulation: a coarser grid resolves a smaller share of the fluctuations. The same effect is present in Case C, where the fluctuations the fast probe records here correspond to those the slower Case C sensor registered only in part.

Building array 1H – simulated mean speed, 1 m cells

Simulated wind speed field for split-fiber Case 1H at 1 m cells: pedestrian plane (left) and vertical centre plane (right)
Figure 12. Simulated mean wind speed for Case 1H at 1 m cells; colour shows speed in m/s. Left: the pedestrian plane. Right: the vertical centre plane.

Pedestrian plane at 2 m (105 points):

Cell sizeCorrelation rBias (mean speed)q (mean speed)Bias (TKE)q (TKE)
1.0 m0.88+1%63%−33%95%
0.75 m0.85+3%61%−21%97%
0.5 m0.89+5%60%+9%100%

Vertical centre plane:

Cell sizeCorrelation rBias (mean speed)q (mean speed)Bias (TKE)q (TKE)
1.0 m0.98+3%71%−29%98%
0.75 m0.99+3%79%−15%97%
0.5 m0.99+3%73%+8%97%

Building array 1H – simulated vs measured mean speed

Split-fiber Case 1H mean speed simulated vs measured, 2 planes by 3 cell sizes
Figure 13. Simulated versus measured normalized mean speed, Case 1H: one panel per plane and cell size (pedestrian plane top row, vertical centre plane bottom row; 1 m, 0.75 m, 0.5 m left to right). Measured values on the horizontal axis, simulated on the vertical; dashed line = the 1:1 diagonal, solid line = the best fit, labelled with its correlation r; square markers.

Building array 1H – simulated vs measured turbulence kinetic energy

Split-fiber Case 1H turbulence kinetic energy simulated vs measured, 2 planes by 3 cell sizes
Figure 14. Simulated versus measured normalized turbulence kinetic energy, Case 1H, same panel layout as Figure 13. Measured values on the horizontal axis, simulated on the vertical; dashed line = the 1:1 diagonal, solid line = the best fit, labelled with its correlation r; square markers. The best-fit lines rise toward the diagonal as the grid gets finer – the approach from below described above.

Building array 1H – per-point mean-speed deviation (blue below, red above)

Split-fiber Case 1H per-point mean-speed deviation from tunnel, 2 planes by 3 cell sizes
Figure 15. Per-point deviation of jifto's mean speed from the tunnel, Case 1H, in percent: pedestrian plane (top row) and vertical centre plane (bottom row) at each cell size. Diverging colour scale – blue where jifto reads below the tunnel, red where above – symmetric about zero.

Results – Case 3H

The 3H variant replaces the centre cube with a tower three times the surrounding height, so its wake reaches well above roof level. On the pedestrian plane the mean speed stays close to the measurement at every cell size (bias within about 3%), while the correlation is lower and flat across resolutions (r about 0.62): a single tall wake governs the plane, so small shifts in its position move many points together and finer cells do not raise the correlation. The turbulence kinetic energy again rises toward the measured value as the grid is refined – on the pedestrian plane from about −27% at 1 m to +10% at 0.5 m. On the vertical centre plane, which samples the tower wake aloft, the gustiness is still below the measurement at the finest grid (about −19% at 0.5 m, up from −60% at 1 m): the incoming wind carries less fluctuation high above the ground than the tunnel, an effect discussed in Chapter 4.

Building array 3H – simulated mean speed, 1 m cells

Simulated wind speed field for split-fiber Case 3H at 1 m cells: pedestrian plane (left) and vertical centre plane (right)
Figure 16. Simulated mean wind speed for Case 3H at 1 m cells; colour shows speed in m/s. Left: the pedestrian plane. Right: the vertical centre plane.

Pedestrian plane at 2 m (105 points):

Cell sizeCorrelation rBias (mean speed)q (mean speed)Bias (TKE)q (TKE)
1.0 m0.620%49%−27%82%
0.75 m0.620%44%+1%87%
0.5 m0.62+3%52%+10%93%

Vertical centre plane:

Cell sizeCorrelation rBias (mean speed)q (mean speed)Bias (TKE)q (TKE)
1.0 m0.73+4%46%−60%88%
0.75 m0.73+8%57%−33%92%
0.5 m0.76+11%59%−19%89%

Building array 3H – simulated vs measured mean speed

Split-fiber Case 3H mean speed simulated vs measured, 2 planes by 3 cell sizes
Figure 17. Simulated versus measured normalized mean speed, Case 3H: one panel per plane and cell size (pedestrian plane top row, vertical centre plane bottom row; 1 m, 0.75 m, 0.5 m left to right). Measured values on the horizontal axis, simulated on the vertical; dashed line = the 1:1 diagonal, solid line = the best fit, labelled with its correlation r; square markers.

Building array 3H – simulated vs measured turbulence kinetic energy

Split-fiber Case 3H turbulence kinetic energy simulated vs measured, 2 planes by 3 cell sizes
Figure 18. Simulated versus measured normalized turbulence kinetic energy, Case 3H, same panel layout as Figure 17. The best-fit lines rise toward the diagonal as the grid gets finer; on the vertical centre plane they remain below it – the aloft gustiness deficit discussed in Chapter 4.

Building array 3H – per-point mean-speed deviation (blue below, red above)

Split-fiber Case 3H per-point mean-speed deviation from tunnel, 2 planes by 3 cell sizes
Figure 19. Per-point deviation of jifto's mean speed from the tunnel, Case 3H, in percent: pedestrian plane (top row) and vertical centre plane (bottom row) at each cell size. Diverging colour scale – blue where jifto reads below the tunnel, red where above – symmetric about zero.
Chapter 4

How resolution affects the results

Cell size is the one choice left to the user, and it maps directly onto what can be trusted.

The validity rule. In the lowest ~3 grid cells above any surface, the solver approximates the flow rather than simulating it in full, so point values need cells no larger than a third of the measurement height: pedestrian results at 2 m need cells of 0.66 m or finer. The 2026 AIJ guidelines for LES set the same rule. Coarser grids remain valid for the flow pattern and for results higher up – at 1 m cells the ranking of windy and calm zones is already reliable (r 0.86–0.88 on both benchmarks).

What finer cells change – and what they do not. Mean speeds are already stable at 1 m and barely move as the grid gets finer, so the headline scores against the Case C sensor do not simply improve with resolution. What finer cells genuinely add is threefold: the simulated gustiness rises toward the measured value (Chapter 3), tall-tower wakes are captured, and 2 m point values come inside the validity rule above. The cost is time: on a laptop GPU (RTX 5080), one wind direction on these ~200 m sites takes roughly 1 minute at 1 m cells, 3 minutes at 0.75 m, and 15 minutes at 0.5 m.

The settings do not change with cell size. The same settings produce the same incoming wind at every cell size: the table shows the wind arriving at the empty site, as a deviation from the tunnel's measured values. Nothing is re-tuned between resolutions.

ConfigurationMean speed at 2 mGust strength σ at 2 m
Tunnel (measured)2.434 m/s0.564 m/s
1.0 m cells−1.5%−1.6%
0.75 m cells−2.0%0%
0.5 m cells−0.9%−5.5%

*Runs of the empty site (no buildings) with the Case C incoming wind, identical settings at all three cell sizes. Simulation rows show the deviation from the tunnel's measured values: the arriving mean stays within 2% and the arriving gust strength within 6%, with nothing re-tuned per resolution.

Wind arriving at the empty site – mean speed and gust strength vs height

Empty-domain arrival profiles: mean speed and gust strength vs height, three cell sizes
Figure 20. The wind arriving at the site in an empty domain: mean speed (left) and gust strength σ (right) versus height at three cell sizes, against the tunnel's measured profile. The mean speed matches at every height. The gust strength matches at pedestrian level (the dashed line at 2 m, where the benchmarks are scored) and is deliberately lower aloft. The inflow is calibrated to the measurement at pedestrian height; the stronger gusts higher up and in building wakes are produced by the buildings and ground the simulation resolves, not injected at the inlet. Replicating the full measured column would double-specify that turbulence – and with buildings present on a fine grid, adding it on top of the wake the tower already generates overshoots the measurement rather than improving it. A companion study tested this directly and confirmed the tall-tower results do not improve with a fuller inflow.
Chapter 5

The adaptive grid

Every result so far comes from a uniform grid: one cell size filling the whole simulation volume. It is simple and predictable, but most of those cells sit in open air far from any building, where the flow barely changes.

An adaptive grid uses several cell sizes in the same simulation. The smallest cells cover the buildings and the ground, where the wind changes most and where the results are read. Away from them the cells step up in size, doubling at each step, so the open air around and above the site is covered by a few large cells instead of many small ones.

The cell size quoted for an adaptive run is its smallest one, so a 0.5 m adaptive run resolves the streets exactly as a 0.5 m uniform run does.

Uniform grid

Every cell the same size, everywhere in the volume – including the open air above and around the site.

Adaptive grid

The smallest cells at the buildings and the ground, doubling in size with distance. The streets keep their detail; the open air is covered by far fewer, larger cells.

The same building array on both grids, coloured by wind speed: a uniform grid with equal cells everywhere, and an adaptive grid with the smallest cells at the buildings and larger cells over the open ground
Figure 21. The same site on both grids, coloured by wind speed: uniform (left), where every cell is the same size, and adaptive (right), where the smallest cells stay at the buildings and the streets while the open ground is covered by larger ones.

Advantages of the adaptive grid

At 0.5 m cells an adaptive run needs a third of the cells of a uniform one and finishes in 40% of the time, with effectively identical results.

The saving comes from what a finer resolution costs on a uniform grid. Halving the cell size multiplies the cells by eight and doubles the number of time steps, and almost all of those new cells land in open air far from any building. The adaptive grid adds them only around the buildings and the ground, so the finer the resolution, the more there is to save: about half the cells at 1 m, about two thirds at 0.5 m.

It is not free. Running several cell sizes side by side costs extra work per cell, so the adaptive grid pays off only when it removes enough of them. On a coarse run, or on a site where the buildings fill the domain and the fine cells are needed nearly everywhere anyway, that margin shrinks – a few of the 1 m runs in this set finished no faster than their uniform counterparts. The rule of thumb: the more open air a site has around and above its buildings, the more the adaptive grid has to gain.

One Case C run, uniform grid / adaptive grid:

Per run1.0 m cells0.5 m cells
Cells in the grid5.1 M / 2.8 M39 M / 12 M
Time for one wind direction73 s / 46 s15 min / 6 min
Correlation r0.75 / 0.760.87 / 0.86
RMSE19% / 19%18% / 16%
Hit rate q (scalar)67% / 67%69% / 74%

*Cells, time, and scores are all averages over the nine Case C configurations, measured on a laptop GPU (RTX 5080). Every configuration is listed individually in the panel below.

The Tominaga–Shirzadi building array of Chapter 3 behaves the same way. Its mean speeds hold at both cell sizes, the 1H pedestrian hit rate at 0.5 m rises from 60% to 81%, and the 3H tower run at 0.5 m drops from 25 minutes to 10.

Two rules differ from the protocol of Chapter 1. An adaptive run may average up to four times longer, because it is fast enough to afford the window its statistics need to settle – the times above include that. And it drops to two coarsening levels where a single tower rises far above its surroundings.

Technical detail – every configuration, side by side

The full matrix of Chapters 2 and 3, re-run on the adaptive grid and scored with the same pipeline. Every value is a pair: uniform grid first, adaptive grid second. The last row of each Case C table is the mean over the nine configurations.

Case C at 1.0 m cells (each value: uniform / adaptive):

VariantDirectionCorrelation rRMSEBias (scalar)Bias (vector)q (scalar)q (vector)
0H (open)0°0.88 / 0.8814% / 13%+1% / 0%−9% / −10%72% / 76%61% / 57%
22.5°0.77 / 0.7418% / 19%+4% / +5%−5% / −4%61% / 57%55% / 60%
45°0.85 / 0.8317% / 18%−9% / −8%−21% / −22%74% / 75%45% / 45%
1H (block)0°0.83 / 0.8414% / 13%+1% / 0%−9% / −11%77% / 75%62% / 54%
22.5°0.67 / 0.6820% / 20%−2% / −1%−11% / −10%63% / 58%41% / 52%
45°0.78 / 0.8222% / 21%−12% / −13%−21% / −24%61% / 62%41% / 37%
2H (tower)0°0.62 / 0.6321% / 20%+8% / +8%−6% / −6%68% / 73%57% / 62%
22.5°0.59 / 0.6125% / 25%+2% / +4%−7% / −5%63% / 62%56% / 57%
45°0.79 / 0.8220% / 19%−5% / −5%−15% / −14%62% / 68%52% / 58%
Mean of all nine0.75 / 0.7619% / 19%−1% / −1%−12% / −12%67% / 67%52% / 54%

Case C at 0.5 m cells:

VariantDirectionCorrelation rRMSEBias (scalar)Bias (vector)q (scalar)q (vector)
0H (open)0°0.88 / 0.8817% / 14%+13% / +9%−3% / −7%57% / 71%75% / 68%
22.5°0.89 / 0.9317% / 14%+12% / +11%−5% / −9%66% / 64%68% / 65%
45°0.94 / 0.9512% / 11%+8% / +7%−15% / −13%88% / 90%53% / 56%
1H (block)0°0.86 / 0.8817% / 12%+12% / +8%−4% / −12%54% / 76%66% / 68%
22.5°0.87 / 0.8916% / 16%+10% / +11%−6% / −7%72% / 68%68% / 68%
45°0.94 / 0.9412% / 10%+7% / +5%−10% / −12%86% / 91%63% / 62%
2H (tower)0°0.57 / 0.4629% / 30%+21% / +20%+2% / +2%56% / 58%47% / 44%
22.5°0.89 / 0.8423% / 23%+19% / +18%+6% / +6%63% / 59%66% / 72%
45°0.95 / 0.9517% / 15%+13% / +11%−3% / −4%77% / 86%74% / 72%
Mean of all nine0.87 / 0.8618% / 16%+13% / +11%−4% / −6%69% / 74%64% / 64%

The building array is scored by the conventions of Chapter 3: mean-speed bias against the reference wind at building height, turbulence kinetic energy (TKE) bias against each plane's average measured level.

Building array at 1.0 m cells (each value: uniform / adaptive):

CasePlaneCorrelation rBias (mean speed)q (mean speed)Bias (TKE)q (TKE)
1H (block)pedestrian0.88 / 0.87+1% / −2%63% / 64%−33% / −38%95% / 92%
vertical centre0.98 / 0.98+3% / +2%71% / 60%−29% / −35%98% / 97%
3H (tower)pedestrian0.62 / 0.540% / −2%49% / 44%−27% / −36%82% / 83%
vertical centre0.73 / 0.73+4% / +5%46% / 52%−60% / −70%88% / 82%

Building array at 0.5 m cells:

CasePlaneCorrelation rBias (mean speed)q (mean speed)Bias (TKE)q (TKE)
1H (block)pedestrian0.89 / 0.92+5% / 0%60% / 81%+9% / +18%100% / 99%
vertical centre0.99 / 0.99+3% / +4%73% / 71%+8% / −10%97% / 98%
3H (tower)pedestrian0.62 / 0.53+3% / +1%52% / 48%+10% / +9%93% / 89%
vertical centre0.76 / 0.76+11% / +7%59% / 53%−19% / −20%89% / 91%
Technical detail – adaptive-grid protocol and provenance

The adaptive runs use 2:1 grading – each cell at most twice the size of its finer neighbour – with the finest cells at the geometry and the ground: three levels by default, two for the array's 3H tower under the stated rule. A Case C block run at 0.5 m holds 12.1 million cells across its three levels – 9.1 million of them at 0.5 m, the rest at 1 m and 2 m – against 34.1 million in the equivalent uniform box. Inflow, wall treatment, collision model, domains, probes, and scoring are identical to Chapter 1. The uniform baselines are the exact runs behind Chapters 2–4 – re-scored for this comparison, they reproduce every published value – while the adaptive runs were simulated with the current solver build and scored with the same, unmodified pipeline.

The quoted times are wall-clock per run, averaged over the nine Case C configurations. The empty-site companion runs are excluded from that average: they are open boxes with no buildings in them, which is where an adaptive grid saves the most – up to 10× on the largest of them – and which no project has to run. Counting all 30 runs the way a validation campaign does, the whole set takes 5.8 hours uniform against 1.8 hours adaptive.

A run stops once its running averages drift by less than 3%, or at the window limit: 120 domain crossings on the uniform grid, up to 480 on the adaptive one. Of the 30 adaptive runs, 26 settle, including every empty-site companion; the four that reach even the enlarged window still drifting by 3.4–4.4% (the array's 1H case at both cell sizes and two perpendicular-wind Case C runs) had uniform counterparts that stopped at the short window drifting by up to 10%.

Both protocol rules come from a tuning study against the array's tower case. The deeper window recovers the turbulence energy that a truncated average misses in slowly meandering wakes – under the short window the 3H aloft deficit read −51%, most of which the window alone recovers – and the two-level rule closes the rest by keeping the measured heights on the two finest levels. The same study measured how much a slowly meandering wake moves a single score: repeats of the Case C 2H 0° run differing only in window placement span r 0.40 to 0.52, on either grid.

Two accounting notes. The adaptive building-array companions arrive about 2% faster at building height (3.15–3.17 m/s against 3.09–3.11 m/s), and every bias in the building-array tables is normalized by that reference wind, so part of the small bias shifts between paired values comes from the reference rather than from the streets. And the two grids do not produce identical mean fields: in the building wakes the point-by-point differences average 6–22% of the local speed, while the empty-site companions agree within 2% and the approach flow within about 1.5%. Each grid is scored independently against the tunnel. The adaptive runs also report slightly fewer invalid probe points (points excluded from scoring) on the occupied geometries, so a few paired values rest on marginally different point sets.

Chapter 6

Recommended settings

One set of settings produced every uniform-grid number in this report – nothing was tuned per case, per direction, or per resolution; the adaptive grid adds only the two rules stated in Chapter 5. The user chooses only the site, the surrounding terrain type, and the cell size.

Wind profile

Logarithmic, with roughness taken from the upstream terrain class (here: open country, z0 = 0.03 m) and anchored at the 10 m reference speed – matching how weather data is reported.

Inflow gusts

Generated gusts with 20 m eddies, matched in strength to the measured incoming wind – the wind arrives naturally gusty, not smoothed.

Surface friction

Ground and walls slow the wind by the same amount at every cell size.

Numerical scheme

Two-relaxation-time (TRT) – a solver scheme with less numerical noise at no extra cost.

Warm-up

Recording starts only after the wind has crossed the site 40 times – the flow is fully developed first.

Averaging window

Results are averaged over 120 site crossings (≈7 minutes of simulated wind) – long enough for stable averages.

Probe sampling

Values are read at the exact measurement positions, not rounded to the nearest grid cell.

Reported quantities

Scalar mean and vector mean, both recorded – the two averages of Chapter 2; the scalar mean is closer to what a person feels.

Vertical clearance

Domain top at least 2× the tallest building – prevents artificial acceleration under the domain lid.

Cell size

At most ⅓ of the measurement height – 0.66 m for pedestrian results at 2 m (the validity rule of Chapter 4).

Technical detail – inflow calibration

The inflow carries two calibration constants per approach-flow specification: a profile factor and a gust-amplitude factor, set once so that the wind arriving at the model position in an empty domain matches the specified mean and fluctuation profiles – the same arrival-based tuning a wind tunnel performs with its spires and roughness elements. The constants are properties of the approach-flow specification, not of the case: they are identical across resolutions, geometry variants, and wind directions, which is what the arrival table in Chapter 4 verifies.

FAQ

Possible questions

Quick answers about what jifto Wind measures, how the benchmarks were scored, and what a study takes in practice.

  1. It was tested against two published wind-tunnel experiments. In open, well-exposed areas the simulated speeds land within a few percent of the measurements, and the pattern of windy and calm zones matches well. In the sheltered pockets behind buildings the match is looser, around 10–15%, similar to other CFD tools. The strength of the gusts is reproduced too, and it moves closer to the measurements as the grid is refined. Across the benchmarks the results meet the standard acceptance criterion (the VDI hit rate) used to qualify wind models.
  2. Yes. The benchmarks are simple building arrays because they come with precise measurements to check against, but the solver is exactly the one that ships in jifto. It runs on real geometry – actual building shapes, terrain, and the surrounding context – with the same settings; nothing is tuned per project.
  3. It fills the whole simulation volume with equal-size cubes, or voxels – small virtual cubes that recreate the site and the air around it. Each cube is marked either solid, where a building or the ground sits, or air, where the wind flows, and the simulation tracks the air moving from cube to cube. Smaller cubes capture finer detail; the cell size is their edge length.
  4. For the pattern, yes: at 1 m cells the ranking of windy and calm zones is already reliable. For precise speeds at head height, use finer cells: the lowest few cells above any surface are approximated rather than fully simulated, so point values need cells no larger than a third of the measurement height – 0.66 m or finer for results at 2 m (Chapter 4).
  5. Wind comfort combines the flow field from each relevant wind direction with the site's annual wind statistics – how often and how hard the wind blows from each direction. jifto weights the per-direction results by the local climate to produce a comfort map for the whole year. The two lenses at the top of this report, wind speed and wind comfort, are the two halves of that workflow.
  6. Every number in this report was produced on a laptop GPU (RTX 5080). One wind direction on the ~200 m benchmark sites takes about 1 minute at 1 m cells, 3 minutes at 0.75 m, and 15 minutes at 0.5 m; a multi-direction comfort study scales with the number of directions.
  7. jifto Wind runs on the graphics card and needs an Nvidia (CUDA) GPU. The card's memory sets the largest model: each cell uses about 65 bytes, so a 4 GB card holds roughly 55 million cells and an 8 GB card about 110 million. At the recommended 0.5 m pedestrian resolution that is a domain of about 300 m × 300 m on a 4 GB card and about 400 m × 400 m on an 8 GB card (both roughly 80 m tall, including the surrounding buffer); coarser 1 m cells cover several times the area.
  8. This report documents the solver's accuracy against public wind-tunnel benchmarks, scored with the same acceptance criterion (the VDI hit rate) used to qualify models for regulatory wind assessment. It is not a certificate: where a planning process requires an accredited wind study, jifto results inform design decisions ahead of and alongside that study.
  9. Case C was measured 25 years ago with a slow, non-directional street sensor. Because it cannot tell wind direction, its reading sits between the two ways of averaging gusty wind – the vector mean and the scalar mean – so jifto records and scores both, and the tunnel value falls between them. The newer split-fiber benchmark (Chapter 3) used a modern, direction-aware probe without this limitation, and jifto agrees with it more closely, correlating up to 0.99.