forked from lijiext/lammps
64 lines
1.2 KiB
Plaintext
64 lines
1.2 KiB
Plaintext
# 2d NEB surface simulation, hop from surface to become adatom
|
|
|
|
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 flat surface
|
|
|
|
lattice hex 0.9
|
|
region box block 0 20 0 10 -0.25 0.25
|
|
create_box 3 box
|
|
create_atoms 1 box
|
|
|
|
mass * 1.0
|
|
|
|
# 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.005
|
|
|
|
# group of NEB atoms - either block or single atom ID 412
|
|
|
|
region surround block 10 18 17 20 0 0 units box
|
|
group nebatoms region surround
|
|
#group nebatoms id 412
|
|
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 quickmin
|
|
|
|
neb 0.0 0.1 1000 1000 100 final.hop1
|