forked from lijiext/lammps
66 lines
1.2 KiB
Plaintext
66 lines
1.2 KiB
Plaintext
# 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
|
|
|
|
# LJ potentials
|
|
|
|
pair_style lj/cut 2.5
|
|
pair_coeff * * 1.0 1.0 2.5
|
|
|
|
# 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.005
|
|
|
|
# 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 1000 1000 100 final.hop2
|
|
neb 0.01 1000 1000 100 final.hop2
|