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:
- lines selected — Parallel Periodic / Parallel Anti-Periodic, for two straight cuts that repeat by translation (a linear machine, a straight symmetry cut);
- arcs selected — the circular pair, for two radial cuts that repeat by rotation around the machine's centre (the ordinary case for a rotating machine's sector model).
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:
- select the band's two edges and assign the periodic/anti-periodic type as usual;
- set which zone drives the band (leave it to infer the only enabled motion, or name one explicitly when more than one motion is enabled);
- mark each ring as moving or at rest. An interface between a rotor and the stationary stator has one moving ring and one fixed ring; an interface between two independently moving parts (two counter-rotating rotors, a magnetic gear) has both rings marked moving, and the band is then driven by their relative displacement.
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 ProAn 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:
- Decay Order n — how fast the field is expected to fall off with distance past the boundary (1 for a simple dipole-like source, the common case);
- Field Centre X, Y — the point the decay is measured from. Use Centre on Boundary Centroid to fill this in from your current selection rather than typing coordinates;
- Radius R — leave at
0to let Nabla measure the boundary's own radius, or override it if the boundary is only approximately circular.
Far-field and axisymmetric skew (see Meshing — element order) are the two capabilities that never combine with each other.
Thermal boundary conditions
ThermalEnabling the Thermal Module (Addons → Thermal Module) swaps the BC panel to three temperature conditions instead of the magnetic ones above:
- Fixed Temperature — a Dirichlet condition on temperature T (°C);
- Heat Flux — a prescribed heat flux q″ (W/m²) into the domain;
0is adiabatic (perfectly insulated), the natural default for an edge you never assign; - Convection — a Robin condition, h·(T − T∞), with a film coefficient h (W/m²·K) and an ambient temperature T∞ (°C).
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
| Situation | Use |
|---|---|
| Outer edge of a device with a shell/frame (most machines) | Dirichlet, A = 0 |
| Symmetry cut the flux runs parallel to | Dirichlet, A = 0 |
| Symmetry cut the flux crosses at right angles | Neumann, 0 |
| One slot pitch / one pole pair of a rotating machine | Periodic or anti-periodic (arc) |
| One repeat unit of a linear machine | Parallel periodic or anti-periodic |
| Rotor/stator air gap, or between two moving parts | The same periodic/anti-periodic pair, with the sliding band settings |
| Open device with no outer shell | Far-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
- Motion — motion zones and how a sliding band is driven.
- Meshing — how the mesh treats a boundary marker.
- Back to the contents.