Installation Guide
Get the Nabla GUI running, then optionally add the Python automation API
1. Install the GUI application (Windows)
Nabla ships as a single Windows installer. Download
Nabla_Setup_0.1.0.exe from
the download page, run it, and accept the
prompt for administrator rights — it installs for all users into
C:\Program Files\Nabla, adds Start menu (and,
optionally, desktop) shortcuts, and registers an uninstaller in
Add/Remove Programs.
There is no separate runtime to install — the Java runtime, the C++ solver and the required Visual C++ redistributable are all bundled, and the redistributable is installed silently only if your machine is missing it. Installing a newer version over an existing one upgrades it in place. The one part of the install that needs an internet connection is fetching Triangle, in step 2 below.
System requirements
- Windows 10 or 11, 64-bit
- OpenGL 3.3-capable GPU (any GPU from the last ~15 years)
- Administrator rights to install (per-machine, into Program Files)
What's bundled
- Java runtime (no JDK install needed)
- The C++ solver (
solver.exe) - VC++ redistributable, installed silently if missing
- The example library, the user manual and an uninstaller
Linux
Coming soon — see the download page for the current status.
2. Get Triangle (the mesh generator)
Triangle is not bundled with Nabla. It's the mesh generator Nabla meshes with, written by Jonathan Richard Shewchuk, and its licence asks that it be obtained from its own project rather than shipped inside a commercial one. A checkout or install that has never fetched it cannot mesh — from the GUI or the Python API — until you do this one-time step.
Easiest: the installer step
The Nabla installer has a Download Triangle step:
one click fetches it, free of charge, from
github.com/Ar4ibald911/Triangle and places it in the Nabla
application directory, where Nabla finds it automatically from then on.
This is the only part of installing Nabla that needs an internet
connection.
Manual / offline
Download triangle.exe yourself from that repository's
Releases page (on another machine if needed) and copy it
into the Nabla application directory, next to Nabla.exe (copying into
Program Files needs administrator rights; alternatively
point NABLA_TRIANGLE at it wherever you keep it).
Where Nabla looks for it
In order: the NABLA_TRIANGLE environment variable (a
file or a folder), the Nabla application directory, anywhere on
PATH, then a source checkout. If none has it, the first
mesh attempt lists every location it searched.
3. Activate your licence (optional)
Nabla starts and stays usable with no licence at all — the free tier covers drawing, meshing, solving and reading results, capped at 25,000 mesh nodes with watermarked reports. Bought a Core or Machines licence, or got a trial key? See the dedicated activation walkthrough — five steps, about a minute, done from Help → Licence… inside the app.
4. Python automation API (optional)
Automate Nabla from Python — build geometry, assign materials/BCs/
coils, mesh, solve and post-process results, everything the GUI can do,
scripted. This needs the Automation module on your licence;
without it, Nabla.start() raises a clear licensing error rather
than silently doing nothing.
Requirements
- Nabla installed (steps 1–2 above)
- Python 3.10 or higher on the system
- No JDK and no manual JPype install — the one-time setup below handles it, and the API boots Nabla's bundled JVM
One-time setup
Creates a private Python environment and installs the API into it. The setup itself tells you if Python 3.10+ is missing.
Windows: double-click setup_api.bat in the Nabla folder
Run a script
No PYTHONPATH, no configuration — run from
anywhere:
Windows: <NablaDir>\nabla-python.bat my_script.py
from nabla_api import Nabla
model = Nabla("my_model")
model.start() # boots the bundled JVM - no JDK needed
model.createNewModel("my_model")
# ... geometry / regions / BCs / coils ...
model.generateMesh()
model.saveModel()
model.run_solver_with_monitor()
Prefer your own venv/conda?
Install the API into it and point it at the Nabla installation:
pip install <NablaDir>/API set NABLA_HOME=<NablaDir> # Windows export NABLA_HOME=<NablaDir> # Linux
Jupyter
nabla-python -m pip install ipykernel nabla-python -m ipykernel install --user --name nabla
MCP server (LLM automation)
Drive Nabla conversationally from any MCP-capable LLM client:
pip install mcp python -m nabla_mcp # stdio transport
Troubleshooting
"No Python interpreter found"
Install Python 3.10+ from python.org (on Windows, tick "Add python.exe to PATH"), then re-run the setup script.
Meshing fails / Triangle not found
Revisit step 2 above — the error message names every location
Nabla searched, so check NABLA_TRIANGLE or copy
triangle.exe into the Nabla application directory.
"could not create the virtual environment" (Linux)
Install the venv module: sudo apt install python3-venv,
then re-run setup_api.sh.
API stopped working after upgrading Nabla
Re-run the setup script — it refreshes the environment in place and keeps any extra packages you installed.
Licence errors
An expired or missing licence never blocks opening a model or reading existing results — only starting a new solve is refused, and even then Nabla falls back to the free tier. See activation or the licensing reference.
Still stuck?
Full walkthrough with screenshots: Getting started in the user manual, or contact us.