does number of atoms depend on boundary condition ?

Hi,

I am trying to run a LAMMPS job for SiC. I studied the same script with 3 different boundary condition.

  1. boundary p p p
  2. boundary s s s
  3. boundary p p s

The part of the input script is as follows:

Hi,

I am trying to run a LAMMPS job for SiC. I studied the same script with 3
different boundary condition.
1. boundary p p p
2. boundary s s s
3. boundary p p s

The part of the input script is as follows:
------------------------------------------------------------------------
# SiC run
dimension 3
boundary p p p # ( s s s -OR- p p s)
units metal

atom_style atomic
neigh_modify delay 5

# create geometry
lattice custom 4.28 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 &
basis 0.0 0.0 0.0 basis 0.5 0.0 0.5 basis 0.5 0.5 0.0 basis 0.0 0.5 0.5 &
basis 0.25 0.25 0.25 basis 0.75 0.25 0.75 basis 0.75 0.75 0.25 basis 0.25
0.75 0.75

# define simulation domain
region domain block 0.0 40.0 0.0 40.0 0.0 40.0 units lattice

# set simulation domain
create_box 2 domain

# create atoms in domain region
create_atoms 2 region domain basis 1 1 basis 2 1 basis 3 1 basis 4 1
basis 5 2 basis 6 2 basis 7 2 basis 8 2

#MASS
mass 1 28.0855
mass 2 12.0107

# TERSOFF-ZBL potentials
pair_style tersoff/zbl
pair_coeff * * SiC.tersoff.zbl Si C

# MINIMIZE
minimize 2.3e-16 1.0e-5 20000 20000

dump 1 all custom 1 dump.SiC id type x y z
----------------------------------------------------------------------------------

I noticed that for,
****************************
Case 1: boundary p p p
OUTPUT:
****************************
LAMMPS (6 Feb 2012)
Lattice spacing in x,y,z = 4.28 4.28 4.28
Created orthogonal box = (0 0 0) to (171.2 171.2 171.2)
2 by 3 by 4 MPI processor grid
Created 512000 atoms
WARNING: Resetting reneighboring criteria during minimization (min.cpp:167)
Setting up minimization ...
Memory usage per processor = 13.6247 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -3294138.7 0 -3294138.7 -672.14628
1 0 -3294138.7 0 -3294138.7 -672.14628
Loop time of 1.50818 on 24 procs for 1 steps with 512000 atoms

THIS IS EXPECTED

****************************
Case 2: boundary s s s
OUTPUT:
****************************
LAMMPS (6 Feb 2012)
Lattice spacing in x,y,z = 4.28 4.28 4.28
Created orthogonal box = (0 0 0) to (171.2 171.2 171.2)
2 by 3 by 4 MPI processor grid
Created 521721 atoms
WARNING: Resetting reneighboring criteria during minimization (min.cpp:167)
Setting up minimization ...
Memory usage per processor = 11.236 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
0 0 -3298761.6 0 -3298761.6 -2513.4624
5017793.7
(THE JOB IS STILL RUNNING)

****************************
Case 1: boundary p p s
OUTPUT:
****************************
LAMMPS (6 Feb 2012)
Lattice spacing in x,y,z = 4.28 4.28 4.28
Created orthogonal box = (0 0 0) to (171.2 171.2 171.2)
3 by 2 by 4 MPI processor grid
Created 515200 atoms
WARNING: Resetting reneighboring criteria during minimization (min.cpp:167)
Setting up minimization ...
Memory usage per processor = 13.1259 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
0 0 -3295684.2 0 -3295684.2
-1287.7371 5017782
2242 0 -3295904.8 0 -3295904.8
687.1991 5017782
Loop time of 14446.9 on 24 procs for 2242 steps with 515200 atoms

For 3 different boundary condition, I got 3 different values of the number
of atoms.
Case 1: boundary p p p ==> 512000
Case 2: boundary s s s ==> 521721
Case 3: boundary p p s ==> 515200

Does initial value of the NUMBER OF ATOM in a simulation box depend on the
boundary condition?

yes. if you place your atoms *exactly* on the box boundary.
with "s" boundary lammps should accept the atom on both
sides, with "p" boundary only from one side.

axel.