Node PointDipoleNode#

Defined in mime.nodes.actuation._point_dipole.PointDipoleNode.

Algorithm MIME-NODE-106.

A point magnetic dipole: the flux density and its gradient at each reader’s point, from a magnet part’s moment placed and turned by the frame it is mounted on.

Governing equations#

\[ \mathbf{B} = \frac{\mu_{0}}{4 \pi} \, \frac{3 (\mathbf{m} \cdot \mathbf{r}) \, \mathbf{r} / r^{2} - \mathbf{m}}{r^{3}}, \quad G_{ij} = \frac{\partial B_{i}}{\partial x_{j}} = \frac{3 \mu_{0}}{4 \pi r^{5}} \left( (\mathbf{m} \cdot \mathbf{r}) \, \delta_{ij} + m_{i} r_{j} + r_{i} m_{j} - \frac{5 (\mathbf{m} \cdot \mathbf{r}) \, r_{i} r_{j}}{r^{2}} \right), \quad \mathbf{r} = \mathbf{x} - \mathbf{c}; \quad (\mathbf{c}, \mathbf{q}) = \mathbf{M}_{j} \circ \mathbf{O}, \quad \mathbf{m} = R(\mathbf{q}) \, \mathbf{p} \]

Discretisation#

none declared; a node whose order depends on its construction declares it with the discretization_order() hook, which is read from a built node.

Assumptions#

  • A point dipole: faithful only far from the magnet, against its radius (MIME-ANO-100)

  • A rigid, uniform magnetisation along the part’s declared direction

Limitations#

none declared

Declared regimes (not evidenced here)#

none declared

References#

[@Jackson1998]

Symbols#

Symbol

Kind

Name

Units

Implemented by

\(\mathbf{B}\)

state

flux_density_{slot}

T

mime.nodes.actuation._point_dipole.point_dipole

\(G\)

state

gradient_{slot}

T/m

mime.nodes.actuation._point_dipole.point_dipole

\(\mu_{0}\)

constant

mime.units.VACUUM_PERMEABILITY

N A^-2 (units declared, not checked)

mime.nodes.actuation._point_dipole.point_dipole

\(\mathbf{x}\)

input

points_{slot}

m; 1

mime.nodes.actuation._point_dipole.PointDipoleNode.advance

\(\mathbf{c}\)

state

centre

m (units declared, not checked)

mime.nodes.actuation._point_dipole.PointDipoleNode.advance

\(\mathbf{q}\)

state

orientation

1 (units declared, not checked)

mime.nodes.actuation._point_dipole.PointDipoleNode.advance

\(\mathbf{M}\)

input

mount_poses

m; 1

mime.nodes.actuation._chain.MountedNode.base

\(\mathbf{O}\)

parameter

placement

m; 1

mime.nodes.actuation._chain.MountedNode.base

\(\mathbf{p}\)

parameter

moment

A m^2

mime.nodes.actuation._point_dipole.PointDipoleNode.advance

A row marked units declared, not checked has the units its author wrote: the code declares none there, so the node walk cannot compare them with anything.

Built by#