Hi,
I am having problems getting LAMMPS to run a modified version of the neb
example with a vacancy within silicon. I have attempted to change
silicon to bcc-Fe, using the eam Finnis Sinclair potential given within
LAMMPS ('Fe_mm.eam.fs'). The example sivac runs alright. I get the
following error within the log file:
LAMMPS (28 Jun 2014)
Processor partition = 0
# 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
# bcc unit cell
variable a equal 2.855324
lattice bcc $a
lattice bcc 2.855324
Lattice spacing in x,y,z = 2.85532 2.85532 2.85532
region myreg block 0 4 0
4 0 4
create_box 1 myreg
Created orthogonal box = (0 0 0) to (11.4213 11.4213 11.4213)
1 by 1 by 1 MPI processor grid
create_atoms 1 region myreg
Created 128 atoms
mass 1 55.845
group Fe type 1
128 atoms in group Fe
# make a vacancy
group del id 85
1 atoms in group del
delete_atoms group del
Deleted 1 atoms, new total = 127
group vacneigh id 44 46 52 54 76 78 84 86
8 atoms in group vacneigh
#dump myDump all xyz 1 dump.atom
# choose potential
pair_style eam/fs
pair_coeff * * Fe_mm.eam.fs Fe
# set up neb run
variable u uloop 20
# only output atoms near vacancy
dump events vacneigh custom 1000 dump.neb.fe.$u id type x y z
dump events vacneigh custom 1000 dump.neb.fe.1 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
WARNING: Resetting reneighboring criteria during minimization
(../min.cpp:168)
Memory usage per processor = 5.04155 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -472.3276 0 -472.3276 104443.9
13 0 -521.83423 0 -521.83423 -3146.1275
Loop time of 0.0175202 on 1 procs for 13 steps with 127 atoms
Minimization stats:
Stopping criterion = energy tolerance
Energy initial, next-to-last, final =
-472.327599793 -521.834068367 -521.834230625
Force two-norm initial, final = 41.1652 0.0387112
Force max component initial, final = 6.49634 0.00682908
Final line search alpha, max atom move = 0.0625 0.000426818
Iterations, force evaluations = 13 36
Pair time (\) = 0\.0168879 \(96\.3911\)
Neigh time \() = 0 (0)
Comm time (\) = 0\.000404358 \(2\.30795\)
Outpt time \() = 0 (0)
Other time (%) = 0.000227928 (1.30095)
Nlocal: 127 ave 127 max 127 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1426 ave 1426 max 1426 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9007 ave 9007 max 9007 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9007
Ave neighs/atom = 70.9213
Neighbor list builds = 0
Dangerous builds = 0
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 50 100 10 final final.fe
ERROR: Unexpected end of neb file (../neb.cpp:401)
To determine the atom positions, I used 'dump myDump all xyz 1
dump.atom' and commented out the:
group del id 85
delete_atoms group del
group vacneigh id 44 46 52 54 76 78 84 86
This gave me a file containing the positions of 128 atoms. I then read
the data coordinates into a python script I made and determined the
central atom to remove, to create the vacancy. I could also determine
the atoms surrounding the vacancy from this. As far as I can tell, this
has given me the configuration I wanted. The final position file I gave as:
44 5.55517 5.73972 5.48642
46 6.90429 4.04202 4.3335
52 4.46027 6.90406 4.11874
54 7.41971 7.13886 4.38543
76 4.26294 4.26267 7.15921
78 6.90813 4.53195 7.21972
84 4.05801 7.06201 7.33839
86 7.37954 6.91296 6.94474
With atom 44 moving to the position of the vacancy.
The command I typed into the terminal was 'mpirun -np 8 lmp_ubuntu
-partition 8x1 -in in.neb.test' (which seemed to work fine for the given
example). If anyone can help I would be most grateful.
Thanks
Luke