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:
178
examples/python/log.4May17.pair_python_coulomb.g++.1
Normal file
178
examples/python/log.4May17.pair_python_coulomb.g++.1
Normal file
@ -0,0 +1,178 @@
|
||||
LAMMPS (4 May 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units real
|
||||
atom_style full
|
||||
|
||||
read_data data.spce
|
||||
orthogonal box = (0.02645 0.02645 0.02641) to (35.5328 35.5328 35.4736)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
4500 atoms
|
||||
scanning bonds ...
|
||||
2 = max bonds/atom
|
||||
scanning angles ...
|
||||
1 = max angles/atom
|
||||
reading bonds ...
|
||||
3000 bonds
|
||||
reading angles ...
|
||||
1500 angles
|
||||
2 = max # of 1-2 neighbors
|
||||
1 = max # of 1-3 neighbors
|
||||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
|
||||
pair_style hybrid/overlay coul/long 12.0 python 12.0
|
||||
kspace_style pppm 1.0e-6
|
||||
|
||||
pair_coeff * * coul/long
|
||||
pair_coeff * * python py_pot.LJCutSPCE OW NULL
|
||||
|
||||
pair_modify table 0
|
||||
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style none
|
||||
improper_style none
|
||||
|
||||
bond_coeff 1 1000.00 1.000
|
||||
angle_coeff 1 100.0 109.47
|
||||
|
||||
special_bonds lj/coul 0.0 0.0 1.0
|
||||
2 = max # of 1-2 neighbors
|
||||
1 = max # of 1-3 neighbors
|
||||
2 = max # of special neighbors
|
||||
|
||||
neighbor 2.0 bin
|
||||
|
||||
fix 1 all shake 0.0001 20 0 b 1 a 1
|
||||
0 = # of size 2 clusters
|
||||
0 = # of size 3 clusters
|
||||
0 = # of size 4 clusters
|
||||
1500 = # of frozen angles
|
||||
fix 2 all nvt temp 300.0 300.0 100.0
|
||||
|
||||
# create combined lj/coul table for all atom types
|
||||
# generate tabulated potential from python variant
|
||||
pair_write 1 1 2000 rsq 0.1 12 spce.table OW-OW -0.8472 -0.8472
|
||||
PPPM initialization ...
|
||||
WARNING: Using polynomial approximation for long-range coulomb (../kspace.cpp:321)
|
||||
G vector (1/distance) = 0.279652
|
||||
grid = 40 40 40
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.000394206
|
||||
estimated relative force accuracy = 1.18714e-06
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 103823 64000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 14
|
||||
ghost atom cutoff = 14
|
||||
binsize = 7, bins = 6 6 6
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
(2) pair python, perpetual, skip from (1)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
pair_write 1 2 2000 rsq 0.1 12 spce.table OW-HW -0.8472 0.4236
|
||||
PPPM initialization ...
|
||||
WARNING: Using polynomial approximation for long-range coulomb (../kspace.cpp:321)
|
||||
G vector (1/distance) = 0.279652
|
||||
grid = 40 40 40
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.000394206
|
||||
estimated relative force accuracy = 1.18714e-06
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 103823 64000
|
||||
pair_write 2 2 2000 rsq 0.1 12 spce.table HW-HW 0.4236 0.4236
|
||||
PPPM initialization ...
|
||||
WARNING: Using polynomial approximation for long-range coulomb (../kspace.cpp:321)
|
||||
G vector (1/distance) = 0.279652
|
||||
grid = 40 40 40
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.000394206
|
||||
estimated relative force accuracy = 1.18714e-06
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 103823 64000
|
||||
|
||||
# switch to tabulated potential
|
||||
pair_style table linear 2000 pppm
|
||||
pair_coeff 1 1 spce.table OW-OW
|
||||
pair_coeff 1 2 spce.table OW-HW
|
||||
pair_coeff 2 2 spce.table HW-HW
|
||||
|
||||
thermo 10
|
||||
run 100
|
||||
PPPM initialization ...
|
||||
WARNING: Using 12-bit tables for long-range coulomb (../kspace.cpp:321)
|
||||
G vector (1/distance) = 0.279652
|
||||
grid = 40 40 40
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.000394674
|
||||
estimated relative force accuracy = 1.18855e-06
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 103823 64000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 14
|
||||
ghost atom cutoff = 14
|
||||
binsize = 7, bins = 6 6 6
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair table, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 35.26 | 35.26 | 35.26 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -100272.97 0 -100272.97 -1282.0708
|
||||
10 120.61568 -101350.63 0 -100272.39 -4077.5051
|
||||
20 136.11379 -101465.43 0 -100248.65 -5136.5677
|
||||
30 137.01602 -101455.3 0 -100230.46 -5347.8311
|
||||
40 153.424 -101582.46 0 -100210.93 -5223.1676
|
||||
50 167.73654 -101686.24 0 -100186.77 -4468.6687
|
||||
60 163.11642 -101618.16 0 -100159.99 -3291.7815
|
||||
70 169.64512 -101647.89 0 -100131.35 -2611.638
|
||||
80 182.9979 -101737.01 0 -100101.11 -2390.6293
|
||||
90 191.33873 -101778.71 0 -100068.24 -2239.386
|
||||
100 194.7458 -101775.84 0 -100034.92 -1951.9128
|
||||
Loop time of 7.63869 on 1 procs for 100 steps with 4500 atoms
|
||||
|
||||
Performance: 1.131 ns/day, 21.219 hours/ns, 13.091 timesteps/s
|
||||
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 5.7777 | 5.7777 | 5.7777 | 0.0 | 75.64
|
||||
Bond | 0.00017595 | 0.00017595 | 0.00017595 | 0.0 | 0.00
|
||||
Kspace | 1.5385 | 1.5385 | 1.5385 | 0.0 | 20.14
|
||||
Neigh | 0.22962 | 0.22962 | 0.22962 | 0.0 | 3.01
|
||||
Comm | 0.024123 | 0.024123 | 0.024123 | 0.0 | 0.32
|
||||
Output | 0.00061131 | 0.00061131 | 0.00061131 | 0.0 | 0.01
|
||||
Modify | 0.062444 | 0.062444 | 0.062444 | 0.0 | 0.82
|
||||
Other | | 0.005466 | | | 0.07
|
||||
|
||||
Nlocal: 4500 ave 4500 max 4500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 21216 ave 21216 max 21216 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 2.60177e+06 ave 2.60177e+06 max 2.60177e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 2601766
|
||||
Ave neighs/atom = 578.17
|
||||
Ave special neighs/atom = 2
|
||||
Neighbor list builds = 3
|
||||
Dangerous builds = 0
|
||||
|
||||
shell rm spce.table
|
||||
|
||||
Total wall time: 0:00:07
|
||||
Reference in New Issue
Block a user