with the single function, python pair styles can be massively sped up and made compatible to accelerators, as one can translate the analytic force and energy functions through LAMMPS into suitable tables and then simply use the on-the-fly tables for production runs
100 lines
3.3 KiB
Groff
100 lines
3.3 KiB
Groff
LAMMPS (4 May 2017)
|
|
using 1 OpenMP thread(s) per MPI task
|
|
# 3d Lennard-Jones melt
|
|
|
|
units lj
|
|
atom_style atomic
|
|
|
|
lattice fcc 0.8442
|
|
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
|
|
region box block 0 10 0 10 0 10
|
|
create_box 1 box
|
|
Created orthogonal box = (0 0 0) to (16.796 16.796 16.796)
|
|
1 by 1 by 1 MPI processor grid
|
|
create_atoms 1 box
|
|
Created 4000 atoms
|
|
mass * 1.0
|
|
|
|
velocity all create 3.0 87287
|
|
|
|
pair_style python 2.5
|
|
pair_coeff * * potentials.LJCutMelt lj
|
|
|
|
# generate tabulated potential from python variant
|
|
pair_write 1 1 10000 rsq 0.01 2.5 lj_1_1.table LJ
|
|
Neighbor list info ...
|
|
update every 1 steps, delay 10 steps, check yes
|
|
max neighbors/atom: 2000, page size: 100000
|
|
master list distance cutoff = 2.8
|
|
ghost atom cutoff = 2.8
|
|
binsize = 1.4, bins = 12 12 12
|
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
|
(1) pair python, perpetual
|
|
attributes: half, newton on
|
|
pair build: half/bin/atomonly/newton
|
|
stencil: half/bin/3d/newton
|
|
bin: standard
|
|
|
|
pair_style table linear 10000
|
|
pair_coeff 1 1 lj_1_1.table LJ
|
|
WARNING: 1 of 1000 force values in table are inconsistent with -dE/dr.
|
|
Should only be flagged at inflection points (../pair_table.cpp:476)
|
|
|
|
neighbor 0.3 bin
|
|
neigh_modify every 20 delay 0 check no
|
|
|
|
fix 1 all nve
|
|
|
|
thermo 50
|
|
run 250
|
|
Neighbor list info ...
|
|
update every 20 steps, delay 0 steps, check no
|
|
max neighbors/atom: 2000, page size: 100000
|
|
master list distance cutoff = 2.8
|
|
ghost atom cutoff = 2.8
|
|
binsize = 1.4, bins = 12 12 12
|
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
|
(1) pair table, perpetual
|
|
attributes: half, newton on
|
|
pair build: half/bin/atomonly/newton
|
|
stencil: half/bin/3d/newton
|
|
bin: standard
|
|
Per MPI rank memory allocation (min/avg/max) = 3.184 | 3.184 | 3.184 Mbytes
|
|
Step Temp E_pair E_mol TotEng Press
|
|
0 3 -6.7733675 0 -2.2744925 -3.7033435
|
|
50 1.6758875 -4.7951764 0 -2.2819736 5.6705794
|
|
100 1.6458266 -4.7488945 0 -2.2807717 5.8696895
|
|
150 1.6324439 -4.7283321 0 -2.2802784 5.9594952
|
|
200 1.6630547 -4.7746809 0 -2.2807225 5.7372657
|
|
250 1.6278968 -4.7226363 0 -2.2814016 5.9559236
|
|
Loop time of 1.0498 on 1 procs for 250 steps with 4000 atoms
|
|
|
|
Performance: 102877.190 tau/day, 238.142 timesteps/s
|
|
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
|
|
|
MPI task timing breakdown:
|
|
Section | min time | avg time | max time |%varavg| %total
|
|
---------------------------------------------------------------
|
|
Pair | 0.93242 | 0.93242 | 0.93242 | 0.0 | 88.82
|
|
Neigh | 0.088495 | 0.088495 | 0.088495 | 0.0 | 8.43
|
|
Comm | 0.012153 | 0.012153 | 0.012153 | 0.0 | 1.16
|
|
Output | 0.00013924 | 0.00013924 | 0.00013924 | 0.0 | 0.01
|
|
Modify | 0.013729 | 0.013729 | 0.013729 | 0.0 | 1.31
|
|
Other | | 0.002855 | | | 0.27
|
|
|
|
Nlocal: 4000 ave 4000 max 4000 min
|
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
Nghost: 5504 ave 5504 max 5504 min
|
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
Neighs: 151497 ave 151497 max 151497 min
|
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
|
|
Total # of neighbors = 151497
|
|
Ave neighs/atom = 37.8743
|
|
Neighbor list builds = 12
|
|
Dangerous builds not checked
|
|
|
|
shell rm lj_1_1.table
|
|
|
|
Total wall time: 0:00:01
|