# Energy of magnetic field created by magnetic dipoles in a shphere.

## Main Question or Discussion Point

Dear everyone,

I am researching genetic algorithms and at the moment I am trying to solve a problem how would magnetic particles (dipoles) orient themselves in a thin hollow sphere.

Suppose that I have N magnetic dipoles placed in the sphere. There is no external magnetic field. The dipoles create their own magnetic field, thus the system has some magnetic energy. I am writing a genetic algorithm to minimize this energy.
I did the problem in 2 dimensions (on a plane) already, and it worked perfectly!

The problem is that I am not sure how to calculate the magnetic field energy created by dipoles in 3 dimensions.

The formula for calculating magnetic field created by one dipole with magnetic moment $$\vec{m}$$ at point $$\vec{r}$$ in SI system is:
$$\vec{B}(\vec{r}) = \frac{\mu_{0}}{4\pi}(\frac{3(\vec{m}\hat{r}) - \vec{m}}{r^{3}})$$

To find the energy, I just sum over all dipole moments $$\vec{m}$$ and multiply by $$\vec{B}$$ created by others (with minus sign).

In 2D I set the problem so that all the dipoles had $$\vec{m}$$ and $$\vec{r}$$ perpendicular, that is $$\vec{m}\vec{r} = 0$$ (magnetic dipole moment $$\vec{m}$$ was perpendicular to the 2d plane the dipoles were on).

In 3D I have the $$\vec{m}\vec{r}$$ term, which I am not sure how to calculate.

Any advice how to calculate this term to find energy in 3 dimensions?

Sincerely,
Stan

Related Classical Physics News on Phys.org
You can define orientation of each magnetic dipole moment with two angles in spherical coordinates (theta,fi). Then you transform this vector into cartesian coordinates:

mx=m*sin(theta)*cos(fi)
my=m*sin(theta)*sin(fi)
mz=m*cos(theta)

And the product of r and m is:

mx*x+my*y+mz*z

where (x,y,z) is a vector from the source dipole to the second dipole.