Magnetic Response Node#
Module: mime.nodes.robot.magnetic_response
Stability: experimental
Algorithm ID: MIME-NODE-002
Version: 1.0.0
Verification Mode: Mode 2 (Independent)
Summary#
Computes magnetic torque and force on a soft-magnetic microrobot body from an externally applied field. Implements the induced magnetization model with anisotropic susceptibility tensor and saturation clipping.
Governing Equations#
Induced magnetization in the body frame: $$ \mathbf{m} = \frac{1}{\mu_0} \boldsymbol{\chi}a \mathbf{B}{\text{body}} $$
Susceptibility tensor (diagonal in body frame): $$ \boldsymbol{\chi}a = \text{diag}\left(\frac{1}{n{\text{axi}}}, \frac{1}{n_{\text{rad}}}, \frac{1}{n_{\text{rad}}}\right) $$
Magnetic torque (lab frame): $$ \mathbf{T}{\text{mag}} = v (\mathbf{m}{\text{lab}} \times \mathbf{B}_{\text{lab}}) $$
Magnetic force (lab frame): $$ \mathbf{F}{\text{mag}} = v (\mathbf{m}{\text{lab}} \cdot \nabla)\mathbf{B} $$
Saturation clipping: $|\mathbf{m}| \leq m_{\text{sat}}$.
Discretization#
Analytical — no discretisation. Single-evaluation algebraic computation.
Implementation Mapping#
Equation Term |
Implementation |
Notes |
|---|---|---|
$\mathbf{m} = \chi_a \mathbf{B} / \mu_0$ |
|
Element-wise multiply with |
Body frame rotation |
|
|
$\mathbf{T} = v(\mathbf{m} \times \mathbf{B})$ |
|
|
$\mathbf{F} = v(\mathbf{m} \cdot \nabla)\mathbf{B}$ |
|
|
Saturation clip |
|
|
Assumptions and Simplifications#
Linear magnetization below saturation ($\mathbf{m} < \mathbf{m}_{\text{sat}}$)
No hysteresis or remnant magnetization (ideal soft-magnet)
Susceptibility tensor diagonal in body frame
Demagnetization factors satisfy $n_{\text{axi}} + 2n_{\text{rad}} = 1$
Validated Physical Regimes#
Parameter |
Verified Range |
Notes |
|---|---|---|
field_strength |
0–0.1 T |
Below saturation for Co80Ni20 |
Known Limitations and Failure Modes#
Linear approximation fails above saturation magnetization
No hysteresis — cannot capture field-history effects
Assumes ellipsoidal body shape for demagnetization factors
State Variables#
Field |
Shape |
Units |
Description |
|---|---|---|---|
magnetization |
(3,) |
A/m |
Current magnetization (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 |
|---|---|---|---|---|
volume_m3 |
float |
1e-15 |
m^3 |
Volume of magnetic material |
n_axi |
float |
0.2 |
- |
Axial demagnetization factor |
n_rad |
float |
0.4 |
- |
Radial demagnetization factor |
m_sat |
float |
0 |
A/m |
Saturation magnetization (0=disabled) |
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: Co80Ni20. Saturation magnetization: 1.19 x 10^6 A/m. Biocompatibility NOT assessed — manufacturer must perform ISO 10993 evaluation.
Clinical Relevance#
Converts the external actuation field into the forces and torques that drive microrobot motion. The step-out phenomenon (when viscous drag exceeds maximum magnetic torque) is fundamentally a magnetic response effect.
References#
[@Abbott2009] Abbott, J.J. et al. (2009). How Should Microrobots Swim? — Magnetic actuation analysis.
Verification Evidence#
Integration test:
tests/nodes/test_integration.py(coupled chain)Unit tests:
tests/nodes/test_magnetic_response.py(14 tests)
Changelog#
Version |
Date |
Change |
|---|---|---|
1.0.0 |
2026-03-20 |
Initial implementation — soft-magnet model |