# Equilibration of Silicon

Dear Lammps users,

I have been running into this problem for long time now, whenever the equilibration starts the beam starts shaking. When I use the same code for Aluminum it works fine. Any suggestions are welcom. Thanks

# ------------------------ INITIALIZATION ----------------------------

echo screen
units metal
dimension 3
boundary p p p
atom_style atomic

# ----------------------- ATOM DEFINITION ----------------------------

variable latparam equal 5.431

variable nL_x equal -65.431
variable L_x equal 6
5.431
#x= nm

variable nL_y equal -95.431
variable L_y equal 9
5.431

# y= nm

variable nL_z equal -85.431
variable L_z equal 8
5.431

# z= nm

variable L_fixed equal (-5.55.431)
variable L_mobile equal (5.5
5.431)

lattice diamond {latparam} region beam block {nL_x} {L_x} {nL_y} {L_y} {nL_z} \${L_z} units box
region whole block -100 100 -100 100 -100 100 units box
create_box 1 whole

lattice diamond \${latparam} orient x 1 1 0 orient y 0 0 1 orient z 1 -1 0
create_atoms 1 region beam
variable n equal count(all)

# ------------------------ FORCE FIELDS ------------------------------

pair_style meam
pair_coeff * * /usr/local/lammps-9Dec14/potentials/library.meam Si /usr/local/lammps-9Dec14/potentials/Ni.meam Si

neighbor 2.0 bin
neigh_modify delay 0 every 2 check yes

# ---------------------------Minimization-------------------------

#minimize etol ftol maxiter maxeval

min_style cg
minimize 1.0e-7 1.0e-7 100000 100000

variable tmp equal “lx”
variable L0 equal {tmp} print "Initial Length, L0: {L0}"

# ------------------------------Equilibration---------------------

reset_timestep 0
timestep 0.001

velocity all create 300 12345 mom yes rot no
fix 2 all nvt temp 300.0 300.0 1.0

# Set thermo output

thermo 1000
thermo_style custom step lx ly lz press pxx pyy pzz pe ke etotal temp
dump 1 all atom 100 dump.eq.lammpstrj

write_restart Compress.equil

# Run for at least 10 picosecond (assuming 1 fs timestep)

run 20000
undump 1
unfix 2

variable tmp equal “lx”
variable L0 equal \${tmp}
variable LZ equal “lz”