mag2exp.magnetometry.torque#

mag2exp.magnetometry.torque(field, H)#

Calculation of the torque.

The torque is calculated using

\[{\bf \tau} = {\bf m} \times {\bf B},\]

where \({\bf B}\) is the magnetic flux density and \({\bf m}\) is the magnetic moment. The magnetisation \({\bf M}\) can be related to the magnetic moment using

\[{\bf M} = \frac{d{\bf m}}{dV},\]

where \(dV\) is a volume element.

These equations can be written as

\[{\bf \tau} = {\mu_0 {\bf m} \times {\bf H}_{app}},\]

where \({\bf H}_{app}\) is the applied magnetic field.

Parameters:
Returns:

Torque in \(\textrm{Nm}^{-2}\).

Return type:

tuple

Examples

  1. Field along magnetisation direction.

>>> import discretisedfield as df
>>> import micromagneticmodel as mm
>>> import mag2exp
>>> mesh = df.Mesh(p1=(-25e-9, -25e-9, -2e-9),
...                p2=(25e-9, 25e-9, 50e-9),
...                cell=(1e-9, 1e-9, 2e-9))
>>> system = mm.System(name='Box2')
>>> system.energy = mm.Zeeman(H=(0, 0, 1e6)) + mm.Demag()
>>> system.m = df.Field(mesh, nvdim=3, value=(0, 0, 1), norm=1e6)
>>> np.allclose(mag2exp.magnetometry.torque(system.m, system.energy.zeeman.H), 0)
True
  1. Field perpendicular to magnetisation direction.

>>> import numpy as np
>>> import discretisedfield as df
>>> import micromagneticmodel as mm
>>> import mag2exp
>>> mesh = df.Mesh(p1=(-25e-9, -25e-9, -2e-9),
...                p2=(25e-9, 25e-9, 50e-9),
...                cell=(1e-9, 1e-9, 2e-9))
>>> system = mm.System(name='Box2')
>>> system.energy = mm.Zeeman(H=(1e6, 0, 0)) + mm.Demag()
>>> system.m = df.Field(mesh, nvdim=3, value=(0, 0, 1), norm=1e6)
>>> np.allclose(
...     mag2exp.magnetometry.torque(system.m, system.energy.zeeman.H),
...     (0, mm.consts.mu0*1e12, 0)
... )
True