Does the formula $\mathbf{\tau = \mu\times B}$ work for a non-uniform magnetic field? Why?

If not, how to calculate the torque on a current carrying loop placed in x-y plane, supposing the non uniform magnetic field equation is provided? (I know the torque calculations in uniform magnetic field but not for non-uniform.)

I'm just in high school,so please try to answer in as simple language as you can.Thanks.


This depends on exactly what you mean by non-uniform, or (equivalently) on how big the loop is. In particular, the important criterion is whether the field changes appreciably over distances that are about the same size as the loop.

  • If the field changes throughout space, but the loop is small enough that the field doesn't change much from point to point on the loop, then the uniform-field formula $\boldsymbol\tau=\boldsymbol\mu\times\mathbf B(\mathbf r)$ still applies. In essence, the field is locally uniform, though the direction and magnitude it's uniform on can change from place to place.

  • If the loop is big enough that the field changes appreciably over its span then there's nothing for it but to integrate the local torque on each bit of circuit and add them up, which gives you $$\boldsymbol\tau =\oint_\mathcal{C}\mathbf r\times\mathbf F(\mathbf r)\:\mathrm d l =\oint_\mathcal{C}\mathbf r\times(\hat{\mathbf t}I\times\mathbf B(\mathbf r))\:\mathrm d l =\oint_\mathcal{C}\mathbf r\times(I\mathrm d \mathbf l\times\mathbf B(\mathbf r)). $$ There really isn't much you can do to simplify it beyond that without special assumptions. The integral is a line integral, of exactly the same sort you use to calculate the magnetic dipole moment $\boldsymbol \mu$ itself.

The following is a bit more technical and uses a standard amount of vector calculus as used in undergraduate electromagnetism courses.

If the field were constant, then you can manipulate it more freely to get \begin{align} \boldsymbol\tau =\oint_\mathcal{C}\mathbf r\times(I\mathrm d \mathbf l\times\mathbf B) =I\oint_\mathcal{C}\left[(\mathbf B·\mathbf r)\mathrm d\mathbf l-(\mathbf r·\mathrm d\mathbf l)\mathbf B\right], \end{align} using a vector triple product. Here the second integral vanishes, because Stokes' theorem implies that $$ \oint_\mathcal{C}\mathbf r·\mathrm d\mathbf l=\int_\mathcal{S}(\nabla\times\mathbf r)·\mathrm d\mathbf S=0. $$ You're left with the first integral, $\boldsymbol\tau=I\oint_\mathcal{C}(\mathbf B·\mathbf r)\mathrm d\mathbf l$, which in component notation reads $\tau_i=IB_j\oint_\mathcal{C} x_j \mathrm dx_i$ (I use Einstein summations throughout). As it turns out, the indices on that last integral are antisymmetric, i.e. $$\oint_\mathcal{C} x_j \mathrm dx_i=-\oint x_i \mathrm dx_j,$$ which you can again prove via Stokes' theorem since \begin{align} \oint_\mathcal{C}\left[ x_j \mathrm dx_i+x_i\mathrm dx_j\right] =\oint_\mathcal{C}\left[ x_j (\nabla x_i)·\mathrm d\mathbf l+x_i(\nabla x_j)·\mathrm d\mathbf l\right] =\oint_\mathcal{C}\nabla(x_ix_j)·\mathrm d\mathbf l =\int_\mathcal{S}\nabla\times\nabla(x_ix_j)·\mathrm d\mathbf S =0. \end{align} What this means is that you can "fold" the old integral into two antisymmetric parts, as $$\tau_i=IB_j\oint_\mathcal{C} \frac{x_j \mathrm dx_i-x_i \mathrm dx_j}{2},$$ and the antisymmetrized integral is now exactly the magnetic dipole moment $$ \boldsymbol\mu=\frac I2\oint_\mathcal C\mathbf r\times\mathrm d\mathbf l $$ which in component notation reads $$ \mu_k=I\oint_\mathcal C\varepsilon_{kij}x_i\mathrm dx_j ,\quad\text{or in other words}\quad \mu_k\varepsilon_{kij}=I\oint_\mathcal C \left[x_i\mathrm dx_j-x_j\mathrm dx_i\right]. $$ Back to the torque this means $$\tau_i=\frac12 B_j\varepsilon_{kji}\mu_k,$$ or in vector notation $$ \boldsymbol\tau=\boldsymbol\mu\times\mathbf B. $$ So what is it I've done? All of this work has been to take an integral that had the magnetic field inside it, and factorize it into a system-dependent part and a field dependent part: $$ \boldsymbol\tau =\oint_\mathcal{C}\mathbf r\times(I\mathrm d \mathbf l\times\mathbf B) =\left(\frac I2\oint_\mathcal C\mathbf r\times\mathrm d\mathbf l\right)\times\mathbf B. $$ That's really what the magnetic dipole moment $\boldsymbol\mu$ really is.

OK, sorry, that got out of hand, but I'll get back on topic now. What does this have to do with nonuniform magnetic fields? Well, if your field varies very slowly with respect to the dimensions of the loop, you can suppose that $\mathbf B$ is constant in your integral, and you get the calculation above. The next thing you might try is suppose that $\mathbf B$ is almost constant throughout the extent of the loop, but that you do need to consider the first-order term of its Taylor series. Thus, you could suppose that $$ \mathbf B(\mathbf r)=\mathbf B(\mathbf r_0)+(\mathbf r·\nabla)\mathbf B(\mathbf r_0), $$ or more clearly in component notation $$ B_i(\mathbf r)=B_i(\mathbf r_0)+x_k\frac{\partial B_i}{\partial x_k}(\mathbf r_0). $$

You can then do the same game I've done above with the second term, with the added complication that you have an extra factor of $x_k$ in your integral. The result will be something which depends on the first-order derivative of the field, $\frac{\partial B_i}{\partial x_k}(\mathbf r_0)$, and if you're clever you can factorize out the dependence on the loop into a single factor. This factor will in general be (i) a matrix, or in fancy-speak a tensor, (ii) the integral of a homogeneous second-degree polynomial over the loop, and (iii) it is called the quadrupole moment of the loop.

In general, such calculations are long and messy, but if you're feeling brave I encourage you to have a go at deriving an expression for the quadrupole moment and seeing how simple of an expression you can get for the moment itself and its interaction with the magnetic field's gradient to get the torque. As a start, though, here's one expression for the quadrupolar part of the torque, which I encourage you to derive $$ \tau_i=\frac{\partial B_m}{\partial x_k}·I\oint_\mathcal{C}\left[ x_kx_m\mathrm d x_i-\delta_{im}x_k x_j\mathrm dx_j \right]. $$

Of course, there's only so much you can do with only first-order derivatives. If your field varies slightly faster than that - or if your circuit is somewhat bigger - then the next thing you can try is a second-order Taylor expansion of the field. This gives you a third term which depends on the second derivatives of the magnetic field and on a system-dependent term which is (i) an unwieldy object with three different indices, called a rank-3 tensor, (ii) the integral of a homogeneous third-degree polynomial over the loop, and (iii) is called the octupole moment of the loop. And after that, you can go to even higher orders, and on and on it goes until you feel your calculation is accurate enough, or you give up through exhaustion.

I can tell you, though - none of the formulas there are pretty. That's why they're hard to find online.


When you have a non-uniform magnetic field, the magnetic force felt by the charges in the loop $\vec{F} = q(\vec{v} \times \vec{B})$ will vary from point to point, and therefore so will the resultant torque $\vec{\tau} = \vec{r} \times \vec{F}$ in each point vary. The net torque on the entire loop can be found by calculating the torque in each point of the loop and then adding all contributions together, which can be done through an integral (which is just a formal way of calculating a sum of infinite contributions).

When both the current and the field are constants, the contribution from each point is equal, so you can simplify your calculations a lot; since an integral is basically just adding up a lot of contributions, if all your contributions are the same you can exchange this big infinite summation for a multiplication, from where you get the definition of $\vec{\mu}$ you're probably used to, and then the formula $\vec{\tau} = \vec{\mu} \times \vec{B}$ for the net torque is valid.


Consider a current carrying rectangular coil with its length $l$ and breadth $b$ place in a non uniform magnetic field $\vec{B(x)}$ . Here I assume that magnetic field variying along x axis. Let the current through the loop be $I$ . Let the normal of rectangular loop make an angle $\theta^0$ with direction of $\vec{B(x)}$ .
In such field loop experiences both torque and translatory force. Field on one side is $B$ and other side is $B+\frac{dB}{dx}(b\cos\theta)$ . Where $\frac{dB}{dx}$ is the field gradient. Due to this, torque and translatory force acting on the loop are:
$$\tau=\mu\times{B}\\ \vec{F}=\left(\frac{dB}{dx}\right)\mu\cos\theta$$
hope you understand it

  • $\begingroup$ This is incorrect. To the first-order expansion provided of the magnetic field, the torque will also have a quadrupolar component depending on $\frac{dB}{dx}$. $\endgroup$ – Emilio Pisanty Sep 24 '15 at 21:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy