Permanent Magnet Response Node#
Module: mime.nodes.robot.permanent_magnet_response
Stability: experimental
Algorithm ID: MIME-NODE-008
Version: 1.0.0
Verification Mode: Mode 2 (Independent)
Summary#
Computes magnetic torque and force on a permanent-magnet microrobot body from an externally applied field. The magnetic moment is fixed in the body frame (rigid permanent magnet), rotated to the lab frame via the robot quaternion. No susceptibility tensor, no saturation, no volume multiplier.
Governing Equations#
Fixed moment in body frame: $$ \mathbf{m}{\text{body}} = n \cdot m{\text{single}} \cdot \hat{\mathbf{a}} $$
where $\hat{\mathbf{a}}$ is the normalised moment axis and $n$ is the number of magnets.
Rotate to lab frame: $$ \mathbf{m}{\text{lab}} = R(\mathbf{q}) , \mathbf{m}{\text{body}} $$
Magnetic torque (lab frame): $$ \mathbf{T} = \mathbf{m}_{\text{lab}} \times \mathbf{B} $$
Magnetic force (lab frame): $$ \mathbf{F} = (\nabla \mathbf{B}) , \mathbf{m}_{\text{lab}} $$
Discretization#
Analytical — no discretisation. Single-evaluation algebraic computation.
Implementation Mapping#
Equation Term |
Implementation |
Notes |
|---|---|---|
$\mathbf{m}{\text{body}} = n \cdot m{\text{single}} \cdot \hat{\mathbf{a}}$ |
|
Fixed moment from constructor params |
$\mathbf{m}{\text{lab}} = R(\mathbf{q}) \mathbf{m}{\text{body}}$ |
|
|
$\mathbf{T} = \mathbf{m}_{\text{lab}} \times \mathbf{B}$ |
|
|
$\mathbf{F} = (\nabla \mathbf{B}) \mathbf{m}_{\text{lab}}$ |
|
|
Assumptions and Simplifications#
Rigid permanent moment (no demagnetization)
Moment axis fixed in body frame
No temperature dependence of moment
Validated Physical Regimes#
Parameter |
Verified Range |
Notes |
|---|---|---|
field_strength |
0–0.1 T |
NdFeB permanent magnet in mT-range field |
Known Limitations and Failure Modes#
No demagnetization effects
No hysteresis
No temperature-dependent moment
State Variables#
Field |
Shape |
Units |
Description |
|---|---|---|---|
magnetization |
(3,) |
A*m^2 |
Current magnetic moment (lab frame) |
magnetic_torque |
(3,) |
N.m |
Magnetic torque (lab frame) |
magnetic_force |
(3,) |
N |
Magnetic force (lab frame) |
Parameters#
Parameter |
Type |
Default |
Units |
Description |
|---|---|---|---|---|
n_magnets |
int |
1 |
- |
Number of permanent magnets |
m_single |
float |
1.07e-3 |
A*m^2 |
Magnetic moment per magnet |
moment_axis |
tuple |
(0,1,0) |
- |
Moment direction in body frame |
Boundary Inputs#
Field |
Shape |
Default |
Coupling Type |
Description |
|---|---|---|---|---|
field_vector |
(3,) |
zeros |
replacive |
B field from ExternalMagneticFieldNode |
field_gradient |
(3,3) |
zeros |
replacive |
dB/dx from ExternalMagneticFieldNode |
orientation |
(4,) |
[1,0,0,0] |
replacive |
Quaternion from RigidBodyNode |
Boundary Fluxes (outputs)#
Field |
Shape |
Units |
Description |
|---|---|---|---|
magnetic_torque |
(3,) |
N.m |
To RigidBodyNode (additive) |
magnetic_force |
(3,) |
N |
To RigidBodyNode (additive) |
MIME-Specific Sections#
Biocompatibility Context#
Default material: NdFeB N45. Biocompatibility NOT assessed — manufacturer must perform ISO 10993 evaluation. Typically encapsulated in biocompatible resin or parylene coating.
Clinical Relevance#
Computes the torque and force on an untethered magnetic robot (UMR) containing permanent magnets driven by an external rotating field. The step-out phenomenon occurs when the field rotation frequency exceeds the maximum torque capacity of the permanent magnets.
References#
[@deBoer2025] de Boer, M.C.J. et al. (2025). Wireless mechanical and hybrid thrombus fragmentation of ex vivo endovascular thrombosis model in the iliac artery.
Verification Evidence#
Unit tests:
tests/nodes/test_permanent_magnet_response.py
Changelog#
Version |
Date |
Change |
|---|---|---|
1.0.0 |
2026-03-22 |
Initial implementation — permanent magnet model |