[lammps-users] about atom migration!

Dear support, I try to modify LAMMPS in order to apply a rigid translation and do not allow rotation.
To do this I use a matrix that remain fixed for all the time of the simulations, a matrix of this type
for(i=0; i<nlocal; i++){
mat[i][0] = x[coord][0]-x[i][0];

where coord is an atom choosen by the users.

If I use nlocal=atoms->nlocal after some iterations the code crash and give a segmentation fault.
Does atoms->nlocal remain fixed for the entire time of the simulation? Or some atoms can migrate between processor?
Which are the criteria of migrations?



Atoms migrate between procs, so nlocal is not fixed.


In fact a simple solution is to build a matrix of the distance of the size 3xnatoms. But this solutions does not scale over the memory of a single core.
A better solution is to build a matrix 3xnlocals but it is needed to know which atoms migrate between procs and then exchange the matrix between processors.


2009/3/19 Steve Plimpton <[email protected]>