- make all python potential classes derived from LAMMPSPairPotential which contains shared functionality. We currently don't check for supported atom types. may want to add that again later. - keep track of skipped atom types in the C++ code. - add test against units setting. must set self.units='...' in constructor - make compute_force method consistent with Pair::single() in LAMMPS and return force/r instead of force. - rename potentials.py to py_pot.py - update test runs. some small tweaks.
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 * * py_pot.LJCutMelt lj
|
|
|
|
# generate tabulated potential from python variant
|
|
pair_write 1 1 2000 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 2000
|
|
pair_coeff 1 1 lj_1_1.table LJ
|
|
WARNING: 2 of 2000 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.7733629 0 -2.2744879 -3.7032813
|
|
50 1.6758731 -4.7953067 0 -2.2821255 5.6706553
|
|
100 1.6458118 -4.7490281 0 -2.2809276 5.8697466
|
|
150 1.632425 -4.7284533 0 -2.2804279 5.9595684
|
|
200 1.6631578 -4.7749889 0 -2.2808759 5.7365839
|
|
250 1.6277062 -4.7224727 0 -2.2815238 5.9572913
|
|
Loop time of 0.996652 on 1 procs for 250 steps with 4000 atoms
|
|
|
|
Performance: 108362.785 tau/day, 250.840 timesteps/s
|
|
99.8% 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.87999 | 0.87999 | 0.87999 | 0.0 | 88.29
|
|
Neigh | 0.087921 | 0.087921 | 0.087921 | 0.0 | 8.82
|
|
Comm | 0.012098 | 0.012098 | 0.012098 | 0.0 | 1.21
|
|
Output | 0.00013614 | 0.00013614 | 0.00013614 | 0.0 | 0.01
|
|
Modify | 0.01363 | 0.01363 | 0.01363 | 0.0 | 1.37
|
|
Other | | 0.002882 | | | 0.29
|
|
|
|
Nlocal: 4000 ave 4000 max 4000 min
|
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
Nghost: 5500 ave 5500 max 5500 min
|
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
Neighs: 151496 ave 151496 max 151496 min
|
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
|
|
Total # of neighbors = 151496
|
|
Ave neighs/atom = 37.874
|
|
Neighbor list builds = 12
|
|
Dangerous builds not checked
|
|
|
|
shell rm lj_1_1.table
|
|
|
|
Total wall time: 0:00:01
|