# 2d NEB surface simulation, hop of adatom on surface

dimension	2
boundary	p s p

atom_style	atomic
neighbor	0.3 bin
neigh_modify	delay 5
atom_modify	map array sort 0 0.0

variable	u uloop 20

# create geometry with adatom

lattice		hex 0.9
region		box block 0 20 0 11 -0.25 0.25
region		box1 block 0 20 0 10 -0.25 0.25

#create_box	3 box
#create_atoms	1 region box1
#create_atoms	1 single 11.5 10.5 0
#mass		* 1.0
#write_data      initial.hop2

read_data        initial.hop2

# LJ potentials

pair_style	lj/cut 2.5
pair_coeff	* * 1.0 1.0 2.5
pair_modify	shift yes

# initial minimization to relax surface

minimize	1.0e-6 1.0e-4 1000 10000
reset_timestep	0

# define groups

region	        1 block INF INF INF 1.25 INF INF
group		lower region 1
group		mobile subtract all lower
set		group lower type 2

timestep	0.05

# group of NEB atoms - either block or single atom ID 421

region		surround block 10 18 17 21 0 0 units box
group		nebatoms region surround
#group		nebatoms id 421
set		group nebatoms type 3
group		nonneb subtract all nebatoms

fix		1 lower setforce 0.0 0.0 0.0
fix		2 nebatoms neb 1.0
fix		3 all enforce2d

thermo		100

#dump		1 nebatoms atom 10 dump.neb.$u
#dump		2 nonneb atom 10 dump.nonneb.$u

# run NEB for 2000 steps or to force tolerance

min_style	fire

neb		0.0 0.01 1000 1000 100 final final.hop2
