# Neighbor list problem

Dear All,
I am simulating a system of more than 100 thousand atoms, I need to calculate the coul interaction of all the atom pairs, which means that there is no rcut for the coul interaction. I have tried to increase the value of “ONE” and “Page” under the command of “neigh_modify”, but it does not work. Since I need not calculate the pair list, so I also try to revise the subroutine" pair_coul_cut.cpp", as following

// loop over neighbors of my atoms
num_total is the total atom number of the system
for (i = 0; i < num_total-1; i++) {
qtmp = q[i];
xtmp = x[i][0];
ytmp = x[i][1];
ztmp = x[i][2];
itype = type[i];

for (j = i +1 ; j < num_total; j++) {
delx = xtmp - x[j][0];
dely = ytmp - x[j][1];
delz = ztmp - x[j][2];
rsq = delxdelx + delydely + delz*delz;
jtype = type[j];

// if (rsq < cutsq[itype][jtype]) {
r2inv = 1.0/rsq;
rinv = sqrt(r2inv);
forcecoul = qqrd2e * scale[itype][jtype] * qtmp*q[j]rinv;
fpair = factor_coul
forcecoul * r2inv;

f[i][0] += delxfpair;
f[i][1] += dely
fpair;
f[i][2] += delzfpair;
// if (newton_pair || j < nlocal) {
f[j][0] -= delx
fpair;
f[j][1] -= delyfpair;
f[j][2] -= delz
fpair;
// }

But the it still does not work. the error message is

Dear All,
I am simulating a system of more than 100 thousand atoms, I need
to calculate the coul interaction of all the atom pairs, which means that
there is no rcut for the coul interaction. I have tried to increase the
value of "ONE" and "Page" under the command of "neigh_modify", but it does
not work. Since I need not calculate the pair list, so I also try to revise
the subroutine" pair_coul_cut.cpp", as following

// loop over neighbors of my atoms
num_total is the total atom number of the system
for (i = 0; i < num_total-1; i++) {
qtmp = q[i];
xtmp = x[i][0];
ytmp = x[i][1];
ztmp = x[i][2];
itype = type[i];

for (j = i +1 ; j < num_total; j++) {
delx = xtmp - x[j][0];
dely = ytmp - x[j][1];
delz = ztmp - x[j][2];
rsq = delx*delx + dely*dely + delz*delz;
jtype = type[j];

// if (rsq < cutsq[itype][jtype]) {
r2inv = 1.0/rsq;
rinv = sqrt(r2inv);
forcecoul = qqrd2e * scale[itype][jtype] * qtmp*q[j]*rinv;
fpair = factor_coul*forcecoul * r2inv;

f[i][0] += delx*fpair;
f[i][1] += dely*fpair;
f[i][2] += delz*fpair;
// if (newton_pair || j < nlocal) {
f[j][0] -= delx*fpair;
f[j][1] -= dely*fpair;
f[j][2] -= delz*fpair;
// }

But the it still does not work. the error message is

################################################################################################
LAMMPS (29 Nov 2011)
orthogonal box = (-300.651 -300.303 0) to (300.651 300.303 19.08)
4 by 4 by 1 processor grid
131180 atoms
Setting up run ...

# ===================================================================================== = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES = EXIT CODE: 11 = CLEANING UP REMAINING PROCESSES = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES

APPLICATION TERMINATED WITH THE EXIT STRING: Segmentation fault (signal 11)
####################################################################################################

Anyone can tell me how to solve it, thanks!

you have a big problem:

what you want to compute is incompatible with a domain decomposition
based distributed data parallelization, since this is based on having
a cutoff. have a look at the LAMMPS paper.

axel.

Why not use a KSpace solver to do this task. Why would
you want to compute the Coulomb interactions

all pairwise for 100K atoms?

Steve