TesboFlow · GPU-native CFD

Days of CFD.Done before lunch.

The entire pipeline — mesh, assembly, linear solve, post — lives on the GPU, and nothing ever waits on a CPU. Steady or transient, RANS or LES, moving or overset mesh: one binary, one config file, as many GPUs as you've got.

100 million cells. One step. One second.

Measured: 110.6M cells · 8×A100 · 1.5 s/step

3,000×

vs one CPU core

100×

vs 18 CPU cores

REAL SOLVER OUTPUT

Not a render. A solution.

Every frame is computed by TesboFlow on the GPU — the geometry, the turbulent wake, the vortex structures. This is what the solver actually produces.

Transient · URANSQ-criterionGPU-resident
Ahmed body — Q-criterion isosurfaces of the turbulent wakeComputed end-to-end on GPU with TesboFlow

PERFORMANCE

This fast. On this hardware. Already.

Four receipts, not a target. Against one core, against eighteen cores, in-house AMG against NVIDIA AmgX, and a mesh that does not fit one card.

3,000×

vs one CPU core

1M-cell cavity. 77 s/step on one CPU core. TesboFlow 22.8 ms on one H200.

100×

vs 18 CPU cores

8.17M Ahmed body. 11.4 s/step on 18 CPU cores. TesboFlow 94 ms on one H200.

~2×

vs NVIDIA AmgX

In-house AMG. Ahmed body, one A100, 1,000 iterations: 35 s and 7 J against 59 s and 11 J.

1 s

100 million cells, one step

110.6 million cells on 8×A100 at 1.5 s/step, 61.6 GiB per card. One hundred million cells, one second a step.

A million-cell cavity: 3,000× a CPU core. TesboFlow in-house AMG on six GPU generations. One H200: 22.8 ms.
8.17M Ahmed body: 120× eighteen CPU cores. One H200: 94 ms.
One thousand iterations of the Ahmed body on one A100: in-house AMG 34.8 s and 7.0 J against NVIDIA AmgX 59.2 s and 11.2 J.
56 million cells that do not fit one GPU. Adding cards still drops wall-clock: 4 to 8 A100s, 4 to 6 H100s.

100 million cells. One step. One second.

Measured: 110.6 million cells, eight A100s, 1.5 s/step, 61.6 GiB per card. One H200 holds 30.4 million cells at 126 GiB.

Capacity: 110.6 million cells on eight A100s at 1.5 seconds a step and 61.6 GiB per card, and 30.4 million cells on one H200 at 807 ms and 126 GiB.

What these numbers are

Four measured scenes. A million-cell cavity against one CPU core. The Ahmed body against eighteen cores. In-house AMG against NVIDIA AmgX. A mesh that does not fit one card. 110.6 million cells at 1.5 s/step on eight A100s, 61.6 GiB per card.

The same 1M-cell cavity runs from V100 through H200. One solver, six GPU generations.

Typical scenes, not a contract. The 100–1000× vs a CPU cluster remains a target, not these measurements.

FROM THE SOLVER

Cases we actually ran

Solver pictures from cases we actually ran — stills, and a few short clips.

Interposer cold plate

Interposer cold plate

Conjugate heat transfer through the channels and the stack. Fluid and solid in one solve.

CHT · supported

DrivAer

DrivAer

Production-shape passenger car, external flow. The picture is the wake, not a drag coefficient.

External flow · wake

CAARC tall building

CAARC tall building

Canonical high-rise in an atmospheric boundary layer. Side-face shedding, not a pretty render.

Standard CAARC prism

Sphere

Sphere

The bluff-body everyone learned on. Streamlines wrap, then run off downstream.

Canonical external flow

JEDEC PBGA

JEDEC PBGA

Package-scale conjugate heat transfer. The hot corner is the heater, not a texture.

CHT · package scale

Aorta

Aorta

Patient geometry, simplified inlet and outlets. A flow picture, not a clinical study.

Not a clinical study

BENCHMARK

The three numbers on a single line

The same three measurements, on one line. Typical, not a contract.

CaseMeshCPU referenceTesboFlowSpeedup
Lid-driven cavity, laminar1M cellsCPU · 1 core · 77.0 s/step1× H200 · 22.8 ms/step3,000×
Ahmed body 25°, steady RANS8.17M cellsCPU · 18 cores · 11.4 s/step1× H200 · 94 ms/step100×
Generated 3-D box110.6M cells—8× A100 · 1.5 s/stepone step, one second

Typical scenes, not a contract. Hardware and mesh as in the table.

VERIFICATION

How we know the answers are right

Correctness is checked three independent ways: analytic and manufactured solutions, published benchmarks, and field-by-field cross-checks against an independent CPU solver.

Centreline velocity profiles for the lid-driven cavity at Reynolds 100: TesboFlow as lines, the published reference of Ghia, Ghia and Shin (1982) as markers, agreeing to within 0.0087.
01

Analytic and manufactured solutions

Channel and cavity flows, periodic flows, transient and multi-layer conduction, surface tension, hydrostatic pressure, sub-grid closure.

02

Published benchmarks

Ghia lid-driven cavity, and the Ahmed body 25° against the 1984 / 2011 wind-tunnel band.

03

Cross-checks against an independent solver

Field-by-field comparison with a mature CPU solver on conjugate heat transfer and overset turbulence, plus same-mesh Ahmed drag against a CPU solver (−0.2%).

WORKFLOW

From geometry to insight

Three steps, one GPU pipeline — mesh, solve and post-process all on the GPU.

Ahmed body 25°, 1.09M cells — midplane of the mesh the solver ran

Step 01

Define the case

Bring in a mesh — TesboMesh writes one TesboFlow will take, or import a mesh you already have — and describe the physics and boundaries in a single case file.

  • TesboMesh writes named patches into TesboFlow-native mesh, or import common formats
  • One config file selects the physics — no separate programs
  • Decompose the case for a multi-GPU run

Ahmed body 25°, 1.09M cells — midplane of the mesh the solver ran

Cold-plate temperature field, solved on the GPU

Step 02

Solve on the GPU

Set the pressure-velocity coupling and turbulence model; the whole solve stays on the GPU.

  • SIMPLE / PISO / PIMPLE, steady or transient
  • RANS and LES, passive scalars and heat transfer
  • One binary from a single GPU to many

Cold-plate temperature field, solved on the GPU

Sphere streamlines — the field you actually look at

Step 03

Export & post-process

Write results to standard formats and pull out the quantities you care about.

  • Opens directly in ParaView and other standard tools
  • Forces, coefficients and wall quantities
  • Runtime logs plus a one-click support bundle

Sphere streamlines — the field you actually look at

CAPABILITIES

What TesboFlow does

What TesboFlow does today. Typical capability, not a contract.

Physics

  • Incompressible flow (steady / transient)
  • Compressible flow (pressure-based / density-based)
  • RANS turbulence (k-ε, k-ω SST, wall functions)
  • Large-eddy simulation (WALE, Smagorinsky, kEqn)
  • Hybrid RANS-LES (DES / DDES)
  • Energy equation / heat transfer
  • Packed-bed / filter resistance (Darcy–Forchheimer)
  • Passive scalar transport (multi-equation, or scalar only)
  • Conjugate heat transfer, multi-region
  • Multiphase flow (VOF free surface)

Numerics

  • Finite-volume discretisation
  • Pressure-velocity coupling: SIMPLE / PISO / PIMPLE
  • High-resolution convection schemes
  • Non-orthogonal mesh correction
  • GPU Krylov solvers with preconditioners
  • In-house GPU algebraic multigrid
  • Fast pre-solve initialisation for better startup convergence

Mesh & boundaries

  • Moving / deforming mesh
  • Overset (chimera) mesh, multi-body
  • Rigid-body motion
  • Cyclic (periodic) boundaries
  • Mesh import / conversion from common formats

Parallel & platform

  • GPU-native pipeline end to end
  • Multi-GPU, any number of devices
  • Multi-node cluster
  • Deterministic results: the same case gives the same answer every run
  • Parallel mesh read + single-file parallel result write
  • CPU-only build from the same source, for machines without a GPU
  • Double-precision kernels, mixed precision supported
  • On-premise / private deployment

Workflow

  • Single executable driven by a case configuration file
  • Result export for post-processing
  • Opens directly in ParaView and other standard tools
  • Scriptable for batch and automated runs

INTERACTIVE

Run a solver in your browser

This wind tunnel is a live GPU fluid solver. Pick a body, switch between smoke, velocity and pressure, or draw your own obstacle and watch the flow respond in real time.

Live Fluid Solver

Interactive Wind Tunnel Laboratory

Drag mouse inside wind tunnel to manually block air streams and visualize real-time Navier-Stokes fields.

Flow: 12.6 m/s (GPU)
13 m/s

GPU stable-fluids solver: a 512x256 lattice with a 30-pass Jacobi pressure projection enforcing local mass conservation (div U = 0), running entirely on the GPU.

ARCHITECTURE

GPU-native, not ported

The whole pipeline lives on the GPU, so there is no CPU–GPU round-trip every iteration. That is where the speed comes from — the data stays where the compute is.

Scale across multiple GPUs with domain decomposition. The same code runs on one card or many, on a single machine or across a cluster.

1→NGPUs
GPUs per run, same code
Multi-node
One machine or an HPC cluster
FP64
Mixed precision supported
tesboflow — terminal
tesbo@gpu-node:~$
GPU Clusteraggregate util 0%
GPU 0
0%42°C
GPU 1
0%42°C
GPU 2
0%42°C
GPU 3
0%42°C

ROADMAP

Available today, and what's next

Available
  • Incompressible flow
    Steady and transient solvers, validated on standard benchmarks.
  • Turbulence (RANS / URANS)
    Industry-standard turbulence modeling.
  • Scale-resolving turbulence
    LES and DES for unsteady, separated flows.
  • Dynamic mesh
    Moving and morphing geometry.
  • Overset mesh
    Overlapping grids for complex relative motion.
  • Conjugate heat transfer
    Multi-region fluid–solid heat transfer. Cold-plate and JEDEC pictures on this page.
  • Compressible flow
    Pressure-based and density-based. Transonic and supersonic.
  • Free-surface VOF
    Volume-of-fluid free surface: dam break, sloshing, filling.
  • Next
  • Automation APIScripted design sweeps and pipelines.

APPLICATIONS

Where it's used

Aerospace design

External aerodynamics for wings and bodies — fast iteration on lift, drag and wake structure.

Automotive aerodynamics

Vehicle drag and wake studies with dynamic and overset meshes for wheels and moving parts.

Turbomachinery

Rotating blade rows and internal passages, resolved with moving mesh or overset. There is no frozen-rotor (MRF) source term: the rotor actually turns.

Marine hydrodynamics

Hull and propulsor flows where turnaround time decides how many designs you can test.

HVAC & ventilation

Airflow, comfort and contaminant transport across rooms and enclosures.

Industrial fluid processing

Mixing, manifolds and internal flows for equipment design and optimization.

DEPLOYMENT & SUPPORT

Runs on your hardware, with support behind it

What you need to know before planning an evaluation: where TesboFlow runs, what it needs from the machine, what happens when a run fails, and how your team gets up to speed.

On-premises deployment

A self-contained container image or a relocatable package that unpacks into an ordinary directory on your own workstation, server or cluster. Nothing to install alongside it, and no administrator rights required.

Hardware and environment

Linux with an NVIDIA GPU, from the Volta through Hopper generations. A preflight check reports whether a machine is ready — driver, GPU and licence — before the first run.

Technical support

Every run writes a self-describing log, and a single command collects a diagnostic bundle. Deployment assistance and case-setup guidance come with the licence.

Training

Courses and tutorials for engineering teams, from a first case through to production workflows.

The mesh can come from TesboMesh: same patch names, same quality gate, same file. Closed loop — send us the geometry, we return the mesh and a report, and we can run it in TesboFlow.

See TesboMesh

Licensing is agreed per authorised machine, and is checked locally: no licence server, and no network access needed to run.

Interested in TesboFlow?

We're onboarding early users and partners. Tell us about your workload and we'll show you what GPU-native CFD can do for it.