Stokes

Stokes

OpenFOAM, from CAD to results.

A desktop GUI for OpenFOAM 14 on Windows and Linux. Import a STEP file, pick faces for the boundaries, mesh it, run it and look at the flow, all in one window.

Free for noncommercial use. Pre-alpha, and runs from source for now.

A mixing elbow set up and solved in the app, in a minute and a half. No sound; meshing and solving are sped up.

One case, start to finish.

Two streams of water at different temperatures meet in a bend. Half the elbow is modelled, with a symmetry plane. Every picture here is that case.

Change a value.
The case follows.

Stokes writes the OpenFOAM case from the model you build. Raise an inlet speed or shrink a cell size and the dictionaries are written again, so there is nothing to hunt for in system/ and nothing to keep in sync by hand.

Boundary layers on every wall.

One switch adds three layers of thin cells along the walls, where the velocity changes fastest. This is the elbow’s symmetry plane, coloured by speed. The inset is where the side inlet meets the bend.

Mesh on the symmetry plane coloured by velocity, with a close-up of the three boundary-layer cells along the wall at the side-inlet junction

Meshes you can check.

snappyHexMesh, cfMesh or blockMesh. This one has 81,749 cells and passed its quality check.

The elbow meshed with snappyHexMesh, cell edges drawn

Results in the same window.

Streamlines seeded from the inlets, coloured by speed. Slices, iso-surfaces, probes and line plots sit next to them.

Streamlines through the elbow coloured by velocity

Six looks.

Three styles, each in light and dark. The video above uses Cupertino light.

The same result in the Stokes, Cupertino and Ubuntu styles, light and dark

Tech specs.

OpenFOAM
Foundation 14, from openfoam.org. The openfoam.com line is not supported yet.
Windows 10 and 11
Yes, natively, with no WSL. OpenFOAM comes from FoamWin. The most tested platform.
Linux
Yes, with the official OpenFOAM 14 packages. Less tested than Windows so far.
macOS
Not supported.
Geometry
STEP import through Open CASCADE. IGES and BREP from the command line.
Meshing
snappyHexMesh, blockMesh, and cfMesh hex-dominant, tetrahedral, polyhedral and poly-hexcore. 2D planar and axisymmetric.
Physics
Laminar, k-ε and k-ω SST, with the energy equation. Parallel runs over MPI.
Results
Slices, clips, iso-surfaces, streamlines, vectors, probes, line plots, reports and picture export.
Units
Every value carries a unit. Type 2 [m/s] or U_in * 1.5.
Automation
The window, the stokes command and a local server share one API, so scripts and LLM agents can drive a case.
Installer
Not yet. Stokes runs from source with Python 3.13 or 3.14.
Licence
Free for noncommercial use under PolyForm Noncommercial. Source-available, not open source. Commercial licences on request.

Run it from source.

You need Python 3.13 or 3.14, Node.js 22.12 or newer, Git, and OpenFOAM 14. The full guides cover every step and the usual snags.

Windows

OpenFOAM through FoamWin v14.0.0-win.5 or newer. MS-MPI if you want more than one core.

git clone -b windows https://github.com/dhanninacs/stokes-cfd.git
cd stokes-cfd
py -3.14 -m venv .venv
.venv\Scripts\pip install -e ".[agent,server,ui,cad,extract,explore,materials]"
cd web; npm install; npm run build; cd ..
.venv\Scripts\python -m stokes.app

Read the full Windows guide

Linux

The official openfoam14 package on Ubuntu 22.04 or newer, plus cfMesh if you want it.

git clone -b linux https://github.com/dhanninacs/stokes-cfd.git
cd stokes-cfd
python3.13 -m venv .venv
.venv/bin/pip install -e ".[agent,server,ui,cad,extract,explore,materials]"
cd web && npm install && npm run build && cd ..
source /opt/openfoam14/etc/bashrc && .venv/bin/python -m stokes.app

Read the full Linux guide

Questions.

Does it need WSL on Windows?

No. It drives FoamWin, a native Windows build of OpenFOAM 14, directly. There is no WSL, virtual machine or Docker layer.

Does it replace OpenFOAM?

No. You install OpenFOAM separately. Stokes writes the case, runs your OpenFOAM tools as separate processes and reads the results back. It never bundles or links OpenFOAM.

Can I use my own OpenFOAM cases?

Yes. Import an existing case or one of the OpenFOAM tutorials, edit its files as text inside the app, and run it.

Can I run it on a remote machine?

Yes. Start python -m stokes.server there and open it through an SSH tunnel. The server only listens on 127.0.0.1 and asks for a one-time token.

Is it free?

For noncommercial use, yes, under the PolyForm Noncommercial licence. For commercial use, get in touch.

Need a hand with CFD?

Questions about Stokes, a commercial licence, or OpenFOAM consultancy for a project of your own.

Get in touch.

Questions about Stokes, a commercial licence, or help with CFD and OpenFOAM on your own project.