Meshing
Turning your drawing into the triangles the solver actually works on.
Nabla meshes with Triangle, a well-established 2D mesh generator, run as a short-lived external process. Press Generate Mesh in the Mesh tab whenever you want a fresh mesh; it also runs automatically the first time you turn on Show Mesh in Postprocessing, and as the first stage of every solve — you never have to remember to mesh before solving, only to remesh after a geometry or element-order change (see Element order below).
Before meshing, Nabla runs a geometry sanity check. A problem serious enough to make meshing fail (a genuinely open boundary, self-intersecting shapes) stops it outright; a milder concern is logged as a warning and meshing proceeds anyway. Either way, read the log bar — see Troubleshooting — mesh generation fails or looks wrong if the result is not what you expected.
Meshing runs Triangle synchronously and blocks the window until it returns; there is no progress bar and no cancel button, so a very large or very fine mesh will make the UI appear to hang rather than show incremental progress — that is expected, not a fault, though it is a good reason to coarsen a mesh you are only using to check geometry rather than to solve.
Mesh size
Element size is controlled at two levels:
- a global default — Default Element Area, in the Mesh tab (also mirrored in Application Preferences), the target triangle area used everywhere you have not overridden it;
- a per-region override — the Mesh Properties → Mesh Size field in a region's own properties, for the areas that need a finer (a thin air gap, a small magnet) or coarser (a large outer air box) mesh than the rest of the model.
For machine models built from parameters, per-region size instead lives on the parametric region itself and falls back to the global default when left unset, so you rarely need to touch individual regions by hand.
Machines A machine model's rotor/stator air-gap sliding band has its own, separate subdivision setting once the averaging sliding-band boundary condition is enabled: a gap fraction (how much of the mechanical air gap is left as a residual sliver between the two air-surface boundaries, smaller being more accurate) and a subdivision count for how many circumferential points that boundary is broken into. Both live in the Solver settings panel next to the sliding-band option itself, and changing either rebuilds the affected geometry immediately — see Boundary conditions — the sliding band.
Subdivision suppression
Three radio buttons in the Mesh tab — Don't apply subdivision, Apply subdivision for exterior shapes, Apply subdivision for any shapes — decide whether Triangle is allowed to insert its own extra points on top of however you already subdivided a shape. See Geometry — subdivision for what subdividing a shape itself means.
There is no exposed minimum-angle or mesh-quality field: Nabla always asks Triangle for a 30° minimum-angle quality mesh, and there is no visual highlighting of a thin or skewed element after meshing — a badly-shaped triangle is not flagged on the canvas, only through solver behaviour (slow convergence, a suspicious concentration of the field) or the statistics below.
Element order: P1 and P2
Solver settings → Element Order, right under Solver Type, chooses between 1st order (linear) triangles (the default, three corner nodes per element) and 2nd order (quadratic) Core Pro triangles (six nodes, a midside node on every edge) — a smoother, more accurate field representation for the same mesh, at extra solve cost.
Changing element order does not remesh for you. It only marks the model unsaved and logs "regenerate the mesh before solving" — press Generate Mesh again before you solve, or the solver runs against a mesh built for the order you just changed away from.
Second-order elements do not combine with rotor-bar/stator skew across more than one slice, nor with the legacy (non-averaging) sliding band — both are rejected outright at solve time rather than silently ignored.
The free tier's mesh cap
Without a licence (or on an expired one, which falls back to the free tier rather than refusing outright), a solve is capped at 25,000 mesh nodes. A mesh over that cap still generates and displays normally — only starting a solve is refused, with a message telling you how many nodes the mesh has and the cap it exceeded. Coarsen the mesh, model a smaller symmetry sector using the periodic boundary conditions in Boundary conditions, or add a licence from Help → Licence....
Reading the mesh statistics
After meshing, the Mesh tab reports vertex, triangle and edge counts, plus (on a freshly generated mesh) the exterior and interior boundary edge counts and the subsegment count Triangle produced — useful for confirming a boundary you expected to be one continuous ring did not get split unexpectedly, or that a sliding band produced the node count you expected on each side.
Next steps
- Solving — running the solver once the mesh is ready.
- Troubleshooting — mesh generation fails or looks wrong.
- Back to the contents.