LAMMPS (30 Apr 2015) # Test of Kawasaki Dynamics on LJ test system units metal #newton off boundary p p p lattice fcc 1 origin 0.25 0.25 0.25 Lattice spacing in x,y,z = 1 1 1 atom_style atomic # indexed atom variables in test 5 need a map atom_modify sort 0 0.0 map hash region box block 0 10 0 10 0 10 create_box 2 box Created orthogonal box = (0 0 0) to (10 10 10) 1 by 2 by 2 MPI processor grid create_atoms 1 box basis 1 2 Created 4000 atoms mass 1 50 mass 2 50 pair_style lj/cut 2.0 pair_coeff 1 1 0.0 1.0 pair_coeff 1 2 0.0 1.0 pair_coeff 2 2 0.0 1.0 neighbor 0.3 bin neigh_modify delay 10 # set the cut-off to 2.5x the cutoff from the potential comm_modify cutoff 5.0 # atom radii per type variable r atom (type==1)*0.1+(type==2)*0.3 # groups group type1 type 1 3000 atoms in group type1 group type2 type 2 1000 atoms in group type2 thermo 1 # reduce computes #compute r1 type1 reduce sum c_v1[1] #compute r2 type2 reduce sum c_v1[1] #compute v1 all voronoi/atom radius v_r # # TEST 1: Sum of all voronoi cells is the simulation cell volume # compute v1 all voronoi/atom dump d1 all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] compute r0 all reduce sum c_v1[1] thermo_style custom c_r0 variable t1 equal c_r0 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 10 steps, check yes master list distance cutoff = 2.3 Memory usage per processor = 7.70003 Mbytes r0 1000 Loop time of 2.14577e-06 on 4 procs for 0 steps with 4000 atoms Pair time (%) = 0 (0) Neigh time (%) = 0 (0) Comm time (%) = 0 (0) Outpt time (%) = 0 (0) Other time (%) = 2.14577e-06 (100) Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Nghost: 17000 ave 17000 max 17000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Neighs: 100000 ave 100000 max 100000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Total # of neighbors = 400000 Ave neighs/atom = 100 Neighbor list builds = 0 Dangerous builds = 0 print "TEST_1 $(round(abs(v_t1-1000)/10))% Error. Sum of all voronoi cells is the simulation cell volume" TEST_1 0% Error. Sum of all voronoi cells is the simulation cell volume uncompute v1 uncompute r0 undump d1 # # TEST 2: Sum of all only_group voronoi cells is the simulation cell volume # compute v1 type2 voronoi/atom only_group dump d1 all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] compute r0 type2 reduce sum c_v1[1] compute r1 type1 reduce sum c_v1[1] thermo_style custom c_r0 c_r1 variable t2a equal c_r0 variable t2b equal c_r1 run 0 WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) Memory usage per processor = 7.70003 Mbytes r0 r1 1000 0 Loop time of 2.68221e-06 on 4 procs for 0 steps with 4000 atoms Pair time (%) = 0 (0) Neigh time (%) = 0 (0) Comm time (%) = 0 (0) Outpt time (%) = 0 (0) Other time (%) = 2.68221e-06 (100) Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Nghost: 17000 ave 17000 max 17000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Neighs: 100000 ave 100000 max 100000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Total # of neighbors = 400000 Ave neighs/atom = 100 Neighbor list builds = 0 Dangerous builds = 0 print "TEST_2a $(round(abs(v_t2a-1000)/10))% Error. Sum of all only_group voronoi cells is the simulation cell volume" TEST_2a 0% Error. Sum of all only_group voronoi cells is the simulation cell volume print "TEST_2b $(round(v_t2b/10))% Error. Sum of all only_group not included voronoi cells is zero" TEST_2b 0% Error. Sum of all only_group not included voronoi cells is zero uncompute v1 uncompute r0 uncompute r1 undump d1 # # TEST 3: Sum of all radius voronoi cells is the simulation cell volume # compute v1 all voronoi/atom radius v_r dump d1 all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] compute r0 all reduce sum c_v1[1] thermo_style custom c_r0 variable t3 equal c_r0 run 0 WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) Memory usage per processor = 7.70003 Mbytes r0 1000 Loop time of 4.11272e-06 on 4 procs for 0 steps with 4000 atoms Pair time (%) = 0 (0) Neigh time (%) = 0 (0) Comm time (%) = 0 (0) Outpt time (%) = 0 (0) Other time (%) = 4.11272e-06 (100) Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Nghost: 17000 ave 17000 max 17000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Neighs: 100000 ave 100000 max 100000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Total # of neighbors = 400000 Ave neighs/atom = 100 Neighbor list builds = 0 Dangerous builds = 0 print "TEST_3 $(round(abs(v_t3-1000)/10))% Error. Sum of all radius voronoi cells is the simulation cell volume" TEST_3 0% Error. Sum of all radius voronoi cells is the simulation cell volume uncompute v1 uncompute r0 undump d1 # # TEST 4: Edge histogram tests # compute v1 type2 voronoi/atom edge_histo 8 thermo_style custom c_v1[1] c_v1[2] c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] run 1 WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) Memory usage per processor = 5.64663 Mbytes v1[1] v1[2] v1[3] v1[4] v1[5] v1[6] v1[7] 0 0 0 12000 0 0 0 0 0 0 12000 0 0 0 Loop time of 0.256451 on 4 procs for 1 steps with 4000 atoms Pair time (%) = 0.00153804 (0.599739) Neigh time (%) = 0 (0) Comm time (%) = 0.000682592 (0.266169) Outpt time (%) = 0.254151 (99.1033) Other time (%) = 7.90358e-05 (0.030819) Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Nghost: 17000 ave 17000 max 17000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Neighs: 100000 ave 100000 max 100000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Total # of neighbors = 400000 Ave neighs/atom = 100 Neighbor list builds = 0 Dangerous builds = 0 variable t4a equal (abs(c_v1[4]-12000)+c_v1[1]+c_v1[2]+c_v1[3]+c_v1[5]+c_v1[6]+c_v1[7])/120 print "TEST_4a $(round(v_t4a))% Error. Edge histogram of a simple cubic lattice (6 sides. 4 edges per side)" TEST_4a 0% Error. Edge histogram of a simple cubic lattice (6 sides. 4 edges per side) uncompute v1 compute v1 all voronoi/atom edge_histo 8 thermo_style custom c_v1[1] c_v1[2] c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] run 1 WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) Memory usage per processor = 5.64663 Mbytes v1[1] v1[2] v1[3] v1[4] v1[5] v1[6] v1[7] 0 0 0 48000 0 0 0 0 0 0 48000 0 0 0 Loop time of 0.25606 on 4 procs for 1 steps with 4000 atoms Pair time (%) = 0.00152463 (0.595418) Neigh time (%) = 0 (0) Comm time (%) = 0.000471294 (0.184056) Outpt time (%) = 0.254003 (99.1966) Other time (%) = 6.12736e-05 (0.0239294) Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Nghost: 17000 ave 17000 max 17000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Neighs: 100000 ave 100000 max 100000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Total # of neighbors = 400000 Ave neighs/atom = 100 Neighbor list builds = 0 Dangerous builds = 0 variable t4b equal (abs(c_v1[4]-48000)+c_v1[1]+c_v1[2]+c_v1[3]+c_v1[5]+c_v1[6]+c_v1[7])/480 print "TEST_4b $(round(v_t4b))% Error. Edge histogram of a face centered cubic lattice (12 sides. 4 edges per side)" TEST_4b 0% Error. Edge histogram of a face centered cubic lattice (12 sides. 4 edges per side) uncompute v1 # perturbed fcc lattice displace_atoms all random 0.01 0.01 0.01 31423 compute v1 all voronoi/atom edge_histo 8 edge_threshold 0.1 thermo_style custom c_v1[1] c_v1[2] c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] run 1 WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) Memory usage per processor = 5.64663 Mbytes v1[1] v1[2] v1[3] v1[4] v1[5] v1[6] v1[7] 0 0 0 48000 0 0 0 0 0 0 48000 0 0 0 Loop time of 0.271724 on 4 procs for 1 steps with 4000 atoms Pair time (%) = 0.00160706 (0.591431) Neigh time (%) = 0 (0) Comm time (%) = 0.000579119 (0.213128) Outpt time (%) = 0.269461 (99.1672) Other time (%) = 7.67708e-05 (0.0282532) Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Nghost: 17000 ave 17000 max 17000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Neighs: 100000 ave 100016 max 99984 min Histogram: 1 0 0 1 0 0 1 0 0 1 Total # of neighbors = 400000 Ave neighs/atom = 100 Neighbor list builds = 0 Dangerous builds = 0 variable t4c equal (abs(c_v1[4]-48000)+c_v1[1]+c_v1[2]+c_v1[3]+c_v1[5]+c_v1[6]+c_v1[7])/480 print "TEST_4c $(round(v_t4c))% Error. Edge histogram of a perturbed face centered cubic lattice with edge_threshold" TEST_4c 0% Error. Edge histogram of a perturbed face centered cubic lattice with edge_threshold uncompute v1 # bcc lattice delete_atoms group all Deleted 4000 atoms, new total = 0 lattice bcc 1 origin 0.25 0.25 0.25 Lattice spacing in x,y,z = 1 1 1 create_atoms 1 box Created 2000 atoms compute v1 all voronoi/atom edge_histo 8 thermo_style custom c_v1[1] c_v1[2] c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] run 1 WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) Memory usage per processor = 5.64663 Mbytes v1[1] v1[2] v1[3] v1[4] v1[5] v1[6] v1[7] 0 0 0 12000 0 16000 0 0 0 0 12000 0 16000 0 Loop time of 0.12346 on 4 procs for 1 steps with 2000 atoms Pair time (%) = 0.000387013 (0.313473) Neigh time (%) = 0 (0) Comm time (%) = 0.000298023 (0.241393) Outpt time (%) = 0.122753 (99.4275) Other time (%) = 2.17557e-05 (0.0176217) Nlocal: 500 ave 500 max 500 min Histogram: 4 0 0 0 0 0 0 0 0 0 Nghost: 8500 ave 8500 max 8500 min Histogram: 4 0 0 0 0 0 0 0 0 0 Neighs: 28000 ave 28000 max 28000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Total # of neighbors = 112000 Ave neighs/atom = 56 Neighbor list builds = 0 Dangerous builds = 0 variable t4d equal (abs(c_v1[4]-12000)+abs(c_v1[6]-16000)+c_v1[1]+c_v1[2]+c_v1[3]+c_v1[5]+c_v1[7])/280 print "TEST_4d $(round(v_t4d))% Error. Edge histogram of a body centered cubic lattice (truncated octahedron, 6 sides with 4 edges, 8 sides with 6 edges)" TEST_4d 0% Error. Edge histogram of a body centered cubic lattice (truncated octahedron, 6 sides with 4 edges, 8 sides with 6 edges) uncompute v1 # restore fcc lattice delete_atoms group all Deleted 2000 atoms, new total = 0 lattice fcc 1 origin 0.25 0.25 0.25 Lattice spacing in x,y,z = 1 1 1 create_atoms 1 box basis 1 2 Created 4000 atoms # # TEST 5: Occupation analysis # print "START5" START5 # start with pristine lattice variable i1 equal 13 variable i2 equal 257 compute v1 all voronoi/atom occupation compute r0 all reduce sum c_v1[1] compute r1 all reduce sum c_v1[2] variable d5a equal c_v1[${i1}][1] variable d5a equal c_v1[13][1] variable d5b equal c_v1[${i2}][1] variable d5b equal c_v1[257][1] variable d5c equal c_v1[${i1}][2] variable d5c equal c_v1[13][2] variable d5d equal c_v1[${i2}][2] variable d5d equal c_v1[257][2] thermo_style custom c_r0 c_r1 v_d5a v_d5b v_d5c v_d5d run 0 WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) Memory usage per processor = 5.64663 Mbytes r0 r1 d5a d5b d5c d5d 4000 4000 1 1 1 1 Loop time of 2.20537e-06 on 4 procs for 0 steps with 4000 atoms Pair time (%) = 0 (0) Neigh time (%) = 0 (0) Comm time (%) = 0 (0) Outpt time (%) = 0 (0) Other time (%) = 2.20537e-06 (100) Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Nghost: 17000 ave 17000 max 17000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Neighs: 100000 ave 100000 max 100000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Total # of neighbors = 400000 Ave neighs/atom = 100 Neighbor list builds = 0 Dangerous builds = 0 # expect 1 1 1 1 (one atom per cell each) variable t5a equal abs(${d5a}-1)+abs(${d5b}-1)+abs(${d5c}-1)+abs(${d5d}-1) variable t5a equal abs(1-1)+abs(${d5b}-1)+abs(${d5c}-1)+abs(${d5d}-1) variable t5a equal abs(1-1)+abs(1-1)+abs(${d5c}-1)+abs(${d5d}-1) variable t5a equal abs(1-1)+abs(1-1)+abs(1-1)+abs(${d5d}-1) variable t5a equal abs(1-1)+abs(1-1)+abs(1-1)+abs(1-1) # move atom i1 next to atom i2 variable oxd equal x[${i1}] variable oxd equal x[13] variable oyd equal y[${i1}] variable oyd equal y[13] variable ozd equal z[${i1}] variable ozd equal z[13] # we need to freeze this value variable ox equal ${oxd} variable ox equal 3.25 variable oy equal ${oyd} variable oy equal 0.25 variable oz equal ${ozd} variable oz equal 0.25 # these coords dont change so dynamic evaluation is ok variable nx equal x[${i2}] variable nx equal x[257] variable ny equal y[${i2}] variable ny equal y[257] variable nz equal z[${i2}] variable nz equal z[257] set atom ${i1} x $(v_nx+0.2) y $(v_ny+0.2) z $(v_nz+0.2) set atom 13 x $(v_nx+0.2) y $(v_ny+0.2) z $(v_nz+0.2) set atom 13 x 4.4500000000000001776 y $(v_ny+0.2) z $(v_nz+0.2) set atom 13 x 4.4500000000000001776 y 1.4499999999999999556 z $(v_nz+0.2) set atom 13 x 4.4500000000000001776 y 1.4499999999999999556 z 1.4499999999999999556 1 settings made for x 1 settings made for y 1 settings made for z run 0 WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) Memory usage per processor = 6.14663 Mbytes r0 r1 d5a d5b d5c d5d 4000 4002 0 2 2 2 Loop time of 3.57628e-06 on 4 procs for 0 steps with 4000 atoms Pair time (%) = 0 (0) Neigh time (%) = 0 (0) Comm time (%) = 0 (0) Outpt time (%) = 0 (0) Other time (%) = 3.57628e-06 (100) Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Nghost: 17000 ave 17000 max 17000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Neighs: 99999.2 ave 100075 max 99967 min Histogram: 2 1 0 0 0 0 0 0 0 1 Total # of neighbors = 399997 Ave neighs/atom = 99.9993 Neighbor list builds = 0 Dangerous builds = 0 # expect 0 2 2 2 (vacancy at the original i1 site, interstitial at i2 and both atoms are now sharing a site) variable t5b equal abs(${d5a}-0)+abs(${d5b}-2)+abs(${d5c}-2)+abs(${d5d}-2) variable t5b equal abs(0-0)+abs(${d5b}-2)+abs(${d5c}-2)+abs(${d5d}-2) variable t5b equal abs(0-0)+abs(2-2)+abs(${d5c}-2)+abs(${d5d}-2) variable t5b equal abs(0-0)+abs(2-2)+abs(2-2)+abs(${d5d}-2) variable t5b equal abs(0-0)+abs(2-2)+abs(2-2)+abs(2-2) # move atom back set atom ${i1} x ${ox} y ${oy} z ${oz} set atom 13 x ${ox} y ${oy} z ${oz} set atom 13 x 3.25 y ${oy} z ${oz} set atom 13 x 3.25 y 0.25 z ${oz} set atom 13 x 3.25 y 0.25 z 0.25 1 settings made for x 1 settings made for y 1 settings made for z run 0 WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) Memory usage per processor = 6.14663 Mbytes r0 r1 d5a d5b d5c d5d 4000 4000 1 1 1 1 Loop time of 3.33786e-06 on 4 procs for 0 steps with 4000 atoms Pair time (%) = 0 (0) Neigh time (%) = 0 (0) Comm time (%) = 0 (0) Outpt time (%) = 0 (0) Other time (%) = 3.33786e-06 (100) Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Nghost: 17000 ave 17000 max 17000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Neighs: 100000 ave 100000 max 100000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Total # of neighbors = 400000 Ave neighs/atom = 100 Neighbor list builds = 0 Dangerous builds = 0 # expect 1 1 1 1 (restored to the initial state) variable t5c equal abs(${d5a}-1)+abs(${d5b}-1)+abs(${d5c}-1)+abs(${d5d}-1) variable t5c equal abs(1-1)+abs(${d5b}-1)+abs(${d5c}-1)+abs(${d5d}-1) variable t5c equal abs(1-1)+abs(1-1)+abs(${d5c}-1)+abs(${d5d}-1) variable t5c equal abs(1-1)+abs(1-1)+abs(1-1)+abs(${d5d}-1) variable t5c equal abs(1-1)+abs(1-1)+abs(1-1)+abs(1-1) print "TEST_5 $((v_t5a+v_t5b+v_t5c)*100)% Error. Detection of vacancies and interstitials using the {occupation} keyword." TEST_5 0% Error. Detection of vacancies and interstitials using the {occupation} keyword. uncompute v1 uncompute r0 uncompute r1 # # TEST 6: Sum of all voronoi cells is the triclinic simulation cell volume # # switch to triclinic box change_box all triclinic triclinic box = (0 0 0) to (10 10 10) with tilt (0 0 0) change_box all xy final 5.0 remap units box triclinic box = (0 0 0) to (10 10 10) with tilt (5 0 0) compute v1 all voronoi/atom dump d1 all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] compute r0 all reduce sum c_v1[1] thermo_style custom c_r0 variable t6 equal c_r0 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 10 steps, check yes master list distance cutoff = 2.3 Memory usage per processor = 7.70784 Mbytes r0 1000 Loop time of 3.27826e-06 on 4 procs for 0 steps with 4000 atoms Pair time (%) = 0 (0) Neigh time (%) = 0 (0) Comm time (%) = 0 (0) Outpt time (%) = 0 (0) Other time (%) = 3.27826e-06 (100) Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Nghost: 17900 ave 17900 max 17900 min Histogram: 4 0 0 0 0 0 0 0 0 0 Neighs: 108000 ave 108000 max 108000 min Histogram: 4 0 0 0 0 0 0 0 0 0 Total # of neighbors = 432000 Ave neighs/atom = 108 Neighbor list builds = 0 Dangerous builds = 0 print "TEST_6 $(round((v_t6-1000)/10))% Error. Sum of all voronoi cells is the triclinic simulation cell volume" TEST_6 0% Error. Sum of all voronoi cells is the triclinic simulation cell volume uncompute v1 uncompute r0 undump d1 # All tests done print TEST_DONE TEST_DONE