# NEB simulation of vacancy hopping in silicon crystal

units           metal

atom_style      atomic
atom_modify     map array
boundary        p p p
atom_modify	sort 0 0.0

# coordination number cutoff

variable r equal 2.835

# diamond unit cell

variable a equal 5.431
lattice         custom $a               &
                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.0 0.5 0.5       &
                basis 0.5 0.0 0.5       &
                basis 0.5 0.5 0.0       &
                basis 0.25 0.25 0.25    &
                basis 0.25 0.75 0.75    &
                basis 0.75 0.25 0.75    &
                basis 0.75 0.75 0.25

region          myreg block     0 4 &
                                0 4 &
                                0 4

#create_box      1 myreg
#create_atoms    1 region myreg
#mass            1       28.06
#write_data      initial.sivac

read_data       initial.sivac

# make a vacancy

group Si type 1

group del id 300
delete_atoms group del compress no
group vacneigh id 174 175 301 304 306 331 337
 
# choose potential

pair_style      sw
pair_coeff * * Si.sw Si

# set up neb run

variable	u uloop 20

# only output atoms near vacancy

#dump events vacneigh custom 1000 dump.neb.sivac.$u id type x y z

# initial minimization to relax vacancy

displace_atoms all random 0.1 0.1 0.1 123456
minimize	1.0e-6 1.0e-4 1000 10000

reset_timestep	0

fix		1 all neb 1.0

thermo		100

# run NEB for 2000 steps or to force tolerance

timestep        0.01
min_style	quickmin

neb		0.0 0.01 100 100 10 final final.sivac
