Consider a magnetic spring as seen on this YouTube video, but ignore gravity. If I wanted to calculate the effective spring rate (Force vs. Deflection) curve for the top magnet, how would I go by doing that?

Consider $N$ permanent magnets made of Neodymium with known geometry (length, diameter etc). Space them equally such as the total span is $L=N\;\Delta x$ such that they can slide along a rod (1 DOF each). Finally apply a unit force $F$ on one end, while holding the other end fixed.

  • $\begingroup$ Oh that's a really cool question. But just a few comments... I would simplify this problem a few ways. I'd probably only look at two magnets, and then obtain a spring constant by getting $dF/dx$ at a single point. You might want to keep it agnostic to the strength of the magnet too, although there might be some meaningful discussion about the geometry. Other than that, Wikipedia gives pretty clear equations about the force between two magnets. $\endgroup$ Aug 31, 2011 at 13:28
  • $\begingroup$ @Zasso: we were on the same frequency. $\endgroup$ Aug 31, 2011 at 15:49
  • $\begingroup$ I like the question as it is because it leads to the next step. What are the natural frequencies of a magnetic spring. $\endgroup$ Aug 31, 2011 at 17:31
  • $\begingroup$ @ja72: this seems to be a challenging problem! $\endgroup$ Sep 1, 2011 at 7:09

1 Answer 1


Lets suppose that all N magnets are identical. Assume that they are quite far from each other so we can replace them with N magnetic dipoles with dipole moment $\overrightarrow{m}$. Also assume that the dipoles are placed along the x axis in such a way that they repel each other and all N moments $\overrightarrow{m}$ are parallel. The first step is to find the interaction force between two dipoles. Fortunately, Wikipedia has a formula for the force so that we can save a large amount of work. Link here

I write only its x axis component which we need, to save space:

$$F=\frac{6\mu_0 m^2}{4\pi x^4}$$

Now, to find "spring rate" between two magnets, it is sufficient to find the differential $dF$:

$$dF=-\frac{6\mu_0 m^2}{\pi x^5}dx$$

So for the small displacement the "spring rate":

$$k(x)= \frac{6\mu_0 m^2}{\pi x^5} $$

Now, since we know $k$ it is easy to find the effective spring rate for the top magnet.

Let $F$ be the force on the top magnet, other end magnet fixed. Then the displacement of the top

magnet is $\Delta x=(N-1)\frac{F}{k}$

So the effective spring rate:

$$k_e(x)= \frac{6\mu_0 m^2}{(N-1)\pi x^5} $$

  • $\begingroup$ Thanks for the answer. Now I am wondering how to get the dipole moment of a magnet based on material and geometry.. $\endgroup$ Aug 31, 2011 at 17:33
  • $\begingroup$ @ja72: I think an easy way is to take two identical magnets, a dynamometer to measure the attraction force between magnets depending on the distance $x$ between them and use the formula $ F=\frac{6\mu_0 m^2}{4\pi x^4} $ where $m$ is the dipole moment. $\endgroup$ Sep 1, 2011 at 7:06
  • $\begingroup$ @Matrin - how about measure the distance between two magnets under gravity (with known weight) and back calculate the magnetic moment. Essentially the distance between the top two magnets in a spring is such as the force cancels gravity exactly. $\endgroup$ Sep 1, 2011 at 13:30
  • $\begingroup$ @ja72: A good one! I should have come to myself about it! $\endgroup$ Sep 2, 2011 at 6:00

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.