Gaspar García, CFD portfolio

Method

The rules every case on this site follows, and what the labels mean.

Before a number is shown

These are the standing rules of the September 2026 campaigns. The July work (Ahmed body, Windsor, wheel) predates some of them, and the ledger says where that matters.

Numerical uncertainty

Grid studies use the Eça and Hoekstra least-squares procedure through one shared, unit-tested implementation. Where the grids are non-monotone, the tool refuses to extrapolate and the case is labelled accordingly (motorBike, 30P-30N, the Clark-Y cavitation ladder).

Comparison is not validation

A validation in the ASME V&V 20 sense needs the experimental uncertainty and the input uncertainties. Where those are unknown (Betts and Bokhari cavity, the Windsor wheel campaign, tandem bodies) the site says comparison and states the error without claiming agreement.

Retractions are kept

Earlier numbers that were wrong are not quietly replaced: a NACA 0012 grid-convergence value was retracted and corrected, a wheel agreement that was cancellation did not survive refinement, and a cavitation-onset finding was withdrawn after a Courant-number error was found. A fourth Windsor grid, run after the write-up, showed that the three-grid extrapolation was not supported, and the extrapolated number was withdrawn. They appear in the ledger.

How these pages are structured, and why

Every case page runs in the same order: verdict, the 3-D stage, parameters, experiment, set-up, mesh, results, numerical accuracy, what I distrust, references. I took that spine from the ERCOFTAC application-challenge template, which gives the experiment, its measurement errors ("error bars are desirable"), the numerical accuracy and the application uncertainties their own sections.

What I report about accuracy follows the Journal of Fluids Engineering policy on numerical accuracy, which says that "'reasonable agreement' with experimental data alone will not be enough to justify a given single-grid calculation", and the Celik et al. (2008) grid-convergence procedure printed with it. ITTC 7.5-03-02-03 adds that "the uncertainty must be estimated for every quantitative result gathered from the simulation". From ASME V&V 20, which I have read only through a committee member's overview, I take the comparison error E = S - D, judged against a validation uncertainty built from the experimental, numerical and input uncertainties. Where I cannot estimate those, I write comparison, not validation.

None of the vendor and consultancy samples I read stated a grid-convergence uncertainty, an iterative error, a limitations heading or experimental error bars. These pages state each one, or say plainly that it is missing.

How the 3-D views are made

A Python script reads each case directory with pyvista (VTK's OpenFOAM reader). It exports the boundary surfaces, the real cell edges of the mesh with a cut through it, and the solver fields as values at each vertex. Nothing is drawn by hand. The browser colours every surface from those stored values, so the field, the colour range and the legend are computed on the page. Some views are stretched or mapped, and the stage says so: the micro-channel heat sink is drawn with its width 20 times true scale, the tall cavity with its width 6 times; the Windsor body's surface pressure is mapped from the fine grid's sampled surface onto the body STL by nearest sample, and the impinging jet's wedge face is rotated flat onto one plane.

Source of every number

Each headline figure is stored with the output file it came from, and a script (pipeline/check_numbers.py) fails the build if the figure is not literally present in that file. The cited file is raw solver output where one exists; where it is a write-up, the case says so.