a bunch refactoring changes in the python pair style and the examples

- 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.
This commit is contained in:
Axel Kohlmeyer
2017-05-17 20:55:48 -04:00
parent 1d48f287f0
commit 67962b15fc
18 changed files with 521 additions and 316 deletions

View File

@ -1,5 +1,4 @@
LAMMPS (4 May 2017)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
using 1 OpenMP thread(s) per MPI task
# 3d Lennard-Jones hybrid
@ -19,7 +18,7 @@ mass * 1.0
velocity all create 3.0 87287
pair_style hybrid lj/cut 2.5 python 2.5
pair_coeff * * python potentials.LJCutMelt lj NULL
pair_coeff * * python py_pot.LJCutMelt lj NULL
pair_coeff * 2 lj/cut 1.0 1.0
neighbor 0.3 bin
@ -59,20 +58,20 @@ Step Temp E_pair E_mol TotEng Press
150 1.6596605 -4.7699432 0 -2.2810749 5.7830138
200 1.6371874 -4.7365462 0 -2.2813789 5.9246674
250 1.6323462 -4.7292021 0 -2.2812949 5.9762238
Loop time of 11.1422 on 4 procs for 250 steps with 4000 atoms
Loop time of 6.01723 on 4 procs for 250 steps with 4000 atoms
Performance: 9692.888 tau/day, 22.437 timesteps/s
35.1% CPU use with 4 MPI tasks x 1 OpenMP threads
Performance: 17948.472 tau/day, 41.547 timesteps/s
98.2% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 10.448 | 10.772 | 10.937 | 5.9 | 96.67
Neigh | 0.062061 | 0.062949 | 0.06439 | 0.4 | 0.56
Comm | 0.12929 | 0.29444 | 0.61802 | 35.8 | 2.64
Output | 0.000301 | 0.000684 | 0.001824 | 0.0 | 0.01
Modify | 0.009803 | 0.0098622 | 0.010014 | 0.1 | 0.09
Other | | 0.002618 | | | 0.02
Pair | 5.1507 | 5.4989 | 5.9629 | 13.1 | 91.39
Neigh | 0.024123 | 0.024877 | 0.025959 | 0.5 | 0.41
Comm | 0.02258 | 0.48785 | 0.83691 | 44.1 | 8.11
Output | 0.00039768 | 0.00045246 | 0.00052929 | 0.0 | 0.01
Modify | 0.0036325 | 0.0037773 | 0.0038905 | 0.2 | 0.06
Other | | 0.001357 | | | 0.02
Nlocal: 1000 ave 1010 max 982 min
Histogram: 1 0 0 0 0 0 1 0 0 2
@ -90,7 +89,6 @@ write_data hybrid.data
write_restart hybrid.restart
clear
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
using 1 OpenMP thread(s) per MPI task
read_restart hybrid.restart
@ -99,7 +97,7 @@ read_restart hybrid.restart
4000 atoms
pair_style hybrid lj/cut 2.5 python 2.5
pair_coeff * * python potentials.LJCutMelt lj NULL
pair_coeff * * python py_pot.LJCutMelt lj NULL
pair_coeff * 2 lj/cut 1.0 1.0
fix 1 all nve
@ -136,20 +134,20 @@ Step Temp E_pair E_mol TotEng Press
400 1.6388136 -4.7387093 0 -2.2811035 5.9331084
450 1.6431295 -4.7452215 0 -2.2811435 5.8929898
500 1.643316 -4.7454222 0 -2.2810644 5.8454817
Loop time of 11.287 on 4 procs for 250 steps with 4000 atoms
Loop time of 6.09991 on 4 procs for 250 steps with 4000 atoms
Performance: 9568.520 tau/day, 22.149 timesteps/s
34.9% CPU use with 4 MPI tasks x 1 OpenMP threads
Performance: 17705.179 tau/day, 40.984 timesteps/s
98.2% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 10.274 | 10.76 | 11.02 | 8.8 | 95.33
Neigh | 0.12639 | 0.1291 | 0.13056 | 0.5 | 1.14
Comm | 0.12094 | 0.38226 | 0.87078 | 46.7 | 3.39
Output | 0.000297 | 0.0006965 | 0.001867 | 0.0 | 0.01
Modify | 0.010445 | 0.010638 | 0.011054 | 0.2 | 0.09
Other | | 0.003901 | | | 0.03
Pair | 5.2315 | 5.5179 | 6.0183 | 13.7 | 90.46
Neigh | 0.049134 | 0.051424 | 0.053837 | 0.8 | 0.84
Comm | 0.021671 | 0.52455 | 0.8132 | 44.5 | 8.60
Output | 0.00019336 | 0.00026017 | 0.00032115 | 0.0 | 0.00
Modify | 0.0036032 | 0.0036635 | 0.0038021 | 0.1 | 0.06
Other | | 0.002068 | | | 0.03
Nlocal: 1000 ave 1012 max 983 min
Histogram: 1 0 0 0 0 0 2 0 0 1
@ -164,7 +162,6 @@ Neighbor list builds = 25
Dangerous builds = 25
clear
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:90)
using 1 OpenMP thread(s) per MPI task
units lj
@ -179,7 +176,7 @@ read_data hybrid.data
4000 velocities
pair_style hybrid lj/cut 2.5 python 2.5
pair_coeff * * python potentials.LJCutMelt lj NULL
pair_coeff * * python py_pot.LJCutMelt lj NULL
pair_coeff * 2 lj/cut 1.0 1.0
neighbor 0.3 bin
@ -219,20 +216,20 @@ Step Temp E_pair E_mol TotEng Press
150 1.6384234 -4.7389689 0 -2.2819482 5.9315273
200 1.6428814 -4.7460743 0 -2.2823683 5.8888228
250 1.6432631 -4.7466603 0 -2.2823818 5.8398819
Loop time of 11.1573 on 4 procs for 250 steps with 4000 atoms
Loop time of 6.04476 on 4 procs for 250 steps with 4000 atoms
Performance: 9679.760 tau/day, 22.407 timesteps/s
35.0% CPU use with 4 MPI tasks x 1 OpenMP threads
Performance: 17866.705 tau/day, 41.358 timesteps/s
98.3% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 10.166 | 10.713 | 10.932 | 9.7 | 96.01
Neigh | 0.060687 | 0.062175 | 0.063163 | 0.4 | 0.56
Comm | 0.14931 | 0.36938 | 0.91686 | 52.5 | 3.31
Output | 0.00036 | 0.00058175 | 0.001228 | 0.0 | 0.01
Modify | 0.009918 | 0.010237 | 0.010388 | 0.2 | 0.09
Other | | 0.002356 | | | 0.02
Pair | 5.2589 | 5.5841 | 5.9788 | 11.1 | 92.38
Neigh | 0.023942 | 0.024705 | 0.025509 | 0.4 | 0.41
Comm | 0.034946 | 0.43056 | 0.75671 | 40.0 | 7.12
Output | 0.00022149 | 0.00029725 | 0.0003593 | 0.0 | 0.00
Modify | 0.003613 | 0.0037647 | 0.003829 | 0.1 | 0.06
Other | | 0.001313 | | | 0.02
Nlocal: 1000 ave 1013 max 989 min
Histogram: 1 0 0 1 0 1 0 0 0 1
@ -247,4 +244,4 @@ Neighbor list builds = 12
Dangerous builds not checked
shell rm hybrid.data hybrid.restart
Total wall time: 0:00:35
Total wall time: 0:00:18