Sei sulla pagina 1di 11

Thomson Problem

Diego Radillo
Oct 2016

Abstract

I reproduce the configuration of charged particles constrained to a spherical


surface interacting via the Columb potential which minimize the energy of
the system. First a simpler version of the problem was developed, charged
particles constrained to a circle.
This article has the proupose of present the work done during the past month
on the study of Find minimum methods applied to the thomsom problem;
where we begin by writing a code for a simplier case of the problem and
then develop an optimized code.

Introduction

The thomson problem was first proposed, clearly, by the physicist Sir Joseph
John Thomson in 1904. The original idea was to find the positions of N
charges constrained to a spherical surface interacting with Coulombs potential which minimize the potential energy of the system.
This original problem and the generalization of it, finding configurations
of N charges for large Ns or for charges constrained to arbitrary surfaces,
are still of the interest of physicist.
Nowdays the results for several values of N in a spherical surface are
widely know; even tho the results for large N are strictly numerical and there
are no proofs of the non-existence of more configurations that minimize the
energy or a global minimum configuration. I aproach this problem as a
practice for the Finding minimum methods and Optimization of algorithms;
in order to reproduce the well-know resulting configurations.

2.1

Previous Work:

N PARTICLES IN A CIRCLE

The first step we took to aproach the Thomson Problem was to develop
a simpler version of it. The idea is to find the equilibrium positions of N
charges interacting with Coulombs potential constrained to a circle.
I fisrt begin setting the parameters n and , where:
n=N 1

(1)

N is the numer of charged particles, where n of those charges are initially


distributed randomly around the circle. And  is a parameter introduced in
the expression for the potential energy,  avoids the asymptotic behaviour
in the expresion for the potential in the case that two of the randomly
distributed particles around the circle are too close from each other, as
shown:
V (r)

1
+ 2

r2

(2)

So when r 0, V (r) 1 . So the potential energy expresion for the


system of N particles become:
N 1
1
1 X
p
V
2
|~xa ~xb | + 2
a,b=0

(3)

With a 6= b, and ~xi may be expressed in polar coordinates r and .


Then to find the minimun for the expression (3) I use the first order
iterative optimization algorithm Gradient Descent. In this case we have a
2N variables function V (~xi ), which as the radial coordinate r is a constant
it reduces to N independent variables and we arbitrarily define the position
of one of the particles, say ~x0 , this is posible because of the simmetry of
the system, i.e any rotation in the coordinate of the system of a minimum configuration is also a minimum. So we left only with n independent
variables.
The idea of this method is that V (~xi ) has the greater decrease in the
negative direction of the gradient, so starting from an initial configuration
~(0)
~(0)
X0 = (x0 , ..., xN ); where n charges were positioned randomly around the
circle and one charge was positioned in ~x0 = (1, 0) we start moving along
~ |X in order to obtain a second point with the formula:
the direction of V
0

X1 = X0 0

~ |X
V
0
= X0 0 0
~
|V |X |

(4)

Where i determines the lenght of the step.


This can be iterated in the form:

Xk+1 = Xk k k

(5)

I implemented this in Mathematica as follows:

The code above defines the position of N charges constrained to a circle,


the potential function V , the parameter  and asing a random initial configuration for n charges. Then the iteration is made by:

Where the parameter k was set as a constant, because of the simplicity


of the problem doing this we avoid calculations which doesnt improve the
time of processing that much. This program was tested for until fifty charges,
and the results were the expected ones, uniform configurations for N charges
around the circle. A hundred iterations was enought for any of this cases.
It is important to remember that this just the previous work from which is
going to be extrapolated the main problem and its going to be optimized.
Here are plots for three, ten and fifty charges, the orange dot is the
charge which its position was fixed by us.
3

(a) N=3

(b) N=10

(c) N=50

Figure 1: Thomson problem in a cirlce: Final configurations for N charges


Plot code:

3
3.1

Thomson Problem Aproach


First Aproach

The first aproach I develop was to make use of the tools provided by the
software Mathematica, in particular the abuse of the FindMinimum tool.
First, as I did for the Thomson problen for a cirlce, I set the N particles
around the spherical surface interacting between them with a Coulumb potential V . But in this case the position of the charges may be expressed
in spherical coordinates ~x = (r, , ) where r remains constant r=1, runs
from 0 to 2 and from 0 to .
The expression for the potential energy V is stated and the tool FindMinimum is aplied to this expression, for this first we set the position of a charge
(1, 0 , 0 ) = (1, 0, 0) and the angle 1 is fixed to 0, this can be done because
rotations to a minimum configuration by land to another analogue minimum configuration. Doing this we avoid ambiguity in the configurations
and we left with only 2n-1 variables; V (1 , 2 , ..., n , 2 , 3 , ..., n ).

3.2

Second Aproach

As a second aproach I implement the Gradient Descent Method, the idea


of this method was already explained in Sec[2.1], I want to recall the main
formula that is used, which is the iteration formula:

Xk+1 = Xk k k

(6)

Where k is the paremeter wich defines the lenght of the step and k is
the normalized gradient of V evaluated in Xk . Where we recall that, with
the initial conditions we that we define earlier, V (1 , 2 , ..., n , 2 , 3 , ..., n ).
So the code is implemented first by stating the expression for V with
~ and the initial values for the angles which
its parameters, the gradient V
define the initial position of the N particles.

Next we set the iterations. The parameters Iter number of iterations,


Tol Tolerance and lenght of the step; notice that here Im using
a constant step size. If it converges to a minimum this code will show the
final values for the varying angles, if it doesnt it will show a message saying
that.

Results

To interpretate graphically the result I use the plotting system integrated


in Mathematica, as follows:

Figure 2: Code for the FindMinimum Method

Figure 3: Code for the Gradient Descent Method

To plot the arange of charges in the sphere. And:

To plot the polygons formed by using each charge as a vertex. Also this
code gives a table of charges versus number of neighbors charges.
The results for some N are listed here; putting special attention to the
ones which creates Platonic polyhedrons and other regular polyhedrons.

4.1

Thomson problem for N = 4

The minimal configuration for four charged particles results into the basic
Platonic polyhedron: Tetrahedron, which is a triangular pyramid with all
four faces are equilateral triangles.
In this case all four particles have three neighbors.

Figure 4: Minimal configuration for N = 4

4.2

Thomson problem for N=6

This case is also interesting because it results in another Platonic polyhedron, Octahedron, which have eight faces, equilateral triangles, and six
vertex. All six particles have four neighboors.

Figure 5: Minimal configuration for N = 6

4.3

Thomson problem for N = 12

This is another case of a Platonic polyhedron, an the last, this is one of my


favorite a Icosahedron with equilateral triangular, five meeting each vertex,
this means that in this case each particle have five neighboors.

Figure 6: Minimal configuration for N = 12

4.4

Thomson problem for N = 20

For this case is interesting to see on the graph for the number of neighbors
by number of particles that is not longer a Platonic polyhedron because
eighteen particles have five neighbors and two particles have six neighbors.

4.5

Thomson problem for N = 50

For this case is also interesting to observe the graph of particles and neighbors:

5
5.1

Antoher highlights
FindMinimum versus Gradient Descent

Here I compare the AbsoluteTiming between the two aproaches I took for
this problem, the results are shown in the next table:

10

Both methods were compared until twenty charges, where both methods
converge to a minimum.

5.2

Polygon Plotting

I found interesting that the code for make the Polygon using each charge as
a vertex works very fast, the next table shows the time that the code takes
to make the polygon for N charges:

11

Potrebbero piacerti anche