forked from lijiext/lammps
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:
parent
1d48f287f0
commit
67962b15fc
|
@ -3,11 +3,11 @@ atom_style full
|
|||
|
||||
read_data data.spce
|
||||
|
||||
pair_style hybrid/overlay python 12.0 coul/long 12.0
|
||||
pair_style hybrid/overlay coul/long 12.0 python 12.0
|
||||
kspace_style pppm 1.0e-6
|
||||
|
||||
pair_coeff * * coul/long
|
||||
pair_coeff * * python potentials.LJCutSPCE OW NULL
|
||||
pair_coeff * * python py_pot.LJCutSPCE OW NULL
|
||||
|
||||
pair_modify table 0
|
||||
|
||||
|
|
|
@ -12,7 +12,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
|
||||
|
@ -31,7 +31,7 @@ clear
|
|||
read_restart hybrid.restart
|
||||
|
||||
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
|
||||
|
@ -47,7 +47,7 @@ atom_style atomic
|
|||
read_data hybrid.data
|
||||
|
||||
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
|
||||
|
|
|
@ -12,7 +12,7 @@ mass * 1.0
|
|||
velocity all create 3.0 87287
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * potentials.LJCutMelt lj
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 20 delay 0 check no
|
||||
|
@ -30,7 +30,7 @@ clear
|
|||
read_restart melt.restart
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * potentials.LJCutMelt lj
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
|
@ -45,7 +45,7 @@ atom_style atomic
|
|||
read_data melt.data
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * potentials.LJCutMelt lj
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 20 delay 0 check no
|
||||
|
|
|
@ -3,11 +3,11 @@ atom_style full
|
|||
|
||||
read_data data.spce
|
||||
|
||||
pair_style hybrid/overlay python 12.0 coul/long 12.0
|
||||
pair_style hybrid/overlay coul/long 12.0 python 12.0
|
||||
kspace_style pppm 1.0e-6
|
||||
|
||||
pair_coeff * * coul/long
|
||||
pair_coeff * * python potentials.LJCutSPCE OW NULL
|
||||
pair_coeff * * python py_pot.LJCutSPCE OW NULL
|
||||
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
|
|
|
@ -12,12 +12,12 @@ mass * 1.0
|
|||
velocity all create 3.0 87287
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * potentials.LJCutMelt lj
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
|
||||
# generate tabulated potential from python variant
|
||||
pair_write 1 1 10000 rsq 0.01 2.5 lj_1_1.table LJ
|
||||
pair_write 1 1 2000 rsq 0.01 2.5 lj_1_1.table LJ
|
||||
|
||||
pair_style table linear 10000
|
||||
pair_style table linear 2000
|
||||
pair_coeff 1 1 lj_1_1.table LJ
|
||||
|
||||
neighbor 0.3 bin
|
||||
|
|
|
@ -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
|
|
@ -21,11 +21,11 @@ read_data data.spce
|
|||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
|
||||
pair_style hybrid/overlay python 12.0 coul/long 12.0
|
||||
pair_style hybrid/overlay coul/long 12.0 python 12.0
|
||||
kspace_style pppm 1.0e-6
|
||||
|
||||
pair_coeff * * coul/long
|
||||
pair_coeff * * python potentials.LJCutSPCE OW NULL
|
||||
pair_coeff * * python py_pot.LJCutSPCE OW NULL
|
||||
|
||||
pair_modify table 0
|
||||
|
||||
|
@ -70,16 +70,16 @@ Neighbor list info ...
|
|||
ghost atom cutoff = 14
|
||||
binsize = 7, bins = 6 6 6
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair python, perpetual, skip from (2)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair coul/long, perpetual
|
||||
(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)
|
||||
|
@ -143,22 +143,22 @@ Step Temp E_pair E_mol TotEng Press
|
|||
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 2.38392 on 4 procs for 100 steps with 4500 atoms
|
||||
Loop time of 2.35848 on 4 procs for 100 steps with 4500 atoms
|
||||
|
||||
Performance: 3.624 ns/day, 6.622 hours/ns, 41.948 timesteps/s
|
||||
99.1% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
Performance: 3.663 ns/day, 6.551 hours/ns, 42.400 timesteps/s
|
||||
99.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.4377 | 1.5465 | 1.6848 | 7.3 | 64.87
|
||||
Bond | 0.00010276 | 0.00012648 | 0.0001452 | 0.0 | 0.01
|
||||
Kspace | 0.53311 | 0.66842 | 0.77484 | 10.9 | 28.04
|
||||
Neigh | 0.066 | 0.066074 | 0.066101 | 0.0 | 2.77
|
||||
Comm | 0.045355 | 0.048344 | 0.050747 | 1.0 | 2.03
|
||||
Output | 0.00042391 | 0.00044996 | 0.00052667 | 0.0 | 0.02
|
||||
Modify | 0.049891 | 0.050191 | 0.050336 | 0.1 | 2.11
|
||||
Other | | 0.003771 | | | 0.16
|
||||
Pair | 1.5061 | 1.5612 | 1.6879 | 5.9 | 66.20
|
||||
Bond | 9.5129e-05 | 0.00012672 | 0.00014567 | 0.0 | 0.01
|
||||
Kspace | 0.52033 | 0.64456 | 0.69933 | 9.1 | 27.33
|
||||
Neigh | 0.066265 | 0.066342 | 0.06644 | 0.0 | 2.81
|
||||
Comm | 0.03394 | 0.036139 | 0.038043 | 0.8 | 1.53
|
||||
Output | 0.00040889 | 0.00044978 | 0.00056887 | 0.0 | 0.02
|
||||
Modify | 0.04557 | 0.045813 | 0.046082 | 0.1 | 1.94
|
||||
Other | | 0.003826 | | | 0.16
|
||||
|
||||
Nlocal: 1125 ave 1154 max 1092 min
|
||||
Histogram: 1 0 0 0 1 0 0 1 0 1
|
|
@ -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.6324555 -4.7286791 0 -2.280608 5.9589514
|
||||
200 1.6630725 -4.7750988 0 -2.2811136 5.7364886
|
||||
250 1.6275257 -4.7224992 0 -2.281821 5.9567365
|
||||
Loop time of 43.2436 on 1 procs for 250 steps with 4000 atoms
|
||||
Loop time of 21.9463 on 1 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 2497.477 tau/day, 5.781 timesteps/s
|
||||
31.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
Performance: 4921.114 tau/day, 11.391 timesteps/s
|
||||
98.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 | 42.933 | 42.933 | 42.933 | 0.0 | 99.28
|
||||
Neigh | 0.24816 | 0.24816 | 0.24816 | 0.0 | 0.57
|
||||
Comm | 0.027748 | 0.027748 | 0.027748 | 0.0 | 0.06
|
||||
Output | 0.000519 | 0.000519 | 0.000519 | 0.0 | 0.00
|
||||
Modify | 0.028028 | 0.028028 | 0.028028 | 0.0 | 0.06
|
||||
Other | | 0.005912 | | | 0.01
|
||||
Pair | 21.819 | 21.819 | 21.819 | 0.0 | 99.42
|
||||
Neigh | 0.094718 | 0.094718 | 0.094718 | 0.0 | 0.43
|
||||
Comm | 0.01407 | 0.01407 | 0.01407 | 0.0 | 0.06
|
||||
Output | 0.00024915 | 0.00024915 | 0.00024915 | 0.0 | 0.00
|
||||
Modify | 0.015002 | 0.015002 | 0.015002 | 0.0 | 0.07
|
||||
Other | | 0.003232 | | | 0.01
|
||||
|
||||
Nlocal: 4000 ave 4000 max 4000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
@ -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.6540555 -4.7622999 0 -2.281837 5.8200413
|
||||
450 1.6264734 -4.7200865 0 -2.2809863 5.9546991
|
||||
500 1.6366891 -4.7350979 0 -2.2806781 5.9369284
|
||||
Loop time of 46.2882 on 1 procs for 250 steps with 4000 atoms
|
||||
Loop time of 21.9098 on 1 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 2333.206 tau/day, 5.401 timesteps/s
|
||||
31.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
Performance: 4929.303 tau/day, 11.410 timesteps/s
|
||||
98.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 | 45.662 | 45.662 | 45.662 | 0.0 | 98.65
|
||||
Neigh | 0.55234 | 0.55234 | 0.55234 | 0.0 | 1.19
|
||||
Comm | 0.035614 | 0.035614 | 0.035614 | 0.0 | 0.08
|
||||
Output | 0.000544 | 0.000544 | 0.000544 | 0.0 | 0.00
|
||||
Modify | 0.029269 | 0.029269 | 0.029269 | 0.0 | 0.06
|
||||
Other | | 0.008735 | | | 0.02
|
||||
Pair | 21.68 | 21.68 | 21.68 | 0.0 | 98.95
|
||||
Neigh | 0.19625 | 0.19625 | 0.19625 | 0.0 | 0.90
|
||||
Comm | 0.014877 | 0.014877 | 0.014877 | 0.0 | 0.07
|
||||
Output | 0.00027227 | 0.00027227 | 0.00027227 | 0.0 | 0.00
|
||||
Modify | 0.013663 | 0.013663 | 0.013663 | 0.0 | 0.06
|
||||
Other | | 0.004371 | | | 0.02
|
||||
|
||||
Nlocal: 4000 ave 4000 max 4000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
@ -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.6537193 -4.7627023 0 -2.2827434 5.8177704
|
||||
200 1.6258731 -4.7205017 0 -2.2823017 5.952511
|
||||
250 1.6370862 -4.7373176 0 -2.2823022 5.925807
|
||||
Loop time of 46.4094 on 1 procs for 250 steps with 4000 atoms
|
||||
Loop time of 22.091 on 1 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 2327.115 tau/day, 5.387 timesteps/s
|
||||
31.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
Performance: 4888.868 tau/day, 11.317 timesteps/s
|
||||
98.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 | 46.066 | 46.066 | 46.066 | 0.0 | 99.26
|
||||
Neigh | 0.27099 | 0.27099 | 0.27099 | 0.0 | 0.58
|
||||
Comm | 0.033778 | 0.033778 | 0.033778 | 0.0 | 0.07
|
||||
Output | 0.000507 | 0.000507 | 0.000507 | 0.0 | 0.00
|
||||
Modify | 0.030938 | 0.030938 | 0.030938 | 0.0 | 0.07
|
||||
Other | | 0.006695 | | | 0.01
|
||||
Pair | 21.966 | 21.966 | 21.966 | 0.0 | 99.43
|
||||
Neigh | 0.094647 | 0.094647 | 0.094647 | 0.0 | 0.43
|
||||
Comm | 0.013071 | 0.013071 | 0.013071 | 0.0 | 0.06
|
||||
Output | 0.00027871 | 0.00027871 | 0.00027871 | 0.0 | 0.00
|
||||
Modify | 0.013882 | 0.013882 | 0.013882 | 0.0 | 0.06
|
||||
Other | | 0.003102 | | | 0.01
|
||||
|
||||
Nlocal: 4000 ave 4000 max 4000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
@ -247,4 +244,4 @@ Neighbor list builds = 12
|
|||
Dangerous builds not checked
|
||||
|
||||
shell rm hybrid.data hybrid.restart
|
||||
Total wall time: 0:02:20
|
||||
Total wall time: 0:01:07
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 melt
|
||||
|
||||
|
@ -19,7 +18,7 @@ mass * 1.0
|
|||
velocity all create 3.0 87287
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * potentials.LJCutMelt lj
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 20 delay 0 check no
|
||||
|
@ -48,20 +47,20 @@ Step Temp E_pair E_mol TotEng Press
|
|||
150 1.6324555 -4.7286791 0 -2.280608 5.9589514
|
||||
200 1.6630725 -4.7750988 0 -2.2811136 5.7364886
|
||||
250 1.6275257 -4.7224992 0 -2.281821 5.9567365
|
||||
Loop time of 24.2466 on 1 procs for 250 steps with 4000 atoms
|
||||
Loop time of 21.6481 on 1 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 4454.233 tau/day, 10.311 timesteps/s
|
||||
59.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
Performance: 4988.899 tau/day, 11.548 timesteps/s
|
||||
98.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 24.079 | 24.079 | 24.079 | 0.0 | 99.31
|
||||
Neigh | 0.13174 | 0.13174 | 0.13174 | 0.0 | 0.54
|
||||
Comm | 0.016789 | 0.016789 | 0.016789 | 0.0 | 0.07
|
||||
Output | 0.000271 | 0.000271 | 0.000271 | 0.0 | 0.00
|
||||
Modify | 0.015073 | 0.015073 | 0.015073 | 0.0 | 0.06
|
||||
Other | | 0.003428 | | | 0.01
|
||||
Pair | 21.529 | 21.529 | 21.529 | 0.0 | 99.45
|
||||
Neigh | 0.08819 | 0.08819 | 0.08819 | 0.0 | 0.41
|
||||
Comm | 0.013276 | 0.013276 | 0.013276 | 0.0 | 0.06
|
||||
Output | 0.00025654 | 0.00025654 | 0.00025654 | 0.0 | 0.00
|
||||
Modify | 0.014466 | 0.014466 | 0.014466 | 0.0 | 0.07
|
||||
Other | | 0.003143 | | | 0.01
|
||||
|
||||
Nlocal: 4000 ave 4000 max 4000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
@ -79,7 +78,6 @@ write_data melt.data
|
|||
write_restart melt.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 melt.restart
|
||||
|
@ -88,7 +86,7 @@ read_restart melt.restart
|
|||
4000 atoms
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * potentials.LJCutMelt lj
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
|
@ -114,20 +112,20 @@ Step Temp E_pair E_mol TotEng Press
|
|||
400 1.6540555 -4.7622999 0 -2.281837 5.8200413
|
||||
450 1.6264734 -4.7200865 0 -2.2809863 5.9546991
|
||||
500 1.6366891 -4.7350979 0 -2.2806781 5.9369284
|
||||
Loop time of 24.3239 on 1 procs for 250 steps with 4000 atoms
|
||||
Loop time of 21.9592 on 1 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 4440.069 tau/day, 10.278 timesteps/s
|
||||
60.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
Performance: 4918.203 tau/day, 11.385 timesteps/s
|
||||
98.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 24.017 | 24.017 | 24.017 | 0.0 | 98.74
|
||||
Neigh | 0.26927 | 0.26927 | 0.26927 | 0.0 | 1.11
|
||||
Comm | 0.018113 | 0.018113 | 0.018113 | 0.0 | 0.07
|
||||
Output | 0.000254 | 0.000254 | 0.000254 | 0.0 | 0.00
|
||||
Modify | 0.015259 | 0.015259 | 0.015259 | 0.0 | 0.06
|
||||
Other | | 0.004524 | | | 0.02
|
||||
Pair | 21.74 | 21.74 | 21.74 | 0.0 | 99.00
|
||||
Neigh | 0.18588 | 0.18588 | 0.18588 | 0.0 | 0.85
|
||||
Comm | 0.01476 | 0.01476 | 0.01476 | 0.0 | 0.07
|
||||
Output | 0.00022244 | 0.00022244 | 0.00022244 | 0.0 | 0.00
|
||||
Modify | 0.01356 | 0.01356 | 0.01356 | 0.0 | 0.06
|
||||
Other | | 0.004382 | | | 0.02
|
||||
|
||||
Nlocal: 4000 ave 4000 max 4000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
@ -142,7 +140,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
|
||||
|
@ -157,7 +154,7 @@ read_data melt.data
|
|||
4000 velocities
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * potentials.LJCutMelt lj
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 20 delay 0 check no
|
||||
|
@ -186,20 +183,20 @@ Step Temp E_pair E_mol TotEng Press
|
|||
150 1.6537193 -4.7627023 0 -2.2827434 5.8177704
|
||||
200 1.6258731 -4.7205017 0 -2.2823017 5.952511
|
||||
250 1.6370862 -4.7373176 0 -2.2823022 5.925807
|
||||
Loop time of 22.9051 on 1 procs for 250 steps with 4000 atoms
|
||||
Loop time of 21.8255 on 1 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 4715.116 tau/day, 10.915 timesteps/s
|
||||
60.1% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
Performance: 4948.331 tau/day, 11.454 timesteps/s
|
||||
98.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 | 22.752 | 22.752 | 22.752 | 0.0 | 99.33
|
||||
Neigh | 0.12254 | 0.12254 | 0.12254 | 0.0 | 0.53
|
||||
Comm | 0.013385 | 0.013385 | 0.013385 | 0.0 | 0.06
|
||||
Output | 0.000254 | 0.000254 | 0.000254 | 0.0 | 0.00
|
||||
Modify | 0.014159 | 0.014159 | 0.014159 | 0.0 | 0.06
|
||||
Other | | 0.002851 | | | 0.01
|
||||
Pair | 21.707 | 21.707 | 21.707 | 0.0 | 99.46
|
||||
Neigh | 0.088455 | 0.088455 | 0.088455 | 0.0 | 0.41
|
||||
Comm | 0.01311 | 0.01311 | 0.01311 | 0.0 | 0.06
|
||||
Output | 0.00025082 | 0.00025082 | 0.00025082 | 0.0 | 0.00
|
||||
Modify | 0.013836 | 0.013836 | 0.013836 | 0.0 | 0.06
|
||||
Other | | 0.003096 | | | 0.01
|
||||
|
||||
Nlocal: 4000 ave 4000 max 4000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
@ -214,4 +211,4 @@ Neighbor list builds = 12
|
|||
Dangerous builds not checked
|
||||
|
||||
shell rm melt.data melt.restart
|
||||
Total wall time: 0:01:13
|
||||
Total wall time: 0:01:07
|
||||
|
|
|
@ -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 melt
|
||||
|
||||
|
@ -19,7 +18,7 @@ mass * 1.0
|
|||
velocity all create 3.0 87287
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * potentials.LJCutMelt lj
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 20 delay 0 check no
|
||||
|
@ -48,20 +47,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 12.7083 on 4 procs for 250 steps with 4000 atoms
|
||||
Loop time of 5.83903 on 4 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 8498.384 tau/day, 19.672 timesteps/s
|
||||
31.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
Performance: 18496.226 tau/day, 42.815 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 | 11.491 | 11.96 | 12.464 | 10.0 | 94.11
|
||||
Neigh | 0.065058 | 0.065956 | 0.067066 | 0.3 | 0.52
|
||||
Comm | 0.16288 | 0.66706 | 1.1373 | 42.2 | 5.25
|
||||
Output | 0.000416 | 0.00085025 | 0.002121 | 0.0 | 0.01
|
||||
Modify | 0.010849 | 0.011123 | 0.011321 | 0.2 | 0.09
|
||||
Other | | 0.003005 | | | 0.02
|
||||
Pair | 5.152 | 5.5209 | 5.7679 | 9.6 | 94.55
|
||||
Neigh | 0.022809 | 0.023364 | 0.023891 | 0.3 | 0.40
|
||||
Comm | 0.041927 | 0.28952 | 0.65893 | 42.2 | 4.96
|
||||
Output | 0.0002389 | 0.00024772 | 0.00026727 | 0.0 | 0.00
|
||||
Modify | 0.0036368 | 0.0036796 | 0.0037563 | 0.1 | 0.06
|
||||
Other | | 0.001328 | | | 0.02
|
||||
|
||||
Nlocal: 1000 ave 1010 max 982 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
|
@ -79,7 +78,6 @@ write_data melt.data
|
|||
write_restart melt.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 melt.restart
|
||||
|
@ -88,7 +86,7 @@ read_restart melt.restart
|
|||
4000 atoms
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * potentials.LJCutMelt lj
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
|
@ -114,20 +112,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 12.6852 on 4 procs for 250 steps with 4000 atoms
|
||||
Loop time of 5.85683 on 4 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 8513.855 tau/day, 19.708 timesteps/s
|
||||
31.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
Performance: 18440.001 tau/day, 42.685 timesteps/s
|
||||
98.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 11.653 | 11.92 | 12.472 | 9.6 | 93.97
|
||||
Neigh | 0.13284 | 0.13556 | 0.13729 | 0.5 | 1.07
|
||||
Comm | 0.051389 | 0.60884 | 0.88175 | 43.0 | 4.80
|
||||
Output | 0.000362 | 0.0046985 | 0.008143 | 5.1 | 0.04
|
||||
Modify | 0.011007 | 0.011344 | 0.011857 | 0.3 | 0.09
|
||||
Other | | 0.004278 | | | 0.03
|
||||
Pair | 5.2483 | 5.5095 | 5.7744 | 8.0 | 94.07
|
||||
Neigh | 0.047228 | 0.047998 | 0.049293 | 0.4 | 0.82
|
||||
Comm | 0.027134 | 0.29341 | 0.55554 | 34.6 | 5.01
|
||||
Output | 0.00020003 | 0.00021219 | 0.0002358 | 0.0 | 0.00
|
||||
Modify | 0.0035472 | 0.0036988 | 0.0038681 | 0.2 | 0.06
|
||||
Other | | 0.001984 | | | 0.03
|
||||
|
||||
Nlocal: 1000 ave 1012 max 983 min
|
||||
Histogram: 1 0 0 0 0 0 2 0 0 1
|
||||
|
@ -142,7 +140,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
|
||||
|
@ -157,7 +154,7 @@ read_data melt.data
|
|||
4000 velocities
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * potentials.LJCutMelt lj
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify every 20 delay 0 check no
|
||||
|
@ -186,20 +183,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 12.5324 on 4 procs for 250 steps with 4000 atoms
|
||||
Loop time of 5.86684 on 4 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 8617.631 tau/day, 19.948 timesteps/s
|
||||
31.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
Performance: 18408.545 tau/day, 42.612 timesteps/s
|
||||
98.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 11.648 | 11.918 | 12.387 | 8.3 | 95.10
|
||||
Neigh | 0.064038 | 0.06537 | 0.065914 | 0.3 | 0.52
|
||||
Comm | 0.065189 | 0.53362 | 0.80384 | 39.4 | 4.26
|
||||
Output | 0.000346 | 0.0007525 | 0.001938 | 0.0 | 0.01
|
||||
Modify | 0.011255 | 0.01155 | 0.011852 | 0.2 | 0.09
|
||||
Other | | 0.002751 | | | 0.02
|
||||
Pair | 5.3207 | 5.5695 | 5.8071 | 7.6 | 94.93
|
||||
Neigh | 0.023073 | 0.023405 | 0.023834 | 0.2 | 0.40
|
||||
Comm | 0.030558 | 0.2686 | 0.51789 | 34.7 | 4.58
|
||||
Output | 0.00028825 | 0.00036758 | 0.00042987 | 0.0 | 0.01
|
||||
Modify | 0.0034878 | 0.0036733 | 0.0039375 | 0.3 | 0.06
|
||||
Other | | 0.001259 | | | 0.02
|
||||
|
||||
Nlocal: 1000 ave 1013 max 989 min
|
||||
Histogram: 1 0 0 1 0 1 0 0 0 1
|
||||
|
@ -214,4 +211,4 @@ Neighbor list builds = 12
|
|||
Dangerous builds not checked
|
||||
|
||||
shell rm melt.data melt.restart
|
||||
Total wall time: 0:00:39
|
||||
Total wall time: 0:00:18
|
||||
|
|
|
@ -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
|
||||
units real
|
||||
atom_style full
|
||||
|
@ -22,11 +21,11 @@ read_data data.spce
|
|||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
|
||||
pair_style hybrid/overlay python 12.0 coul/long 12.0
|
||||
pair_style hybrid/overlay coul/long 12.0 python 12.0
|
||||
kspace_style pppm 1.0e-6
|
||||
|
||||
pair_coeff * * coul/long
|
||||
pair_coeff * * python potentials.LJCutSPCE OW NULL
|
||||
pair_coeff * * python py_pot.LJCutSPCE OW NULL
|
||||
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
|
@ -68,16 +67,16 @@ Neighbor list info ...
|
|||
ghost atom cutoff = 14
|
||||
binsize = 7, bins = 6 6 6
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair python, perpetual, skip from (2)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair coul/long, perpetual
|
||||
(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
|
||||
Per MPI rank memory allocation (min/avg/max) = 41.05 | 41.05 | 41.05 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -16692.369 0 -16692.369 -1289.222
|
||||
|
@ -91,33 +90,33 @@ Step Temp E_pair E_mol TotEng Press
|
|||
80 182.94811 -18155.978 0 -16520.523 -2393.3156
|
||||
90 191.29902 -18197.887 0 -16487.779 -2242.7104
|
||||
100 194.70949 -18195.021 0 -16454.425 -1955.2916
|
||||
Loop time of 63.3145 on 1 procs for 100 steps with 4500 atoms
|
||||
Loop time of 23.0818 on 1 procs for 100 steps with 4500 atoms
|
||||
|
||||
Performance: 0.136 ns/day, 175.874 hours/ns, 1.579 timesteps/s
|
||||
86.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
Performance: 0.374 ns/day, 64.116 hours/ns, 4.332 timesteps/s
|
||||
98.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 61.815 | 61.815 | 61.815 | 0.0 | 97.63
|
||||
Bond | 0.000132 | 0.000132 | 0.000132 | 0.0 | 0.00
|
||||
Kspace | 1.2226 | 1.2226 | 1.2226 | 0.0 | 1.93
|
||||
Neigh | 0.21684 | 0.21684 | 0.21684 | 0.0 | 0.34
|
||||
Comm | 0.015175 | 0.015175 | 0.015175 | 0.0 | 0.02
|
||||
Output | 0.000405 | 0.000405 | 0.000405 | 0.0 | 0.00
|
||||
Modify | 0.040088 | 0.040088 | 0.040088 | 0.0 | 0.06
|
||||
Other | | 0.003896 | | | 0.01
|
||||
Pair | 21.186 | 21.186 | 21.186 | 0.0 | 91.79
|
||||
Bond | 0.00022054 | 0.00022054 | 0.00022054 | 0.0 | 0.00
|
||||
Kspace | 1.5442 | 1.5442 | 1.5442 | 0.0 | 6.69
|
||||
Neigh | 0.25672 | 0.25672 | 0.25672 | 0.0 | 1.11
|
||||
Comm | 0.023787 | 0.023787 | 0.023787 | 0.0 | 0.10
|
||||
Output | 0.00060248 | 0.00060248 | 0.00060248 | 0.0 | 0.00
|
||||
Modify | 0.064809 | 0.064809 | 0.064809 | 0.0 | 0.28
|
||||
Other | | 0.005301 | | | 0.02
|
||||
|
||||
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: 1.44594e+06 ave 1.44594e+06 max 1.44594e+06 min
|
||||
Neighs: 2.60176e+06 ave 2.60176e+06 max 2.60176e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1445935
|
||||
Ave neighs/atom = 321.319
|
||||
Total # of neighbors = 2601762
|
||||
Ave neighs/atom = 578.169
|
||||
Ave special neighs/atom = 2
|
||||
Neighbor list builds = 3
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:05
|
||||
Total wall time: 0:00:23
|
||||
|
|
|
@ -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
|
||||
units real
|
||||
atom_style full
|
||||
|
@ -22,11 +21,11 @@ read_data data.spce
|
|||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
|
||||
pair_style hybrid/overlay python 12.0 coul/long 12.0
|
||||
pair_style hybrid/overlay coul/long 12.0 python 12.0
|
||||
kspace_style pppm 1.0e-6
|
||||
|
||||
pair_coeff * * coul/long
|
||||
pair_coeff * * python potentials.LJCutSPCE OW NULL
|
||||
pair_coeff * * python py_pot.LJCutSPCE OW NULL
|
||||
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
|
@ -68,16 +67,16 @@ Neighbor list info ...
|
|||
ghost atom cutoff = 14
|
||||
binsize = 7, bins = 6 6 6
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair python, perpetual, skip from (2)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair coul/long, perpetual
|
||||
(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
|
||||
Per MPI rank memory allocation (min/avg/max) = 14.59 | 14.59 | 14.59 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -16692.369 0 -16692.369 -1289.222
|
||||
|
@ -91,33 +90,33 @@ Step Temp E_pair E_mol TotEng Press
|
|||
80 182.94811 -18155.978 0 -16520.523 -2393.3156
|
||||
90 191.29902 -18197.887 0 -16487.779 -2242.7104
|
||||
100 194.70949 -18195.021 0 -16454.425 -1955.2916
|
||||
Loop time of 29.6024 on 4 procs for 100 steps with 4500 atoms
|
||||
Loop time of 6.588 on 4 procs for 100 steps with 4500 atoms
|
||||
|
||||
Performance: 0.292 ns/day, 82.229 hours/ns, 3.378 timesteps/s
|
||||
52.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
Performance: 1.311 ns/day, 18.300 hours/ns, 15.179 timesteps/s
|
||||
98.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 26.631 | 27.507 | 28.649 | 14.3 | 92.92
|
||||
Bond | 0.00021 | 0.00022675 | 0.000248 | 0.0 | 0.00
|
||||
Kspace | 0.72315 | 1.8708 | 2.7365 | 54.7 | 6.32
|
||||
Neigh | 0.10667 | 0.1067 | 0.10674 | 0.0 | 0.36
|
||||
Comm | 0.045357 | 0.054035 | 0.064607 | 3.6 | 0.18
|
||||
Output | 0.000424 | 0.00086625 | 0.002189 | 0.0 | 0.00
|
||||
Modify | 0.056602 | 0.056667 | 0.056763 | 0.0 | 0.19
|
||||
Other | | 0.006337 | | | 0.02
|
||||
Pair | 5.3756 | 5.5417 | 5.8745 | 8.3 | 84.12
|
||||
Bond | 0.0001049 | 0.00013965 | 0.0001812 | 0.0 | 0.00
|
||||
Kspace | 0.54765 | 0.87786 | 1.042 | 20.8 | 13.33
|
||||
Neigh | 0.072695 | 0.072884 | 0.072973 | 0.0 | 1.11
|
||||
Comm | 0.04138 | 0.043576 | 0.045475 | 0.7 | 0.66
|
||||
Output | 0.00041032 | 0.00043947 | 0.00052142 | 0.0 | 0.01
|
||||
Modify | 0.047381 | 0.047567 | 0.047745 | 0.1 | 0.72
|
||||
Other | | 0.003845 | | | 0.06
|
||||
|
||||
Nlocal: 1125 ave 1154 max 1092 min
|
||||
Histogram: 1 0 0 0 1 0 0 1 0 1
|
||||
Nghost: 12256.2 ave 12296 max 12213 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
Neighs: 361484 ave 376583 max 347969 min
|
||||
Neighs: 650440 ave 678828 max 626375 min
|
||||
Histogram: 1 0 0 0 2 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 1445935
|
||||
Ave neighs/atom = 321.319
|
||||
Total # of neighbors = 2601762
|
||||
Ave neighs/atom = 578.169
|
||||
Ave special neighs/atom = 2
|
||||
Neighbor list builds = 3
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:30
|
||||
Total wall time: 0:00:06
|
||||
|
|
|
@ -18,10 +18,10 @@ mass * 1.0
|
|||
velocity all create 3.0 87287
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * potentials.LJCutMelt lj
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
|
||||
# generate tabulated potential from python variant
|
||||
pair_write 1 1 10000 rsq 0.01 2.5 lj_1_1.table LJ
|
||||
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
|
||||
|
@ -35,9 +35,9 @@ Neighbor list info ...
|
|||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
|
||||
pair_style table linear 10000
|
||||
pair_style table linear 2000
|
||||
pair_coeff 1 1 lj_1_1.table LJ
|
||||
WARNING: 1 of 1000 force values in table are inconsistent with -dE/dr.
|
||||
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
|
||||
|
@ -61,36 +61,36 @@ Neighbor list info ...
|
|||
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
|
||||
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: 102877.190 tau/day, 238.142 timesteps/s
|
||||
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
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.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
|
||||
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: 5504 ave 5504 max 5504 min
|
||||
Nghost: 5500 ave 5500 max 5500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 151497 ave 151497 max 151497 min
|
||||
Neighs: 151496 ave 151496 max 151496 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 151497
|
||||
Ave neighs/atom = 37.8743
|
||||
Total # of neighbors = 151496
|
||||
Ave neighs/atom = 37.874
|
||||
Neighbor list builds = 12
|
||||
Dangerous builds not checked
|
||||
|
||||
|
|
|
@ -18,10 +18,10 @@ mass * 1.0
|
|||
velocity all create 3.0 87287
|
||||
|
||||
pair_style python 2.5
|
||||
pair_coeff * * potentials.LJCutMelt lj
|
||||
pair_coeff * * py_pot.LJCutMelt lj
|
||||
|
||||
# generate tabulated potential from python variant
|
||||
pair_write 1 1 10000 rsq 0.01 2.5 lj_1_1.table LJ
|
||||
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
|
||||
|
@ -35,9 +35,9 @@ Neighbor list info ...
|
|||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
|
||||
pair_style table linear 10000
|
||||
pair_style table linear 2000
|
||||
pair_coeff 1 1 lj_1_1.table LJ
|
||||
WARNING: 1 of 10000 force values in table are inconsistent with -dE/dr.
|
||||
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
|
||||
|
@ -61,36 +61,36 @@ Neighbor list info ...
|
|||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.69 | 2.69 | 2.69 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 3 -6.7733675 0 -2.2744925 -3.7033435
|
||||
50 1.6754092 -4.794723 0 -2.2822376 5.6616601
|
||||
100 1.6503295 -4.7559815 0 -2.2811061 5.8051261
|
||||
150 1.6596603 -4.7699379 0 -2.2810699 5.7830168
|
||||
200 1.6371948 -4.7365549 0 -2.2813766 5.9245585
|
||||
250 1.6321199 -4.7288017 0 -2.2812339 5.9776124
|
||||
Loop time of 0.313548 on 4 procs for 250 steps with 4000 atoms
|
||||
0 3 -6.7733629 0 -2.2744879 -3.7032813
|
||||
50 1.675395 -4.7945736 0 -2.2821094 5.6620623
|
||||
100 1.6503067 -4.7558145 0 -2.2809733 5.8055967
|
||||
150 1.6595852 -4.7697199 0 -2.2809644 5.7837898
|
||||
200 1.6371471 -4.7363942 0 -2.2812874 5.924977
|
||||
250 1.6315623 -4.7278268 0 -2.2810951 5.9807196
|
||||
Loop time of 0.300176 on 4 procs for 250 steps with 4000 atoms
|
||||
|
||||
Performance: 344444.576 tau/day, 797.325 timesteps/s
|
||||
99.1% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
Performance: 359789.395 tau/day, 832.846 timesteps/s
|
||||
99.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 | 0.24963 | 0.25443 | 0.2632 | 1.1 | 81.15
|
||||
Neigh | 0.023249 | 0.023735 | 0.024497 | 0.3 | 7.57
|
||||
Comm | 0.020689 | 0.030402 | 0.035249 | 3.4 | 9.70
|
||||
Output | 0.00020766 | 0.00021476 | 0.00023031 | 0.0 | 0.07
|
||||
Modify | 0.0034959 | 0.0035564 | 0.0036762 | 0.1 | 1.13
|
||||
Other | | 0.001206 | | | 0.38
|
||||
Pair | 0.23104 | 0.23876 | 0.2451 | 1.2 | 79.54
|
||||
Neigh | 0.022763 | 0.023687 | 0.024305 | 0.4 | 7.89
|
||||
Comm | 0.025416 | 0.032499 | 0.041304 | 3.7 | 10.83
|
||||
Output | 0.00015378 | 0.00016057 | 0.00017667 | 0.0 | 0.05
|
||||
Modify | 0.0035894 | 0.0036637 | 0.0037456 | 0.1 | 1.22
|
||||
Other | | 0.001409 | | | 0.47
|
||||
|
||||
Nlocal: 1000 ave 1010 max 982 min
|
||||
Nlocal: 1000 ave 1010 max 981 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
Nghost: 2703.75 ave 2713 max 2689 min
|
||||
Histogram: 1 0 0 0 0 0 0 2 0 1
|
||||
Neighs: 37915.5 ave 39231 max 36202 min
|
||||
Nghost: 2703 ave 2715 max 2688 min
|
||||
Histogram: 1 0 0 0 0 1 1 0 0 1
|
||||
Neighs: 37915.2 ave 39191 max 36151 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
|
||||
Total # of neighbors = 151662
|
||||
Ave neighs/atom = 37.9155
|
||||
Total # of neighbors = 151661
|
||||
Ave neighs/atom = 37.9153
|
||||
Neighbor list builds = 12
|
||||
Dangerous builds not checked
|
||||
|
||||
|
|
|
@ -1,73 +1,65 @@
|
|||
from __future__ import print_function
|
||||
|
||||
class LJCutMelt(object):
|
||||
|
||||
class LAMMPSPairPotential(object):
|
||||
def __init__(self):
|
||||
self.pmap=dict()
|
||||
# set coeffs: eps, sig, 48*eps*sig**12, 24*eps*sig**6,
|
||||
# 4*eps*sig**12, 4*eps*sig**6
|
||||
self.coeff = {'lj' : {'lj' : (1.0,1.0,48.0,24.0,4.0,4.0),
|
||||
'NULL': (0.0,1.0, 0.0, 0.0,0.0,0.0)},
|
||||
'NULL': {'lj' : (0.0,1.0, 0.0, 0.0,0.0,0.0),
|
||||
'NULL': (0.0,1.0, 0.0, 0.0,0.0,0.0)}}
|
||||
self.units='lj'
|
||||
def map_coeff(self,name,ltype):
|
||||
self.pmap[ltype]=name
|
||||
def check_units(self,units):
|
||||
if (units != self.units):
|
||||
raise Exception("Conflicting units: %s vs. %s" % (self.units,units))
|
||||
|
||||
def map_coeff(self,name,type):
|
||||
if name in self.coeff:
|
||||
self.pmap[type] = name
|
||||
else:
|
||||
raise Exception("cannot match atom type %s" % name)
|
||||
class LJCutMelt(LAMMPSPairPotential):
|
||||
def __init__(self):
|
||||
super(LJCutMelt,self).__init__()
|
||||
# set coeffs: 48*eps*sig**12, 24*eps*sig**6,
|
||||
# 4*eps*sig**12, 4*eps*sig**6
|
||||
self.units = 'lj'
|
||||
self.coeff = {'lj' : {'lj' : (48.0,24.0,4.0,4.0)}}
|
||||
|
||||
def compute_force(self,rsq,itype,jtype):
|
||||
coeff = self.coeff[self.pmap[itype]][self.pmap[jtype]]
|
||||
r2inv = 1.0/rsq
|
||||
r6inv = r2inv*r2inv*r2inv
|
||||
lj1 = coeff[2]
|
||||
lj2 = coeff[3]
|
||||
return (r6inv * (lj1*r6inv - lj2))
|
||||
lj1 = coeff[0]
|
||||
lj2 = coeff[1]
|
||||
return (r6inv * (lj1*r6inv - lj2))*r2inv
|
||||
|
||||
def compute_energy(self,rsq,itype,jtype):
|
||||
coeff = self.coeff[self.pmap[itype]][self.pmap[jtype]]
|
||||
r2inv = 1.0/rsq
|
||||
r6inv = r2inv*r2inv*r2inv
|
||||
lj3 = coeff[4]
|
||||
lj4 = coeff[5]
|
||||
lj3 = coeff[2]
|
||||
lj4 = coeff[3]
|
||||
return (r6inv * (lj3*r6inv - lj4))
|
||||
|
||||
class LJCutSPCE(object):
|
||||
|
||||
class LJCutSPCE(LAMMPSPairPotential):
|
||||
def __init__(self):
|
||||
self.pmap=dict()
|
||||
# SPCE oxygen in real units
|
||||
super(LJCutSPCE,self).__init__()
|
||||
self.units='real'
|
||||
# SPCE oxygen LJ parameters in real units
|
||||
eps=0.15535
|
||||
sig=3.166
|
||||
|
||||
# set coeffs: eps, sig, 48*eps*sig**12, 24*eps*sig**6,
|
||||
# 4*eps*sig**12, 4*eps*sig**6
|
||||
self.coeff = {'OW' : {'OW' : (1.0,1.0,
|
||||
48.0*eps*sig**12,24.0*eps*sig**6,
|
||||
4.0*eps*sig**12, 4.0*eps*sig**6),
|
||||
'NULL': (0.0,1.0, 0.0, 0.0,0.0,0.0)},
|
||||
'NULL': {'OW' : (0.0,1.0, 0.0, 0.0,0.0,0.0),
|
||||
'NULL': (0.0,1.0, 0.0, 0.0,0.0,0.0)}}
|
||||
|
||||
def map_coeff(self,name,type):
|
||||
if name in self.coeff:
|
||||
self.pmap[type] = name
|
||||
else:
|
||||
raise Exception("cannot match atom type %s" % name)
|
||||
self.coeff = {'OW' : {'OW' : (48.0*eps*sig**12,24.0*eps*sig**6,
|
||||
4.0*eps*sig**12, 4.0*eps*sig**6),
|
||||
'HW' : (0.0,0.0, 0.0,0.0)},
|
||||
'HW' : {'OW' : (0.0,0.0, 0.0,0.0),
|
||||
'HW' : (0.0,0.0, 0.0,0.0)}}
|
||||
|
||||
def compute_force(self,rsq,itype,jtype):
|
||||
coeff = self.coeff[self.pmap[itype]][self.pmap[jtype]]
|
||||
r2inv = 1.0/rsq
|
||||
r6inv = r2inv*r2inv*r2inv
|
||||
lj1 = coeff[2]
|
||||
lj2 = coeff[3]
|
||||
return (r6inv * (lj1*r6inv - lj2))
|
||||
lj1 = coeff[0]
|
||||
lj2 = coeff[1]
|
||||
return (r6inv * (lj1*r6inv - lj2))*r2inv
|
||||
|
||||
def compute_energy(self,rsq,itype,jtype):
|
||||
coeff = self.coeff[self.pmap[itype]][self.pmap[jtype]]
|
||||
r2inv = 1.0/rsq
|
||||
r6inv = r2inv*r2inv*r2inv
|
||||
lj3 = coeff[4]
|
||||
lj4 = coeff[5]
|
||||
lj3 = coeff[2]
|
||||
lj4 = coeff[3]
|
||||
return (r6inv * (lj3*r6inv - lj4))
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "comm.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "update.h"
|
||||
#include "neigh_list.h"
|
||||
#include "python.h"
|
||||
#include "error.h"
|
||||
|
@ -41,9 +42,10 @@ PairPython::PairPython(LAMMPS *lmp) : Pair(lmp) {
|
|||
one_coeff = 1;
|
||||
reinitflag = 0;
|
||||
|
||||
python->init();
|
||||
|
||||
py_potential = NULL;
|
||||
skip_types = NULL;
|
||||
|
||||
python->init();
|
||||
|
||||
// add current directory to PYTHONPATH
|
||||
PyObject * py_path = PySys_GetObject((char *)"path");
|
||||
|
@ -60,7 +62,8 @@ PairPython::PairPython(LAMMPS *lmp) : Pair(lmp) {
|
|||
|
||||
PairPython::~PairPython()
|
||||
{
|
||||
if(py_potential) Py_DECREF((PyObject*) py_potential);
|
||||
if (py_potential) Py_DECREF((PyObject*) py_potential);
|
||||
delete[] skip_types;
|
||||
|
||||
if (allocated) {
|
||||
memory->destroy(setflag);
|
||||
|
@ -160,6 +163,9 @@ void PairPython::compute(int eflag, int vflag)
|
|||
rsq = delx*delx + dely*dely + delz*delz;
|
||||
jtype = type[j];
|
||||
|
||||
// with hybrid/overlay we might get called for skipped types
|
||||
if (skip_types[itype] || skip_types[jtype]) continue;
|
||||
|
||||
py_jtype = PY_INT_FROM_LONG(jtype);
|
||||
PyTuple_SetItem(py_compute_args,2,py_jtype);
|
||||
|
||||
|
@ -173,7 +179,7 @@ void PairPython::compute(int eflag, int vflag)
|
|||
PyGILState_Release(gstate);
|
||||
error->all(FLERR,"Calling 'compute_force' function failed");
|
||||
}
|
||||
fpair = factor_lj*PyFloat_AsDouble(py_value)/rsq;
|
||||
fpair = factor_lj*PyFloat_AsDouble(py_value);
|
||||
|
||||
f[i][0] += delx*fpair;
|
||||
f[i][1] += dely*fpair;
|
||||
|
@ -299,6 +305,39 @@ void PairPython::coeff(int narg, char **arg)
|
|||
|
||||
py_potential = (void *) py_pair_instance;
|
||||
|
||||
PyObject *py_check_units = PyObject_GetAttrString(py_pair_instance,"check_units");
|
||||
if (!py_check_units) {
|
||||
PyErr_Print();
|
||||
PyErr_Clear();
|
||||
PyGILState_Release(gstate);
|
||||
error->all(FLERR,"Could not find 'check_units' method'");
|
||||
}
|
||||
if (!PyCallable_Check(py_check_units)) {
|
||||
PyErr_Print();
|
||||
PyErr_Clear();
|
||||
PyGILState_Release(gstate);
|
||||
error->all(FLERR,"Python 'check_units' is not callable");
|
||||
}
|
||||
PyObject *py_units_args = PyTuple_New(1);
|
||||
if (!py_units_args) {
|
||||
PyErr_Print();
|
||||
PyErr_Clear();
|
||||
PyGILState_Release(gstate);
|
||||
error->all(FLERR,"Could not create tuple for 'check_units' function arguments");
|
||||
}
|
||||
|
||||
PyObject *py_name = PY_STRING_FROM_STRING(update->unit_style);
|
||||
PyTuple_SetItem(py_units_args,0,py_name);
|
||||
PyObject *py_value = PyObject_CallObject(py_check_units,py_units_args);
|
||||
if (!py_value) {
|
||||
PyErr_Print();
|
||||
PyErr_Clear();
|
||||
PyGILState_Release(gstate);
|
||||
error->all(FLERR,"Calling 'check_units' function failed");
|
||||
}
|
||||
Py_DECREF(py_units_args);
|
||||
|
||||
|
||||
PyObject *py_map_coeff = PyObject_GetAttrString(py_pair_instance,"map_coeff");
|
||||
if (!py_map_coeff) {
|
||||
PyErr_Print();
|
||||
|
@ -321,9 +360,15 @@ void PairPython::coeff(int narg, char **arg)
|
|||
error->all(FLERR,"Could not create tuple for 'map_coeff' function arguments");
|
||||
}
|
||||
|
||||
PyObject *py_type, *py_name, *py_value;
|
||||
delete[] skip_types;
|
||||
skip_types = new int[ntypes+1];
|
||||
skip_types[0] = 1;
|
||||
for (int i = 1; i <= ntypes ; i++) {
|
||||
py_type = PY_INT_FROM_LONG(i);
|
||||
if (strcmp(arg[2+i],"NULL") == 0) {
|
||||
skip_types[i] = 1;
|
||||
continue;
|
||||
} else skip_types[i] = 0;
|
||||
PyObject *py_type = PY_INT_FROM_LONG(i);
|
||||
py_name = PY_STRING_FROM_STRING(arg[2+i]);
|
||||
PyTuple_SetItem(py_map_args,0,py_name);
|
||||
PyTuple_SetItem(py_map_args,1,py_type);
|
||||
|
@ -336,10 +381,8 @@ void PairPython::coeff(int narg, char **arg)
|
|||
}
|
||||
|
||||
for (int j = i; j <= ntypes ; j++) {
|
||||
if (strcmp(arg[2+i],"NULL") != 0) {
|
||||
setflag[i][j] = 1;
|
||||
cutsq[i][j] = cut_global*cut_global;
|
||||
}
|
||||
setflag[i][j] = 1;
|
||||
cutsq[i][j] = cut_global*cut_global;
|
||||
}
|
||||
}
|
||||
Py_DECREF(py_map_args);
|
||||
|
@ -359,6 +402,11 @@ double PairPython::single(int i, int j, int itype, int jtype, double rsq,
|
|||
double factor_coul, double factor_lj,
|
||||
double &fforce)
|
||||
{
|
||||
// with hybrid/overlay we might get called for skipped types
|
||||
if (skip_types[itype] || skip_types[jtype]) {
|
||||
fforce = 0.0;
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
// prepare access to compute_force and compute_energy functions
|
||||
|
||||
|
@ -417,7 +465,7 @@ double PairPython::single(int i, int j, int itype, int jtype, double rsq,
|
|||
PyGILState_Release(gstate);
|
||||
error->all(FLERR,"Calling 'compute_force' function failed");
|
||||
}
|
||||
fforce = factor_lj*PyFloat_AsDouble(py_value)/rsq;
|
||||
fforce = factor_lj*PyFloat_AsDouble(py_value);
|
||||
|
||||
py_value = PyObject_CallObject(py_compute_energy,py_compute_args);
|
||||
if (!py_value) {
|
||||
|
|
|
@ -47,6 +47,7 @@ class PairPython : public Pair {
|
|||
protected:
|
||||
double cut_global;
|
||||
void * py_potential;
|
||||
int * skip_types;
|
||||
|
||||
virtual void allocate();
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue