forked from lijiext/lammps
129 lines
4.0 KiB
Groff
129 lines
4.0 KiB
Groff
LAMMPS (5 Oct 2016)
|
|
# calculate the energy volume curve for InP zincblende
|
|
|
|
# define volume range and filename
|
|
|
|
variable ndelta equal 100
|
|
variable volatom_min equal 20.0
|
|
variable volatom_max equal 29.0
|
|
variable evsvolfile string evsvol.dat
|
|
|
|
# set up cell
|
|
|
|
units metal
|
|
|
|
boundary p p p
|
|
|
|
# setup loop variables for box volume
|
|
|
|
variable amin equal ${volatom_min}^(1/3)*2
|
|
variable amin equal 20^(1/3)*2
|
|
variable delta equal (${volatom_max}-${volatom_min})/${ndelta}
|
|
variable delta equal (29-${volatom_min})/${ndelta}
|
|
variable delta equal (29-20)/${ndelta}
|
|
variable delta equal (29-20)/100
|
|
variable scale equal (${delta}/v_volatom+1)^(1/3)
|
|
variable scale equal (0.09/v_volatom+1)^(1/3)
|
|
|
|
# set up 8 atom InP zincblende unit cell
|
|
|
|
lattice diamond ${amin}
|
|
lattice diamond 5.42883523318981
|
|
Lattice spacing in x,y,z = 5.42884 5.42884 5.42884
|
|
|
|
region box prism 0 1 0 1 0 1 0 0 0
|
|
|
|
create_box 2 box
|
|
Created triclinic box = (0 0 0) to (5.42884 5.42884 5.42884) with tilt (0 0 0)
|
|
1 by 2 by 2 MPI processor grid
|
|
|
|
create_atoms 1 box basis 5 2 basis 6 2 basis 7 2 basis 8 2
|
|
Created 8 atoms
|
|
|
|
mass 1 114.76
|
|
mass 2 30.98
|
|
|
|
# choose potential
|
|
|
|
pair_style vashishta
|
|
pair_coeff * * InP.vashishta In P
|
|
Reading potential file InP.vashishta with DATE: 2015-10-14
|
|
|
|
# setup neighbor style
|
|
|
|
neighbor 1.0 nsq
|
|
neigh_modify once no every 1 delay 0 check yes
|
|
|
|
# setup output
|
|
|
|
thermo_style custom step temp pe press vol
|
|
thermo_modify norm no
|
|
variable volatom equal vol/atoms
|
|
variable eatom equal pe/atoms
|
|
print "# Volume [A^3/atom] Energy [eV/atom]" file ${evsvolfile}
|
|
print "# Volume [A^3/atom] Energy [eV/atom]" file evsvol.dat
|
|
# Volume [A^3/atom] Energy [eV/atom]
|
|
|
|
# loop over range of volumes
|
|
|
|
label loop
|
|
variable i loop ${ndelta}
|
|
variable i loop 100
|
|
|
|
change_box all x scale ${scale} y scale ${scale} z scale ${scale} remap
|
|
change_box all x scale 1.00149775560818 y scale ${scale} z scale ${scale} remap
|
|
change_box all x scale 1.00149775560818 y scale 1.00149775560818 z scale ${scale} remap
|
|
change_box all x scale 1.00149775560818 y scale 1.00149775560818 z scale 1.00149775560818 remap
|
|
triclinic box = (-0.00406553 0 0) to (5.4329 5.42884 5.42884) with tilt (0 0 0)
|
|
triclinic box = (-0.00406553 -0.00406553 0) to (5.4329 5.4329 5.42884) with tilt (0 0 0)
|
|
triclinic box = (-0.00406553 -0.00406553 -0.00406553) to (5.4329 5.4329 5.4329) with tilt (0 0 0)
|
|
|
|
# calculate energy
|
|
# no energy minimization needed for zincblende
|
|
|
|
run 0
|
|
WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
|
|
Neighbor list info ...
|
|
1 neighbor list requests
|
|
update every 1 steps, delay 0 steps, check yes
|
|
max neighbors/atom: 2000, page size: 100000
|
|
master list distance cutoff = 7
|
|
ghost atom cutoff = 7
|
|
Memory usage per processor = 2.33394 Mbytes
|
|
Step Temp PotEng Press Volume
|
|
0 0 -24.633958 315900.5 160.72
|
|
Loop time of 3.09944e-06 on 4 procs for 0 steps with 8 atoms
|
|
|
|
0.0% CPU use with 4 MPI tasks x no OpenMP threads
|
|
|
|
MPI task timing breakdown:
|
|
Section | min time | avg time | max time |%varavg| %total
|
|
---------------------------------------------------------------
|
|
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
|
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
|
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
|
Output | 0 | 0 | 0 | 0.0 | 0.00
|
|
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
|
Other | | 3.099e-06 | | |100.00
|
|
|
|
Nlocal: 2 ave 2 max 2 min
|
|
Histogram: 4 0 0 0 0 0 0 0 0 0
|
|
Nghost: 320 ave 320 max 320 min
|
|
Histogram: 4 0 0 0 0 0 0 0 0 0
|
|
Neighs: 0 ave 0 max 0 min
|
|
Histogram: 4 0 0 0 0 0 0 0 0 0
|
|
FullNghs: 140 ave 140 max 140 min
|
|
Histogram: 4 0 0 0 0 0 0 0 0 0
|
|
|
|
Total # of neighbors = 560
|
|
Ave neighs/atom = 70
|
|
Neighbor list builds = 0
|
|
Dangerous builds = 0
|
|
print "${volatom} ${eatom}" append ${evsvolfile}
|
|
print "${volatom} ${eatom}" append evsvol.dat
|
|
20.09 -3.07924477327226
|
|
|
|
next i
|
|
jump SELF loop
|
|
ERROR: Label wasn't found in input script (../input.cpp:207)
|