2
$\begingroup$

I have a situation where I am trying to maximize the distance between some point particles. For example, I have a periodic simulation box that is 100 Å$^3$, and I am putting in 361 particles. Ideally, the radial distribution function will be zero up until a particular r, at which point it should jump to some particular value.

I'm having trouble actually implementing this. My first step (I'm doing this in LAMMPS) was to randomly place particles with +1 charge in a box and then apply energy minimization. Unfortunately, this energy minimization only achieves a local minima and the result is horrible. My next attempt was to use an NVT ensemble to slowly drain energy from the particles as they move, and what I've found is that the slower I drain energy, the better the result is. The problem is that this takes forever to get a good result.

There's got to be a better way to go about this. Any ideas?

$\endgroup$

2 Answers 2

2
$\begingroup$

I'm assuming you want to have the points be "randomly" distributed, such that you don't want much long range order (otherwise put them on some kind of grid). You want what is called a "blue noise point set", although it's called a number of different things. The electrostatic approach works reasonably well if you know when to stop it before the point pattern gets too regular, but it is generally horribly slow, and if run to convergence, produces something which has large regular patches. I recently needed this in 2D, and the graphics folks have largely solved this problem. I am using this code, and it generalizes quite straightforwardly to 3D (CGAL already has a 3D periodic Delaunay triangulation). That is not to say that it would be easy to rewrite this whole thing in 3D, since the algorithmic details are quite involved. I suggest you check out the references to see what older, perhaps less sophisticated, methods are available.

$\endgroup$
1
$\begingroup$

You are looking for a variant of the sphere packing problem. In this problem, you ask the question how to pack as many spheres with known radius as possible into a box. In your variant, you ask the question how large the spheres can be so that they still all fit into a box. There is a significant amount of literature on the sphere packing problem as well as, I imagine, software. A literature search for this term may be useful.

$\endgroup$

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.