Connect your own OpenFOAM worker
On the Bring-your-own plan, real CFD solves run on your hardware. OpenFOAM is free, open-source software — there is no OpenFOAM account or license to buy. You run our packaged worker once, paste its address into Ventorah, and every solve you launch in the browser executes on your machine at no per-solve cost.
1 Check what you need
- A computer with at least 4 CPU cores and 8 GB RAM (more cores = faster solves). A desktop, a lab server, or a cloud VM all work.
- Docker — Docker Desktop on Windows/macOS, or the Docker engine on Linux. Free for personal use.
2 Build the worker image (one time)
The worker ships in the
workers/openfoamfolder of your Ventorah distribution. From that folder's parent directory:docker build -t ventorah-foam workers/openfoam
This downloads OpenFOAM (~2 GB, once) and packages the meshing + solving pipeline behind a small HTTP API.
3 Start the worker
docker run -d --name ventorah-foam -p 8080:8080 -e WORKER_PROCS=4 ventorah-foam
WORKER_PROCS— how many CPU cores each solve uses. Set it to your physical core count for fastest results.- Verify it's alive: open
http://localhost:8080/infoin your browser — you should see a small JSON response listing the core count.
4 Connect it to Ventorah
- Go to Dashboard → Account → Your OpenFOAM worker URL.
- Paste
http://localhost:8080(orhttp://<server-ip>:8080if the worker runs on another machine on your network) and save.
5 Run a test solve
- Open New simulation, upload an STL (built-in samples run on the instant engine), and press Run simulation.
- You'll see "Solving on your connected worker" and live residuals streaming while OpenFOAM meshes and converges — a few minutes on a coarse mesh.
- The results page then shows the SOLVED badge: real coefficients and sampled pressure/velocity fields instead of estimates.
Troubleshooting
- "Worker unreachable" — is Docker running? Does
http://localhost:8080/infoload? If the worker is on another machine, check its firewall allows port 8080. - Port already in use — run with
-p 8081:8080and connecthttp://localhost:8081instead. - Solves are slow — raise
WORKER_PROCS, choose a coarser mesh resolution in the wind-tunnel setup, and give Docker Desktop more CPUs (Settings → Resources). - Remote worker over the internet — browsers block plain-http requests from an https site (localhost is exempt). Put the worker behind an https reverse proxy, or keep it on localhost / a VPN.
The worker executes meshing/solve jobs for anyone who can reach its port. Keep it on localhost or a private network — don't expose it to the open internet without a reverse proxy that adds authentication.