Download Nabla
Nabla User Manual 0.1.0

Boundary conditions

What each boundary condition (BC) means physically, and which one to reach for.

A boundary condition is assigned to selected edges, not to a region: select one or more lines or arcs on the boundary of your model, then choose a type under Assign BCs and press Apply. An edge you never assign a BC to is left "natural" — equivalent to a Neumann condition of zero, which is the correct default for an interior edge between two regions.

Applying writes the same type and values to every edge currently selected and groups them into one BC record, so you can select an entire multi-segment outer boundary (several arcs and lines making up a rounded frame, say) and assign Dirichlet(0) to all of them in one Apply rather than edge by edge. Clicking a boundary condition in the Model Tree selects its edges back on the canvas, and clicking an edge on the canvas highlights its BC in the tree — the two views stay in sync either direction.

Every boundary edge Triangle sees but you never marked is silently given the reserved marker value 1 when the mesh is generated. Your own boundary conditions therefore start numbering their markers from 2; you will never assign marker 1 yourself, and if you open a much older model that predates this rule Nabla renumbers it for you on load.

Dirichlet

Fixes the magnetic vector potential A to a value you type in (Vector Potential). Zero is by far the most common choice: it is the "flux cannot cross this line" condition, used on an outer box that is far enough from the device that the field has already died away, and on any symmetry line where the field is purely tangential.

Neumann

Fixes the normal derivative of A (Vector Potential Derivative), most often left at zero. A zero-Neumann edge is "flux is purely tangential to this line" — the natural condition on a symmetry line where the field crosses at a right angle rather than being blocked by it. If you are not sure which symmetry condition your cut needs, sketch the expected flux lines: Dirichlet(0) where they run parallel to your cut, Neumann(0) where they cross it.

Periodic and anti-periodic

Link two boundaries so the solution on one is copied (periodic) or copied with the sign flipped (anti-periodic) onto the other, which is what lets you mesh and solve one slot pitch or one pole pair instead of the whole machine. Selecting Periodic or Anti-Periodic opens a Type of Periodicity combo box that adapts to what you selected:

Nabla does not infer which edge pairs with which from selection order or nearest-point matching — a plain (non-sliding-band) periodic or anti-periodic pair is linked by a Secondary Boundary Marker number you type in on both sides. Assign the type to the first edge (or set of edges) and give it a marker number, then select the matching edge on the other side and give it the same number; a mismatched or forgotten number on one side leaves that side unpaired rather than raising an error at assignment time, so a periodic condition that "doesn't seem to be working" is worth checking first — make sure both sides carry the same Secondary Boundary Marker.

The same circular and linear periodic pair also carries the sliding band, described below, when one side of the boundary is moving.

The sliding band

A sliding band is a periodic or anti-periodic boundary condition where one side is allowed to move: rather than remeshing every time step, Nabla re-solves a multi-point constraint across the gap at the mover's current position, so a rotor can spin (or a linear mover translate) on a mesh that never changes. You do not choose "sliding band" as a separate type — you assign an ordinary circular or linear periodic/anti-periodic pair to the two edges facing each other across the air gap, then tell it which motion drives it and whether each ring is the one that moves:

An annular rotor has two such interfaces (inner and outer) and a disc-shaped one has one — see Motion for how a zone's shape decides how many bands it needs, and for the air-gap subdivision setting that keeps the band's own elements well shaped as the mesh gets finer.

Far-field (balloon)

Core Pro

An open-boundary condition for a device with no natural outer shell (an air-cored coil, a loudspeaker magnet, anything radiating into free space) that lets you truncate the model at 2–3× the device radius instead of the 15–20× a plain Dirichlet(0) box would need. It approximates how the field actually keeps decaying past the edge of your mesh instead of pretending it stops dead.

Assign it to an outer circular (or near-circular) boundary and set:

Far-field and axisymmetric skew (see Meshing — element order) are the two capabilities that never combine with each other.

Thermal boundary conditions

Thermal

Enabling the Thermal Module (Addons → Thermal Module) swaps the BC panel to three temperature conditions instead of the magnetic ones above:

These are independent of the magnetic BCs on the same model; switching the Thermal Module on and off only changes which set of types the panel offers.

Choosing a boundary condition

Choosing a boundary condition by modelling situation
SituationUse
Outer edge of a device with a shell/frame (most machines)Dirichlet, A = 0
Symmetry cut the flux runs parallel toDirichlet, A = 0
Symmetry cut the flux crosses at right anglesNeumann, 0
One slot pitch / one pole pair of a rotating machinePeriodic or anti-periodic (arc)
One repeat unit of a linear machineParallel periodic or anti-periodic
Rotor/stator air gap, or between two moving partsThe same periodic/anti-periodic pair, with the sliding band settings
Open device with no outer shellFar-field (balloon)

The traffic-light checklist only confirms that a BC exists and, for far-field and motion/sliding-band setups, that specific per-type rules are satisfied — it does not check that a Dirichlet or Neumann condition is the physically correct one for a given edge, or that a periodic pair's two Secondary Boundary Markers actually match. A green light means the model will solve, not that the boundary conditions mean what you intended; use the table below to sanity-check your own choices.

Next steps