I have seen two different ways of expressing the magnetic force on a dipole moment in a non-uniform magnetic field:
$\vec{F_b}=\nabla(\vec{m}\cdot \vec{B})$

Are these two formulas equivallent? When I expand them, I get different results. For example, if we assume $\vec{m}=\begin{bmatrix}m_x\\m_y\end{bmatrix}$, $\vec{B}=\begin{bmatrix}B_x(x,y)\\B_y(x,y)\end{bmatrix}$, $\nabla=\begin{bmatrix}\frac{\partial}{\partial x}\\\frac{\partial}{\partial y}\end{bmatrix}$, the forces are:
$\vec{F_a}= (\vec{m}\cdot\nabla)\vec{B}= (m_x \frac{\partial}{\partial x} + m_y \frac{\partial}{\partial y}) \begin{bmatrix}B_x(x,y)\\B_y(x,y)\end{bmatrix}= \begin{bmatrix}(m_x \frac{\partial }{\partial x} B_x(x,y)+ m_y \frac{\partial }{\partial y}B_x(x,y))\\ (m_x \frac{\partial }{\partial x} B_y(x,y)+ m_y \frac{\partial }{\partial y}B_y(x,y))\end{bmatrix}$

$\vec{F_b}= \nabla(\vec{m}\cdot \vec{B})= \begin{bmatrix}\frac{\partial}{\partial x}\\\frac{\partial}{\partial y}\end{bmatrix}(m_x B_x(x,y) + m_y B_y(x,y)) = \begin{bmatrix}(m_x \frac{\partial }{\partial x} B_x(x,y)+ m_y \frac{\partial }{\partial x}B_y(x,y))\\ (m_x \frac{\partial }{\partial y} B_x(x,y)+ m_y \frac{\partial }{\partial y}B_y(x,y))\end{bmatrix}$

These are not equivallent, for example, in the $x$ direction, $\vec{F_a}$ has derivatives by $x$ and by $y$ of $B_x$, but $\vec{F_b}$ has derivatives by $x$ only of both $B_x, B_y$.

Is my understanding of the original formulas incorrect? How is it that these are both used?

Note that here $B_x$ is the $x$ component of $\vec{B}$, not its partial derivative w.r.t. $x$.


1 Answer 1


We have, $\nabla(\vec{m}\cdot \vec{B}) = (\vec{m}\cdot\nabla)\vec{B} +(\vec{B}\cdot \nabla)\vec{m} + \vec{m}\times(\nabla\times \vec{B})+ \vec{B}\times (\nabla \times \vec{m})$

When $\vec{m}$ is constant, this reduces to $(\vec{m}\cdot\nabla)\vec{B} + \vec{m}\times(\nabla\times \vec{B})$.

Applying Ampere-Maxwells' law, this is $ (\vec{m}\cdot\nabla)\vec{B} + \vec{m}\times(\mu_0\vec{j}+\mu_0 \epsilon_0\frac{\partial \vec{E}}{\partial t})$.

So in free space, in steady state, the second term is zero, and then both are equal.

  • $\begingroup$ I still get different results if I calculate using the example: The magnetic field at a point $(x,y,0)$ generated by single loop of wire with radius $R$ placed on the yz plane where the coil center is placed at $(0,0,0)$. From equation, we see that the contribution of this coil loop to the magnetic field is: \begin{equation} B_x=\frac{\mu_0 I R}{4\pi}\int_0^{2\pi}\frac{R-y \sin{\phi '}}{(R^2+y^2+x^2-2yR\sin{\phi '})^{1.5}}d\phi ' \end{equation} \begin{equation} B_y=\frac{\mu_0 I R x}{4\pi}\int_0^{2\pi}\frac{\sin{\phi '}}{(R^2+y^2+x^2-2yR\sin{\phi '})^{1.5}}d\phi ' \end{equation} $\endgroup$
    – Ariella
    May 6, 2019 at 17:43
  • $\begingroup$ Unless I did not understand the way in which you mean that I should calculate $(\vec{m}\cdot\nabla)\vec{B}$ or $\nabla(\vec{m}\cdot\vec{B})$. P.S. Source for magnetic field example in my previous comment is from appendix of: <ocw.mit.edu/courses/physics/…> $\endgroup$
    – Ariella
    May 6, 2019 at 17:50
  • $\begingroup$ Can you please elaborate on what you are trying to say? It is not very clear to me $\endgroup$ May 6, 2019 at 17:52
  • $\begingroup$ If you take $(\vec{m}\cdot\nabla)\vec{B}$ or $\nabla(\vec{m}\cdot\vec{B})$ using the $\vec{B}$ specified in the first comment (which comes from a situation where we are in free space in steady state), the resultant force is not equal from the 2 ways of calculating. $\endgroup$
    – Ariella
    May 6, 2019 at 17:55
  • $\begingroup$ I have not done the calculation, but they must be equal at any point other than on the current loop, because in free space, for static fields,$ \nabla \times \vec {B} = 0$, from Maxwell's equations, and therefore $\frac{\partial B_x}{\partial y} = \frac{\partial B_y}{\partial x}$ $\endgroup$ May 6, 2019 at 18:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.