loss of atoms main script

Hi Pan

to answer all your questions (also the one about boundaries):

the problem is the rooted in the question how to generate atoms at the border of a unit cell without duplicating them.
For example one should not have a atom at 0 0 0 and 1 0 0 since those are the same in periodic boundaries.

So with periodic boundaries for a box spanning (xlo,ylo,zlo) to (xhi,yhi,zhi) LAMMPS will actually fill the box only up to (xhi-e,yhi-e,zhi-e). This is how 0<=x<1 is implemented. Its using a epsilon environment with epsilon=2e-6.
As a result your input script will not generate atoms for the three basis atoms with coordinates 0.999999 (giving you 11 instead of 14). If you would have written one "9" less it would have worked since you only have to ensure its smaller than 0.999998.

If you are not using peridodic boundary conditions 0 0 0 and 1 0 0 are not identical. Hence the epsilon environment has not to be used.
Thats why you get one "layer" more if you dont use periodic boundary conditions.

Cheers
Christian

-------- Original-Nachricht --------