Back to dashboard

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. 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. 2 Build the worker image (one time)

    The worker ships in the workers/openfoam folder 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. 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/info in your browser — you should see a small JSON response listing the core count.
  4. 4 Connect it to Ventorah

    • Go to Dashboard → Account → Your OpenFOAM worker URL.
    • Paste http://localhost:8080 (or http://<server-ip>:8080 if the worker runs on another machine on your network) and save.
  5. 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

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.