0
$\begingroup$

I'm making a NVT Monte Carlo (MC) simulation code with only short range interaction.

I found many MC tutorial codes (usually Lennard-Jones system) in online. However, most of them are doing energy calculation without using neighbor list. I want to see how and when neighbor list is built and updated during MC simulation. I have a few questions on it.

1) I'm using neighbor list with cell-list method. At each trial move, I should update it. In Molecular Dynamics, I should update whole neighbor list (and cell list). In MC, however, there are a number of moves in a cycle. the number of moves is equal to that of particles. It would be computationally expensive to do many neighbor buildings. So I think there would be a method something like partial neighbor list updating. But I cannot find reference for it. Is this idea correct or should I update whole neighbor list every move?

2) Is it good idea to build N-by-N array which stores between any i and j particle (i=1,2,...,N)? the array, from which the distance is referred, can give distance which can be used to calculate interaction energy. I think it's good idea to use but, in junction with 1), it should be updated with neighbor list. I'm afraid it would slow down the simulation if I bring such huge array.

$\endgroup$
0
$\begingroup$

With "neighbor list" you mean a Verlet list? In that case, from my experience it is usually better to use cell lists, keeping them always updated: after each move, you check whether the particle you moved has crossed a cell boundary. If the answer is yes, you update your data structures, which should be linked lists.

About 2), no that would not be good, performance wise. The memory required to store such a matrix would grow quadratically in the number of particles, while you usually want a memory consumption that increases linearly with the number of particles. In addition, updating such a matrix would most likely be a slow operation as well.

| cite | improve this answer | |
$\endgroup$

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.