forked from lijiext/lammps
Merge remote-tracking branch 'upstream/master' into fix_python_move
This commit is contained in:
commit
2a131d1416
|
@ -1024,7 +1024,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
|||
"tri/lj"_pair_tri_lj.html,
|
||||
"vashishta (ko)"_pair_vashishta.html,
|
||||
"vashishta/table (o)"_pair_vashishta.html,
|
||||
"yukawa (go)"_pair_yukawa.html,
|
||||
"yukawa (gok)"_pair_yukawa.html,
|
||||
"yukawa/colloid (go)"_pair_yukawa_colloid.html,
|
||||
"zbl (go)"_pair_zbl.html :tb(c=4,ea=c)
|
||||
|
||||
|
@ -1046,6 +1046,7 @@ package"_Section_start.html#start_3.
|
|||
"edpd"_pair_meso.html,
|
||||
"eff/cut"_pair_eff.html,
|
||||
"exp6/rx"_pair_exp6_rx.html,
|
||||
"extep"_pair_extep.html,
|
||||
"gauss/cut"_pair_gauss.html,
|
||||
"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
|
||||
"lennard/mdf"_pair_mdf.html,
|
||||
|
|
|
@ -36,9 +36,9 @@ keyword = {mol} or {basis} or {remap} or {var} or {set} or {units} :l
|
|||
{set} values = dim name
|
||||
dim = {x} or {y} or {z}
|
||||
name = name of variable to set with x, y, or z atom position
|
||||
{rotate} values = Rx Ry Rz theta
|
||||
Rx,Ry,Rz = rotation vector for single molecule
|
||||
{rotate} values = theta Rx Ry Rz
|
||||
theta = rotation angle for single molecule (degrees)
|
||||
Rx,Ry,Rz = rotation vector for single molecule
|
||||
{units} value = {lattice} or {box}
|
||||
{lattice} = the geometry is defined in lattice units
|
||||
{box} = the geometry is defined in simulation box units :pre
|
||||
|
@ -242,15 +242,15 @@ write_dump all atom sinusoid.lammpstrj :pre
|
|||
|
||||
:c,image(JPG/sinusoid_small.jpg,JPG/sinusoid.jpg)
|
||||
|
||||
The {rotate} keyword can be used with the {single} style, when adding
|
||||
a single molecule to specify the orientation at which the molecule is
|
||||
inserted. The axis of rotation is determined by the rotation vector
|
||||
(Rx,Ry,Rz) that goes through the insertion point. The specified
|
||||
{theta} determines the angle of rotation around that axis. Note that
|
||||
the direction of rotation for the atoms around the rotation axis is
|
||||
consistent with the right-hand rule: if your right-hand's thumb points
|
||||
along {R}, then your fingers wrap around the axis in the direction of
|
||||
rotation.
|
||||
The {rotate} keyword can only be used with the {single} style and
|
||||
when adding a single molecule. It allows to specify the orientation
|
||||
at which the molecule is inserted. The axis of rotation is
|
||||
determined by the rotation vector (Rx,Ry,Rz) that goes through the
|
||||
insertion point. The specified {theta} determines the angle of
|
||||
rotation around that axis. Note that the direction of rotation for
|
||||
the atoms around the rotation axis is consistent with the right-hand
|
||||
rule: if your right-hand's thumb points along {R}, then your fingers
|
||||
wrap around the axis in the direction of rotation.
|
||||
|
||||
The {units} keyword determines the meaning of the distance units used
|
||||
to specify the coordinates of the one particle created by the {single}
|
||||
|
|
|
@ -18,7 +18,7 @@ style = {many} or {single/bond} or {single/angle} or {single/dihedral} :ule,l
|
|||
group2-ID = ID of second group, bonds will be between atoms in the 2 groups
|
||||
btype = bond type of created bonds
|
||||
rmin = minimum distance between pair of atoms to bond together
|
||||
rmax = minimum distance between pair of atoms to bond together
|
||||
rmax = maximum distance between pair of atoms to bond together
|
||||
{single/bond} args = btype batom1 batom2
|
||||
btype = bond type of new bond
|
||||
batom1,batom2 = atom IDs for two atoms in bond
|
||||
|
|
|
@ -445,6 +445,7 @@ pair_edip.html
|
|||
pair_eff.html
|
||||
pair_eim.html
|
||||
pair_exp6_rx.html
|
||||
pair_extep.html
|
||||
pair_gauss.html
|
||||
pair_gayberne.html
|
||||
pair_gran.html
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
pair_style extep command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style extep :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style extep
|
||||
pair_coeff * * BN.extep B N :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {extep} computes the Extended Tersoff Potential (ExTeP)
|
||||
interactions as described in "(Los2017)"_#Los2017.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_tersoff" pair_tersoff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(Los2017)
|
||||
[(Los2017)] J. H. Los et al. "Extended Tersoff potential for boron nitride:
|
||||
Energetics and elastic properties of pristine and defective h-BN",
|
||||
Phys. Rev. B 96 (184108), 2017.
|
|
@ -9,6 +9,7 @@
|
|||
pair_style yukawa command :h3
|
||||
pair_style yukawa/gpu command :h3
|
||||
pair_style yukawa/omp command :h3
|
||||
pair_style yukawa/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ Pair Styles :h1
|
|||
pair_eff
|
||||
pair_eim
|
||||
pair_exp6_rx
|
||||
pair_extep
|
||||
pair_gauss
|
||||
pair_gayberne
|
||||
pair_gran
|
||||
|
|
|
@ -0,0 +1,116 @@
|
|||
info: BN sample with r_BN=1.45
|
||||
|
||||
100 atoms
|
||||
2 atom types
|
||||
|
||||
0.0 21.75000000 xlo xhi
|
||||
0.0 12.55736835 ylo yhi
|
||||
0.0 50.00000000 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 10.811
|
||||
2 14.0067
|
||||
|
||||
Atoms
|
||||
|
||||
1 1 0.00000000 0.00000000 0.00000000
|
||||
2 2 1.45000000 0.00000000 0.00000000
|
||||
3 1 2.17500000 1.25573684 0.00000000
|
||||
4 2 3.62500000 1.25573684 0.00000000
|
||||
5 1 0.00000000 2.51147367 0.00000000
|
||||
6 2 1.45000000 2.51147367 0.00000000
|
||||
7 1 2.17500000 3.76721051 0.00000000
|
||||
8 2 3.62500000 3.76721051 0.00000000
|
||||
9 1 0.00000000 5.02294734 0.00000000
|
||||
10 2 1.45000000 5.02294734 0.00000000
|
||||
11 1 2.17500000 6.27868418 0.00000000
|
||||
12 2 3.62500000 6.27868418 0.00000000
|
||||
13 1 0.00000000 7.53442101 0.00000000
|
||||
14 2 1.45000000 7.53442101 0.00000000
|
||||
15 1 2.17500000 8.79015785 0.00000000
|
||||
16 2 3.62500000 8.79015785 0.00000000
|
||||
17 1 0.00000000 10.04589468 0.00000000
|
||||
18 2 1.45000000 10.04589468 0.00000000
|
||||
19 1 2.17500000 11.30163152 0.00000000
|
||||
20 2 3.62500000 11.30163152 0.00000000
|
||||
21 1 4.35000000 0.00000000 0.00000000
|
||||
22 2 5.80000000 0.00000000 0.00000000
|
||||
23 1 6.52500000 1.25573684 0.00000000
|
||||
24 2 7.97500000 1.25573684 0.00000000
|
||||
25 1 4.35000000 2.51147367 0.00000000
|
||||
26 2 5.80000000 2.51147367 0.00000000
|
||||
27 1 6.52500000 3.76721051 0.00000000
|
||||
28 2 7.97500000 3.76721051 0.00000000
|
||||
29 1 4.35000000 5.02294734 0.00000000
|
||||
30 2 5.80000000 5.02294734 0.00000000
|
||||
31 1 6.52500000 6.27868418 0.00000000
|
||||
32 2 7.97500000 6.27868418 0.00000000
|
||||
33 1 4.35000000 7.53442101 0.00000000
|
||||
34 2 5.80000000 7.53442101 0.00000000
|
||||
35 1 6.52500000 8.79015785 0.00000000
|
||||
36 2 7.97500000 8.79015785 0.00000000
|
||||
37 1 4.35000000 10.04589468 0.00000000
|
||||
38 2 5.80000000 10.04589468 0.00000000
|
||||
39 1 6.52500000 11.30163152 0.00000000
|
||||
40 2 7.97500000 11.30163152 0.00000000
|
||||
41 1 8.70000000 0.00000000 0.00000000
|
||||
42 2 10.15000000 0.00000000 0.00000000
|
||||
43 1 10.87500000 1.25573684 0.00000000
|
||||
44 2 12.32500000 1.25573684 0.00000000
|
||||
45 1 8.70000000 2.51147367 0.00000000
|
||||
46 2 10.15000000 2.51147367 0.00000000
|
||||
47 1 10.87500000 3.76721051 0.00000000
|
||||
48 2 12.32500000 3.76721051 0.00000000
|
||||
49 1 8.70000000 5.02294734 0.00000000
|
||||
50 2 10.15000000 5.02294734 0.00000000
|
||||
51 1 10.87500000 6.27868418 0.00000000
|
||||
52 2 12.32500000 6.27868418 0.00000000
|
||||
53 1 8.70000000 7.53442101 0.00000000
|
||||
54 2 10.15000000 7.53442101 0.00000000
|
||||
55 1 10.87500000 8.79015785 0.00000000
|
||||
56 2 12.32500000 8.79015785 0.00000000
|
||||
57 1 8.70000000 10.04589468 0.00000000
|
||||
58 2 10.15000000 10.04589468 0.00000000
|
||||
59 1 10.87500000 11.30163152 0.00000000
|
||||
60 2 12.32500000 11.30163152 0.00000000
|
||||
61 1 13.05000000 0.00000000 0.00000000
|
||||
62 2 14.50000000 0.00000000 0.00000000
|
||||
63 1 15.22500000 1.25573684 0.00000000
|
||||
64 2 16.67500000 1.25573684 0.00000000
|
||||
65 1 13.05000000 2.51147367 0.00000000
|
||||
66 2 14.50000000 2.51147367 0.00000000
|
||||
67 1 15.22500000 3.76721051 0.00000000
|
||||
68 2 16.67500000 3.76721051 0.00000000
|
||||
69 1 13.05000000 5.02294734 0.00000000
|
||||
70 2 14.50000000 5.02294734 0.00000000
|
||||
71 1 15.22500000 6.27868418 0.00000000
|
||||
72 2 16.67500000 6.27868418 0.00000000
|
||||
73 1 13.05000000 7.53442101 0.00000000
|
||||
74 2 14.50000000 7.53442101 0.00000000
|
||||
75 1 15.22500000 8.79015785 0.00000000
|
||||
76 2 16.67500000 8.79015785 0.00000000
|
||||
77 1 13.05000000 10.04589468 0.00000000
|
||||
78 2 14.50000000 10.04589468 0.00000000
|
||||
79 1 15.22500000 11.30163152 0.00000000
|
||||
80 2 16.67500000 11.30163152 0.00000000
|
||||
81 1 17.40000000 0.00000000 0.00000000
|
||||
82 2 18.85000000 0.00000000 0.00000000
|
||||
83 1 19.57500000 1.25573684 0.00000000
|
||||
84 2 21.02500000 1.25573684 0.00000000
|
||||
85 1 17.40000000 2.51147367 0.00000000
|
||||
86 2 18.85000000 2.51147367 0.00000000
|
||||
87 1 19.57500000 3.76721051 0.00000000
|
||||
88 2 21.02500000 3.76721051 0.00000000
|
||||
89 1 17.40000000 5.02294734 0.00000000
|
||||
90 2 18.85000000 5.02294734 0.00000000
|
||||
91 1 19.57500000 6.27868418 0.00000000
|
||||
92 2 21.02500000 6.27868418 0.00000000
|
||||
93 1 17.40000000 7.53442101 0.00000000
|
||||
94 2 18.85000000 7.53442101 0.00000000
|
||||
95 1 19.57500000 8.79015785 0.00000000
|
||||
96 2 21.02500000 8.79015785 0.00000000
|
||||
97 1 17.40000000 10.04589468 0.00000000
|
||||
98 2 18.85000000 10.04589468 0.00000000
|
||||
99 1 19.57500000 11.30163152 0.00000000
|
||||
100 2 21.02500000 11.30163152 0.00000000
|
|
@ -0,0 +1,29 @@
|
|||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
processors * * 1
|
||||
|
||||
# System and atom definition
|
||||
read_data BN.data # read lammps data file
|
||||
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# Potential
|
||||
pair_style extep
|
||||
pair_coeff * * ../../../../potentials/BN.extep B N
|
||||
|
||||
# Output
|
||||
thermo 10
|
||||
thermo_style custom step time etotal pe temp lx ly lz pxx pyy pzz
|
||||
thermo_modify line one format float %14.8g
|
||||
|
||||
# Setup NPT MD run
|
||||
timestep 0.0001 # ps
|
||||
velocity all create 300.0 12345
|
||||
fix thermos all npt temp 300 300 1.0 x 0 0 1.0 y 0 0 1.0
|
||||
run 1000
|
|
@ -0,0 +1,180 @@
|
|||
LAMMPS (23 Oct 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
processors * * 1
|
||||
|
||||
# System and atom definition
|
||||
read_data BN.data # read lammps data file
|
||||
orthogonal box = (0 0 0) to (21.75 12.5574 50)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
100 atoms
|
||||
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# Potential
|
||||
pair_style extep
|
||||
pair_coeff * * ../../../../potentials/BN.extep B N
|
||||
Reading potential file ../../../../potentials/BN.extep with DATE: 2017-11-28
|
||||
|
||||
# Output
|
||||
thermo 10
|
||||
thermo_style custom step time etotal pe temp lx ly lz pxx pyy pzz
|
||||
thermo_modify line one format float %14.8g
|
||||
|
||||
# Setup NPT MD run
|
||||
timestep 0.0001 # ps
|
||||
velocity all create 300.0 12345
|
||||
fix thermos all npt temp 300 300 1.0 x 0 0 1.0 y 0 0 1.0
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.2
|
||||
ghost atom cutoff = 4.2
|
||||
binsize = 2.1, bins = 11 6 24
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair extep, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.97 | 2.97 | 2.97 Mbytes
|
||||
Step Time TotEng PotEng Temp Lx Ly Lz Pxx Pyy Pzz
|
||||
0 0 -665.11189 -668.95092 300 21.75 12.557368 50 -1638.8315 -1636.7368 321.73163
|
||||
10 0.001 -665.11194 -668.81065 289.03491 21.749944 12.557333 50 -1391.3771 -1841.1723 316.66669
|
||||
20 0.002 -665.1121 -668.4273 259.06599 21.749789 12.557222 50 -1137.0171 -1980.5977 301.79466
|
||||
30 0.003 -665.11237 -667.90117 217.93027 21.749552 12.557029 50 -912.51949 -2055.822 278.00774
|
||||
40 0.004 -665.11278 -667.36471 175.97662 21.74925 12.556752 50 -755.38643 -2078.0669 246.62816
|
||||
50 0.005 -665.11333 -666.94254 142.94321 21.748894 12.556389 50 -694.93153 -2062.1349 209.26356
|
||||
60 0.006 -665.11405 -666.71476 125.08741 21.748487 12.55594 50 -744.6962 -2019.9093 167.70563
|
||||
70 0.007 -665.11494 -666.69555 123.51632 21.748026 12.555408 50 -898.67863 -1956.2845 123.88845
|
||||
80 0.008 -665.116 -666.83408 134.25892 21.7475 12.554796 50 -1132.5952 -1868.738 79.87581
|
||||
90 0.009 -665.1172 -667.03647 149.98053 21.746893 12.554106 50 -1409.6896 -1750.4875 37.821017
|
||||
100 0.01 -665.11853 -667.20002 162.65705 21.746185 12.553344 50 -1689.1599 -1595.9411 -0.14399002
|
||||
110 0.011 -665.11997 -667.24752 166.25742 21.745356 12.552516 50 -1934.6334 -1406.3665 -32.091026
|
||||
120 0.012 -665.12148 -667.15088 158.58671 21.744389 12.55163 50 -2120.4014 -1193.6117 -56.50543
|
||||
130 0.013 -665.12306 -666.93754 141.7922 21.743271 12.550694 50 -2234.0841 -980.32815 -72.45885
|
||||
140 0.014 -665.1247 -666.67903 121.4631 21.741993 12.549719 50 -2275.5656 -796.26701 -79.693692
|
||||
150 0.015 -665.1264 -666.46562 104.65306 21.740553 12.54871 50 -2253.08 -671.5409 -78.603431
|
||||
160 0.016 -665.1282 -666.37541 97.462619 21.738952 12.547674 50 -2178.0108 -628.83531 -70.130423
|
||||
170 0.017 -665.13011 -666.44775 102.96665 21.737195 12.546611 50 -2060.2073 -677.02227 -55.623931
|
||||
180 0.018 -665.13215 -666.67004 120.17784 21.735292 12.54552 50 -1905.36 -808.22824 -36.699042
|
||||
190 0.019 -665.13431 -666.98201 144.38814 21.733253 12.544396 50 -1715.2526 -999.2481 -15.117617
|
||||
200 0.02 -665.13656 -667.29591 168.74214 21.731091 12.543231 50 -1490.6934 -1216.735 7.3107732
|
||||
210 0.021 -665.13885 -667.52511 186.47391 21.728823 12.542015 50 -1235.9283 -1424.4324 28.822782
|
||||
220 0.022 -665.14112 -667.61153 193.0492 21.726467 12.540741 50 -962.70697 -1590.2885 47.801678
|
||||
230 0.023 -665.14332 -667.54317 187.53534 21.724043 12.539402 50 -692.12856 -1691.6537 62.881768
|
||||
240 0.024 -665.1454 -667.35665 172.79772 21.72157 12.537993 50 -453.02755 -1717.6064 73.041858
|
||||
250 0.025 -665.14735 -667.12424 154.48373 21.719064 12.536514 50 -276.81709 -1668.3598 77.670868
|
||||
260 0.026 -665.14918 -666.92939 139.11409 21.716539 12.534967 50 -190.03656 -1552.4049 76.59734
|
||||
270 0.027 -665.15091 -666.83859 131.88391 21.714 12.533357 50 -206.85537 -1382.4915 70.085105
|
||||
280 0.028 -665.15258 -666.87889 134.90214 21.711446 12.53169 50 -324.01795 -1171.7578 58.801327
|
||||
290 0.029 -665.15421 -667.02881 146.49028 21.708869 12.529975 50 -520.0146 -931.26466 43.758636
|
||||
300 0.03 -665.1558 -667.22646 161.81084 21.706255 12.528222 50 -758.87113 -669.74523 26.225956
|
||||
310 0.031 -665.15734 -667.39183 174.61368 21.703587 12.526442 50 -997.42782 -395.56111 7.601897
|
||||
320 0.032 -665.15878 -667.45546 179.47345 21.700849 12.524646 50 -1193.9402 -119.86797 -10.744258
|
||||
330 0.033 -665.16008 -667.38312 173.71901 21.698026 12.522846 50 -1315.6446 140.7451 -27.638433
|
||||
340 0.034 -665.16118 -667.18792 158.37888 21.695112 12.521051 50 -1343.5396 363.95099 -42.231049
|
||||
350 0.035 -665.16207 -666.92571 137.81938 21.692103 12.519271 50 -1273.6625 524.73453 -54.046178
|
||||
360 0.036 -665.16274 -666.67543 118.20885 21.689004 12.517514 50 -1115.1514 601.37143 -62.932702
|
||||
370 0.037 -665.1632 -666.5115 105.36258 21.685827 12.515781 50 -886.11568 582.42087 -68.942158
|
||||
380 0.038 -665.16348 -666.47849 102.76116 21.682589 12.514072 50 -608.71321 472.04732 -72.193259
|
||||
390 0.039 -665.1636 -666.57728 110.47178 21.679308 12.512382 50 -304.85697 291.41908 -72.787214
|
||||
400 0.04 -665.16356 -666.76741 125.33244 21.676006 12.510704 50 6.3732307 75.407852 -70.806087
|
||||
410 0.041 -665.16336 -666.98363 142.24457 21.672705 12.50903 50 309.23046 -134.40319 -66.378966
|
||||
420 0.042 -665.16298 -667.15939 156.00935 21.669426 12.507351 50 590.16982 -298.16702 -59.767469
|
||||
430 0.043 -665.16239 -667.24843 163.01313 21.66619 12.50566 50 836.19535 -385.22443 -51.420249
|
||||
440 0.044 -665.16157 -667.23746 162.2204 21.663014 12.503955 50 1033.943 -378.7816 -41.969885
|
||||
450 0.045 -665.1605 -667.14707 155.24066 21.659911 12.502234 50 1170.3399 -277.11556 -32.175503
|
||||
460 0.046 -665.15917 -667.0218 145.55489 21.656891 12.500503 50 1234.9026 -91.620499 -22.833423
|
||||
470 0.047 -665.15761 -666.91366 137.22578 21.65396 12.498768 50 1222.9519 157.31306 -14.680548
|
||||
480 0.048 -665.15585 -666.86462 133.53159 21.651114 12.497041 50 1138.5551 445.2926 -8.3071781
|
||||
490 0.049 -665.15393 -666.89359 135.9458 21.64835 12.495333 50 996.00682 748.51842 -4.0872169
|
||||
500 0.05 -665.15188 -666.99142 143.75058 21.645657 12.493655 50 819.08561 1046.9785 -2.1306918
|
||||
510 0.051 -665.14975 -667.12519 154.36991 21.643022 12.49202 50 637.99022 1325.7112 -2.2650822
|
||||
520 0.052 -665.14756 -667.25 164.29491 21.640432 12.49044 50 484.54509 1574.1916 -4.0528391
|
||||
530 0.053 -665.14531 -667.32459 170.29969 21.637878 12.488923 50 386.77357 1784.4858 -6.8479114
|
||||
540 0.054 -665.143 -667.32552 170.55254 21.635352 12.48748 50 364.14599 1949.2189 -9.8841824
|
||||
550 0.055 -665.14064 -667.25527 165.24765 21.632853 12.486117 50 424.6565 2060.4607 -12.37851
|
||||
560 0.056 -665.13822 -667.14127 156.52756 21.630385 12.484837 50 564.3912 2110.2547 -13.62742
|
||||
570 0.057 -665.13576 -667.0259 147.70502 21.627958 12.483643 50 769.54354 2092.8157 -13.082914
|
||||
580 0.058 -665.13327 -666.95107 142.05154 21.625586 12.482535 50 1020.1218 2007.6508 -10.405617
|
||||
590 0.059 -665.13079 -666.94279 141.59877 21.623287 12.481508 50 1294.1274 1862.3568 -5.5031153
|
||||
600 0.06 -665.12832 -667.00189 146.40928 21.621079 12.480557 50 1570.9478 1673.8456 1.4410957
|
||||
610 0.061 -665.12591 -667.10417 154.59072 21.618982 12.479674 50 1833.1388 1467.2639 9.9561573
|
||||
620 0.062 -665.12355 -667.20973 163.02368 21.617015 12.478851 50 2066.4951 1272.6732 19.310607
|
||||
630 0.063 -665.12128 -667.27744 168.49239 21.615193 12.47808 50 2259.0193 1120.2758 28.59477
|
||||
640 0.064 -665.11911 -667.27898 168.7823 21.613531 12.477355 50 2399.792 1035.3525 36.8539
|
||||
650 0.065 -665.11707 -667.20773 163.37438 21.612037 12.476673 50 2478.6675 1034.0481 43.239368
|
||||
660 0.066 -665.11518 -667.0802 153.55598 21.610718 12.476033 50 2487.2505 1120.8274 47.131883
|
||||
670 0.067 -665.11345 -666.93026 141.97434 21.609573 12.475439 50 2420.9786 1288.0136 48.201717
|
||||
680 0.068 -665.11191 -666.79864 131.80955 21.608598 12.474897 50 2281.6131 1517.4002 46.399066
|
||||
690 0.069 -665.11056 -666.72065 125.82027 21.607784 12.474418 50 2079.2055 1783.5346 41.895586
|
||||
700 0.07 -665.10941 -666.71578 125.5291 21.607116 12.474011 50 1832.7039 2057.9076 35.011051
|
||||
710 0.071 -665.10848 -666.78203 130.77932 21.606577 12.473687 50 1568.7275 2313.0601 26.153491
|
||||
720 0.072 -665.10776 -666.89681 139.80468 21.606148 12.473458 50 1318.5189 2525.6808 15.783637
|
||||
730 0.073 -665.10727 -667.0243 149.80574 21.605812 12.47333 50 1113.5537 2678.1859 4.3967762
|
||||
740 0.074 -665.10701 -667.12698 157.85016 21.605555 12.473311 50 980.633 2758.9123 -7.4930622
|
||||
750 0.075 -665.10697 -667.17729 161.78497 21.605368 12.473404 50 937.45086 2761.5936 -19.376492
|
||||
760 0.076 -665.10714 -667.1654 160.84249 21.605247 12.473609 50 989.5724 2684.9256 -30.776106
|
||||
770 0.077 -665.1075 -667.10061 155.75086 21.605196 12.473922 50 1129.4775 2532.7048 -41.263677
|
||||
780 0.078 -665.10803 -667.00654 148.35835 21.605226 12.474338 50 1337.8663 2314.4556 -50.455407
|
||||
790 0.079 -665.10869 -666.91242 140.9515 21.605349 12.474848 50 1586.9099 2045.9808 -57.988114
|
||||
800 0.08 -665.10946 -666.84375 135.52533 21.605585 12.475441 50 1844.7038 1749.1281 -63.495405
|
||||
810 0.081 -665.11032 -666.81538 133.24173 21.60595 12.476105 50 2079.9601 1450.3113 -66.60795
|
||||
820 0.082 -665.11127 -666.82877 134.21424 21.606461 12.476828 50 2266.0059 1177.7937 -66.990929
|
||||
830 0.083 -665.1123 -666.87353 137.6312 21.607131 12.477599 50 2383.4351 958.19752 -64.411861
|
||||
840 0.084 -665.11343 -666.93214 142.12323 21.607968 12.478409 50 2421.1969 812.91475 -58.816538
|
||||
850 0.085 -665.11467 -666.98597 146.2321 21.608975 12.479253 50 2376.3483 755.06052 -50.389393
|
||||
860 0.086 -665.11603 -667.02075 148.84448 21.610149 12.480128 50 2252.9811 787.43069 -39.585062
|
||||
870 0.087 -665.1175 -667.03045 149.48743 21.611481 12.481034 50 2060.884 901.76342 -27.129117
|
||||
880 0.088 -665.11907 -667.01838 148.42091 21.612958 12.481978 50 1814.3354 1079.4855 -13.988401
|
||||
890 0.089 -665.12073 -666.99552 146.50471 21.614562 12.482966 50 1531.1565 1293.9709 -1.305884
|
||||
900 0.09 -665.12247 -666.97639 144.87389 21.616275 12.484007 50 1231.9005 1514.0741 9.7083525
|
||||
910 0.091 -665.12426 -666.97371 144.52455 21.618074 12.485109 50 938.90089 1708.364 17.929974
|
||||
920 0.092 -665.12609 -666.99389 145.95889 21.61994 12.486281 50 674.90767 1849.2415 22.497207
|
||||
930 0.093 -665.12794 -667.03498 149.02559 21.621853 12.487528 50 461.18604 1916.1468 22.971745
|
||||
940 0.094 -665.12977 -667.08777 153.00718 21.6238 12.488852 50 315.19601 1897.3867 19.43758
|
||||
950 0.095 -665.13156 -667.13925 156.8903 21.62577 12.490254 50 248.20946 1790.5667 12.504818
|
||||
960 0.096 -665.13326 -667.17668 159.68273 21.627757 12.491728 50 263.35912 1601.9528 3.2123256
|
||||
970 0.097 -665.13485 -667.19079 160.6611 21.629764 12.493267 50 354.58496 1345.1489 -7.1487162
|
||||
980 0.098 -665.13628 -667.17758 159.5175 21.631796 12.494862 50 506.7626 1039.346 -17.249179
|
||||
990 0.099 -665.13753 -667.13942 156.43758 21.633864 12.496499 50 697.06054 707.26671 -25.92737
|
||||
1000 0.1 -665.13859 -667.0853 152.12472 21.635982 12.498164 50 897.38498 372.94791 -32.344697
|
||||
Loop time of 0.463574 on 1 procs for 1000 steps with 100 atoms
|
||||
|
||||
Performance: 18.638 ns/day, 1.288 hours/ns, 2157.152 timesteps/s
|
||||
99.0% 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.44776 | 0.44776 | 0.44776 | 0.0 | 96.59
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.0023057 | 0.0023057 | 0.0023057 | 0.0 | 0.50
|
||||
Output | 0.0015752 | 0.0015752 | 0.0015752 | 0.0 | 0.34
|
||||
Modify | 0.010602 | 0.010602 | 0.010602 | 0.0 | 2.29
|
||||
Other | | 0.001331 | | | 0.29
|
||||
|
||||
Nlocal: 100 ave 100 max 100 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 360 ave 360 max 360 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 1800 ave 1800 max 1800 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1800
|
||||
Ave neighs/atom = 18
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
|
@ -0,0 +1,180 @@
|
|||
LAMMPS (23 Oct 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
processors * * 1
|
||||
|
||||
# System and atom definition
|
||||
read_data BN.data # read lammps data file
|
||||
orthogonal box = (0 0 0) to (21.75 12.5574 50)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
100 atoms
|
||||
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# Potential
|
||||
pair_style extep
|
||||
pair_coeff * * ../../../../potentials/BN.extep B N
|
||||
Reading potential file ../../../../potentials/BN.extep with DATE: 2017-11-28
|
||||
|
||||
# Output
|
||||
thermo 10
|
||||
thermo_style custom step time etotal pe temp lx ly lz pxx pyy pzz
|
||||
thermo_modify line one format float %14.8g
|
||||
|
||||
# Setup NPT MD run
|
||||
timestep 0.0001 # ps
|
||||
velocity all create 300.0 12345
|
||||
fix thermos all npt temp 300 300 1.0 x 0 0 1.0 y 0 0 1.0
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.2
|
||||
ghost atom cutoff = 4.2
|
||||
binsize = 2.1, bins = 11 6 24
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair extep, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.943 | 2.943 | 2.943 Mbytes
|
||||
Step Time TotEng PotEng Temp Lx Ly Lz Pxx Pyy Pzz
|
||||
0 0 -665.11189 -668.95092 300 21.75 12.557368 50 -1638.8315 -1636.7368 321.73163
|
||||
10 0.001 -665.11194 -668.81065 289.03491 21.749944 12.557333 50 -1391.3771 -1841.1723 316.66669
|
||||
20 0.002 -665.1121 -668.4273 259.06599 21.749789 12.557222 50 -1137.0171 -1980.5977 301.79466
|
||||
30 0.003 -665.11237 -667.90117 217.93027 21.749552 12.557029 50 -912.51949 -2055.822 278.00774
|
||||
40 0.004 -665.11278 -667.36471 175.97662 21.74925 12.556752 50 -755.38643 -2078.0669 246.62816
|
||||
50 0.005 -665.11333 -666.94254 142.94321 21.748894 12.556389 50 -694.93153 -2062.1349 209.26356
|
||||
60 0.006 -665.11405 -666.71476 125.08741 21.748487 12.55594 50 -744.6962 -2019.9093 167.70563
|
||||
70 0.007 -665.11494 -666.69555 123.51632 21.748026 12.555408 50 -898.67863 -1956.2845 123.88845
|
||||
80 0.008 -665.116 -666.83408 134.25892 21.7475 12.554796 50 -1132.5952 -1868.738 79.87581
|
||||
90 0.009 -665.1172 -667.03647 149.98053 21.746893 12.554106 50 -1409.6896 -1750.4875 37.821017
|
||||
100 0.01 -665.11853 -667.20002 162.65705 21.746185 12.553344 50 -1689.1599 -1595.9411 -0.14399002
|
||||
110 0.011 -665.11997 -667.24752 166.25742 21.745356 12.552516 50 -1934.6334 -1406.3665 -32.091026
|
||||
120 0.012 -665.12148 -667.15088 158.58671 21.744389 12.55163 50 -2120.4014 -1193.6117 -56.50543
|
||||
130 0.013 -665.12306 -666.93754 141.7922 21.743271 12.550694 50 -2234.0841 -980.32815 -72.45885
|
||||
140 0.014 -665.1247 -666.67903 121.4631 21.741993 12.549719 50 -2275.5656 -796.26701 -79.693692
|
||||
150 0.015 -665.1264 -666.46562 104.65306 21.740553 12.54871 50 -2253.08 -671.5409 -78.603431
|
||||
160 0.016 -665.1282 -666.37541 97.462619 21.738952 12.547674 50 -2178.0108 -628.83531 -70.130423
|
||||
170 0.017 -665.13011 -666.44775 102.96665 21.737195 12.546611 50 -2060.2073 -677.02227 -55.623931
|
||||
180 0.018 -665.13215 -666.67004 120.17784 21.735292 12.54552 50 -1905.36 -808.22824 -36.699042
|
||||
190 0.019 -665.13431 -666.98201 144.38814 21.733253 12.544396 50 -1715.2526 -999.2481 -15.117617
|
||||
200 0.02 -665.13656 -667.29591 168.74214 21.731091 12.543231 50 -1490.6934 -1216.735 7.3107732
|
||||
210 0.021 -665.13885 -667.52511 186.47391 21.728823 12.542015 50 -1235.9283 -1424.4324 28.822782
|
||||
220 0.022 -665.14112 -667.61153 193.0492 21.726467 12.540741 50 -962.70697 -1590.2885 47.801678
|
||||
230 0.023 -665.14332 -667.54317 187.53534 21.724043 12.539402 50 -692.12856 -1691.6537 62.881768
|
||||
240 0.024 -665.1454 -667.35665 172.79772 21.72157 12.537993 50 -453.02755 -1717.6064 73.041858
|
||||
250 0.025 -665.14735 -667.12424 154.48373 21.719064 12.536514 50 -276.81709 -1668.3598 77.670868
|
||||
260 0.026 -665.14918 -666.92939 139.11409 21.716539 12.534967 50 -190.03656 -1552.4049 76.59734
|
||||
270 0.027 -665.15091 -666.83859 131.88391 21.714 12.533357 50 -206.85537 -1382.4915 70.085105
|
||||
280 0.028 -665.15258 -666.87889 134.90214 21.711446 12.53169 50 -324.01795 -1171.7578 58.801327
|
||||
290 0.029 -665.15421 -667.02881 146.49028 21.708869 12.529975 50 -520.0146 -931.26466 43.758636
|
||||
300 0.03 -665.1558 -667.22646 161.81084 21.706255 12.528222 50 -758.87113 -669.74523 26.225956
|
||||
310 0.031 -665.15734 -667.39183 174.61368 21.703587 12.526442 50 -997.42782 -395.56111 7.601897
|
||||
320 0.032 -665.15878 -667.45546 179.47345 21.700849 12.524646 50 -1193.9402 -119.86797 -10.744258
|
||||
330 0.033 -665.16008 -667.38312 173.71901 21.698026 12.522846 50 -1315.6446 140.7451 -27.638433
|
||||
340 0.034 -665.16118 -667.18792 158.37888 21.695112 12.521051 50 -1343.5396 363.95099 -42.231049
|
||||
350 0.035 -665.16207 -666.92571 137.81938 21.692103 12.519271 50 -1273.6625 524.73453 -54.046178
|
||||
360 0.036 -665.16274 -666.67543 118.20885 21.689004 12.517514 50 -1115.1514 601.37143 -62.932702
|
||||
370 0.037 -665.1632 -666.5115 105.36258 21.685827 12.515781 50 -886.11568 582.42087 -68.942158
|
||||
380 0.038 -665.16348 -666.47849 102.76116 21.682589 12.514072 50 -608.71321 472.04732 -72.193259
|
||||
390 0.039 -665.1636 -666.57728 110.47178 21.679308 12.512382 50 -304.85697 291.41908 -72.787214
|
||||
400 0.04 -665.16356 -666.76741 125.33244 21.676006 12.510704 50 6.3732307 75.407852 -70.806087
|
||||
410 0.041 -665.16336 -666.98363 142.24457 21.672705 12.50903 50 309.23046 -134.40319 -66.378966
|
||||
420 0.042 -665.16298 -667.15939 156.00935 21.669426 12.507351 50 590.16982 -298.16702 -59.767469
|
||||
430 0.043 -665.16239 -667.24843 163.01313 21.66619 12.50566 50 836.19535 -385.22443 -51.420249
|
||||
440 0.044 -665.16157 -667.23746 162.2204 21.663014 12.503955 50 1033.943 -378.7816 -41.969885
|
||||
450 0.045 -665.1605 -667.14707 155.24066 21.659911 12.502234 50 1170.3399 -277.11556 -32.175503
|
||||
460 0.046 -665.15917 -667.0218 145.55489 21.656891 12.500503 50 1234.9026 -91.620499 -22.833423
|
||||
470 0.047 -665.15761 -666.91366 137.22578 21.65396 12.498768 50 1222.9519 157.31306 -14.680548
|
||||
480 0.048 -665.15585 -666.86462 133.53159 21.651114 12.497041 50 1138.5551 445.2926 -8.3071781
|
||||
490 0.049 -665.15393 -666.89359 135.9458 21.64835 12.495333 50 996.00682 748.51842 -4.0872169
|
||||
500 0.05 -665.15188 -666.99142 143.75058 21.645657 12.493655 50 819.08561 1046.9785 -2.1306918
|
||||
510 0.051 -665.14975 -667.12519 154.36991 21.643022 12.49202 50 637.99022 1325.7112 -2.2650822
|
||||
520 0.052 -665.14756 -667.25 164.29491 21.640432 12.49044 50 484.54509 1574.1916 -4.0528391
|
||||
530 0.053 -665.14531 -667.32459 170.29969 21.637878 12.488923 50 386.77357 1784.4858 -6.8479114
|
||||
540 0.054 -665.143 -667.32552 170.55254 21.635352 12.48748 50 364.14599 1949.2189 -9.8841824
|
||||
550 0.055 -665.14064 -667.25527 165.24765 21.632853 12.486117 50 424.6565 2060.4607 -12.37851
|
||||
560 0.056 -665.13822 -667.14127 156.52756 21.630385 12.484837 50 564.3912 2110.2547 -13.62742
|
||||
570 0.057 -665.13576 -667.0259 147.70502 21.627958 12.483643 50 769.54354 2092.8157 -13.082914
|
||||
580 0.058 -665.13327 -666.95107 142.05154 21.625586 12.482535 50 1020.1218 2007.6508 -10.405617
|
||||
590 0.059 -665.13079 -666.94279 141.59877 21.623287 12.481508 50 1294.1274 1862.3568 -5.5031153
|
||||
600 0.06 -665.12832 -667.00189 146.40928 21.621079 12.480557 50 1570.9478 1673.8456 1.4410957
|
||||
610 0.061 -665.12591 -667.10417 154.59072 21.618982 12.479674 50 1833.1388 1467.2639 9.9561573
|
||||
620 0.062 -665.12355 -667.20973 163.02368 21.617015 12.478851 50 2066.4951 1272.6732 19.310607
|
||||
630 0.063 -665.12128 -667.27744 168.49239 21.615193 12.47808 50 2259.0193 1120.2758 28.59477
|
||||
640 0.064 -665.11911 -667.27898 168.7823 21.613531 12.477355 50 2399.792 1035.3525 36.8539
|
||||
650 0.065 -665.11707 -667.20773 163.37438 21.612037 12.476673 50 2478.6675 1034.0481 43.239368
|
||||
660 0.066 -665.11518 -667.0802 153.55598 21.610718 12.476033 50 2487.2505 1120.8274 47.131883
|
||||
670 0.067 -665.11345 -666.93026 141.97434 21.609573 12.475439 50 2420.9786 1288.0136 48.201717
|
||||
680 0.068 -665.11191 -666.79864 131.80955 21.608598 12.474897 50 2281.6131 1517.4002 46.399066
|
||||
690 0.069 -665.11056 -666.72065 125.82027 21.607784 12.474418 50 2079.2055 1783.5346 41.895586
|
||||
700 0.07 -665.10941 -666.71578 125.5291 21.607116 12.474011 50 1832.7039 2057.9076 35.011051
|
||||
710 0.071 -665.10848 -666.78203 130.77932 21.606577 12.473687 50 1568.7275 2313.0601 26.153491
|
||||
720 0.072 -665.10776 -666.89681 139.80468 21.606148 12.473458 50 1318.5189 2525.6808 15.783637
|
||||
730 0.073 -665.10727 -667.0243 149.80574 21.605812 12.47333 50 1113.5537 2678.1859 4.3967762
|
||||
740 0.074 -665.10701 -667.12698 157.85016 21.605555 12.473311 50 980.633 2758.9123 -7.4930622
|
||||
750 0.075 -665.10697 -667.17729 161.78497 21.605368 12.473404 50 937.45086 2761.5936 -19.376492
|
||||
760 0.076 -665.10714 -667.1654 160.84249 21.605247 12.473609 50 989.5724 2684.9256 -30.776106
|
||||
770 0.077 -665.1075 -667.10061 155.75086 21.605196 12.473922 50 1129.4775 2532.7048 -41.263677
|
||||
780 0.078 -665.10803 -667.00654 148.35835 21.605226 12.474338 50 1337.8663 2314.4556 -50.455407
|
||||
790 0.079 -665.10869 -666.91242 140.9515 21.605349 12.474848 50 1586.9099 2045.9808 -57.988114
|
||||
800 0.08 -665.10946 -666.84375 135.52533 21.605585 12.475441 50 1844.7038 1749.1281 -63.495405
|
||||
810 0.081 -665.11032 -666.81538 133.24173 21.60595 12.476105 50 2079.9601 1450.3113 -66.60795
|
||||
820 0.082 -665.11127 -666.82877 134.21424 21.606461 12.476828 50 2266.0059 1177.7937 -66.990929
|
||||
830 0.083 -665.1123 -666.87353 137.6312 21.607131 12.477599 50 2383.4351 958.19752 -64.411861
|
||||
840 0.084 -665.11343 -666.93214 142.12323 21.607968 12.478409 50 2421.1969 812.91475 -58.816538
|
||||
850 0.085 -665.11467 -666.98597 146.2321 21.608975 12.479253 50 2376.3483 755.06052 -50.389393
|
||||
860 0.086 -665.11603 -667.02075 148.84448 21.610149 12.480128 50 2252.9811 787.43069 -39.585062
|
||||
870 0.087 -665.1175 -667.03045 149.48743 21.611481 12.481034 50 2060.884 901.76342 -27.129117
|
||||
880 0.088 -665.11907 -667.01838 148.42091 21.612958 12.481978 50 1814.3354 1079.4855 -13.988401
|
||||
890 0.089 -665.12073 -666.99552 146.50471 21.614562 12.482966 50 1531.1565 1293.9709 -1.305884
|
||||
900 0.09 -665.12247 -666.97639 144.87389 21.616275 12.484007 50 1231.9005 1514.0741 9.7083525
|
||||
910 0.091 -665.12426 -666.97371 144.52455 21.618074 12.485109 50 938.90089 1708.364 17.929974
|
||||
920 0.092 -665.12609 -666.99389 145.95889 21.61994 12.486281 50 674.90767 1849.2415 22.497207
|
||||
930 0.093 -665.12794 -667.03498 149.02559 21.621853 12.487528 50 461.18604 1916.1468 22.971745
|
||||
940 0.094 -665.12977 -667.08777 153.00718 21.6238 12.488852 50 315.19601 1897.3867 19.43758
|
||||
950 0.095 -665.13156 -667.13925 156.8903 21.62577 12.490254 50 248.20946 1790.5667 12.504818
|
||||
960 0.096 -665.13326 -667.17668 159.68273 21.627757 12.491728 50 263.35912 1601.9528 3.2123256
|
||||
970 0.097 -665.13485 -667.19079 160.6611 21.629764 12.493267 50 354.58496 1345.1489 -7.1487162
|
||||
980 0.098 -665.13628 -667.17758 159.5175 21.631796 12.494862 50 506.7626 1039.346 -17.249179
|
||||
990 0.099 -665.13753 -667.13942 156.43758 21.633864 12.496499 50 697.06054 707.26671 -25.92737
|
||||
1000 0.1 -665.13859 -667.0853 152.12472 21.635982 12.498164 50 897.38498 372.94791 -32.344697
|
||||
Loop time of 0.174508 on 4 procs for 1000 steps with 100 atoms
|
||||
|
||||
Performance: 49.511 ns/day, 0.485 hours/ns, 5730.393 timesteps/s
|
||||
98.8% 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.12409 | 0.12834 | 0.13408 | 1.1 | 73.54
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.016369 | 0.021358 | 0.025324 | 2.7 | 12.24
|
||||
Output | 0.0023892 | 0.0025101 | 0.0028272 | 0.4 | 1.44
|
||||
Modify | 0.01733 | 0.018302 | 0.018958 | 0.5 | 10.49
|
||||
Other | | 0.003995 | | | 2.29
|
||||
|
||||
Nlocal: 25 ave 26 max 24 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 179 ave 180 max 178 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 450 ave 468 max 432 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 1800
|
||||
Ave neighs/atom = 18
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
|
@ -67,6 +67,15 @@ variable tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
|
|||
fix mygcmc all gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol &
|
||||
co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
|
||||
|
||||
# atom counts
|
||||
|
||||
variable carbon atom "type==1"
|
||||
variable oxygen atom "type==2"
|
||||
group carbon dynamic all var carbon
|
||||
group oxygen dynamic all var oxygen
|
||||
variable nC equal count(carbon)
|
||||
variable nO equal count(oxygen)
|
||||
|
||||
# output
|
||||
|
||||
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
|
||||
|
@ -74,7 +83,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
|
|||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
|
||||
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
|
||||
thermo 1000
|
||||
|
||||
# run
|
||||
|
|
|
@ -72,6 +72,15 @@ variable tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
|
|||
fix mygcmc all gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol &
|
||||
h2omol tfac_insert ${tfac} group h2o shake wshake
|
||||
|
||||
# atom counts
|
||||
|
||||
variable oxygen atom "type==1"
|
||||
variable hydrogen atom "type==2"
|
||||
group oxygen dynamic all var oxygen
|
||||
group hydrogen dynamic all var hydrogen
|
||||
variable nO equal count(oxygen)
|
||||
variable nH equal count(hydrogen)
|
||||
|
||||
# output
|
||||
|
||||
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
|
||||
|
@ -79,7 +88,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
|
|||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
|
||||
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
|
||||
thermo 1000
|
||||
|
||||
# run
|
||||
|
|
|
@ -33,6 +33,12 @@ mass * 1.0
|
|||
|
||||
fix mygcmc all gcmc 1 100 100 1 29494 ${temp} ${mu} ${disp}
|
||||
|
||||
# atom count
|
||||
|
||||
variable type1 atom "type==1"
|
||||
group type1 dynamic all var type1
|
||||
variable n1 equal count(type1)
|
||||
|
||||
# averaging
|
||||
|
||||
variable rho equal density
|
||||
|
@ -40,10 +46,11 @@ variable p equal press
|
|||
variable nugget equal 1.0e-8
|
||||
variable lambda equal 1.0
|
||||
variable muex equal ${mu}-${temp}*ln(density*${lambda}+${nugget})
|
||||
fix ave all ave/time 10 100 1000 v_rho v_p v_muex ave one file rho_vs_p.dat
|
||||
fix ave all ave/time 10 100 1000 v_rho v_p v_muex v_n1 ave one file rho_vs_p.dat
|
||||
variable rhoav equal f_ave[1]
|
||||
variable pav equal f_ave[2]
|
||||
variable muexav equal f_ave[3]
|
||||
variable n1av equal f_ave[4]
|
||||
|
||||
# output
|
||||
|
||||
|
@ -51,7 +58,7 @@ variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+${nugget})
|
|||
variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+${nugget})
|
||||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+${nugget})
|
||||
compute_modify thermo_temp dynamic yes
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av
|
||||
thermo 1000
|
||||
|
||||
# run
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
LAMMPS (6 Jul 2017)
|
||||
LAMMPS (23 Oct 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# GCMC for CO2 molecular fluid, rigid/small/nvt dynamics
|
||||
# Rigid CO2 TraPPE model
|
||||
|
@ -46,6 +46,7 @@ Read molecule co2mol:
|
|||
0 impropers with 0 types
|
||||
create_atoms 0 box mol co2mol 464563 units box
|
||||
Created 24 atoms
|
||||
Time spent = 0.00196958 secs
|
||||
|
||||
# rigid CO2 TraPPE model
|
||||
|
||||
|
@ -87,6 +88,17 @@ fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol
|
|||
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
|
||||
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert 1.66666666666667 group co2 rigid myrigidnvt
|
||||
|
||||
# atom counts
|
||||
|
||||
variable carbon atom "type==1"
|
||||
variable oxygen atom "type==2"
|
||||
group carbon dynamic all var carbon
|
||||
dynamic group carbon defined
|
||||
group oxygen dynamic all var oxygen
|
||||
dynamic group oxygen defined
|
||||
variable nC equal count(carbon)
|
||||
variable nO equal count(oxygen)
|
||||
|
||||
# output
|
||||
|
||||
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
|
||||
|
@ -94,7 +106,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
|
|||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
|
||||
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
|
||||
thermo 1000
|
||||
|
||||
# run
|
||||
|
@ -124,45 +136,45 @@ Neighbor list info ...
|
|||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 15.62 | 15.62 | 15.62 Mbytes
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc
|
||||
0 364.27579 4238.8631 -9.6809388 13.391989 0.5846359 24 0 0 0 0
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
|
||||
0 364.27579 4238.8631 -9.6809388 13.391989 0.5846359 24 0 0 0 0 8 16
|
||||
WARNING: Using kspace solver on system with no charge (../kspace.cpp:289)
|
||||
1000 420.43475 1722.4052 -9.6956123 15.456579 0.5846359 24 0.20879341 0.20713005 0 0
|
||||
2000 302.29516 -547.83641 -22.017674 14.11699 0.73079488 30 0.1742478 0.1678018 0 0
|
||||
3000 316.6934 -1080.2672 -8.2218891 10.069364 0.51155641 21 0.13544917 0.13720634 0 0
|
||||
4000 246.81618 -679.83642 -14.577244 10.29997 0.65771539 27 0.1568939 0.15860229 0 0
|
||||
5000 260.22849 -896.29914 -16.097593 10.859684 0.65771539 27 0.13138744 0.13547049 0 0
|
||||
6000 291.70796 -1521.99 -22.303136 13.622574 0.73079488 30 0.12615476 0.12717694 0 0
|
||||
7000 236.02638 -599.92186 -27.580831 13.367447 0.87695385 36 0.119703 0.12145398 0 0
|
||||
8000 321.45341 688.10577 -10.09204 11.817696 0.5846359 24 0.10917411 0.11032646 0 0
|
||||
9000 502.85382 -302.31056 -0.22330142 0.99927447 0.073079488 3 0.1254105 0.12905828 0 0
|
||||
10000 249.98239 -510.0091 -32.815145 15.399767 0.95003334 39 0.1274504 0.12875623 0 0
|
||||
11000 247.59424 -1129.0274 -25.320205 12.792544 0.80387436 33 0.11739076 0.11916784 0 0
|
||||
12000 0 -20.39554 -0.14872889 -0 0 0 0.1254933 0.12920375 0 0
|
||||
13000 1272.2738 -474.79484 -0.29450485 8.8489483 0.14615898 6 0.13767133 0.14112496 0 0
|
||||
14000 516.54246 -36.296516 -5.0012009 11.291243 0.36539744 15 0.15632744 0.15955377 0 0
|
||||
15000 307.09233 1951.9301 -14.820362 12.815375 0.65771539 27 0.15393544 0.15716192 0 0
|
||||
16000 198.31989 -559.48443 -30.459487 11.231925 0.87695385 36 0.1482565 0.15025652 0 0
|
||||
17000 246.99311 657.85683 -18.579206 11.53442 0.73079488 30 0.14143958 0.14375423 0 0
|
||||
18000 467.13468 167.03738 -1.0945268 5.569759 0.21923846 9 0.13847359 0.14098533 0 0
|
||||
19000 359.54027 -1413.5407 -12.156233 13.217895 0.5846359 24 0.15169146 0.15294205 0 0
|
||||
20000 227.79597 -1204.5652 -23.24144 10.637925 0.73079488 30 0.14917199 0.15022946 0 0
|
||||
Loop time of 20.153 on 1 procs for 20000 steps with 30 atoms
|
||||
1000 420.43475 1722.4052 -9.6956123 15.456579 0.5846359 24 0.20879341 0.20713005 0 0 8 16
|
||||
2000 302.29516 -547.83641 -22.017674 14.11699 0.73079488 30 0.1742478 0.1678018 0 0 10 20
|
||||
3000 316.6934 -1080.2672 -8.2218891 10.069364 0.51155641 21 0.13544917 0.13720634 0 0 7 14
|
||||
4000 246.81618 -679.83642 -14.577244 10.29997 0.65771539 27 0.1568939 0.15860229 0 0 9 18
|
||||
5000 260.22849 -896.29914 -16.097593 10.859684 0.65771539 27 0.13138744 0.13547049 0 0 9 18
|
||||
6000 291.70796 -1521.99 -22.303136 13.622574 0.73079488 30 0.12615476 0.12717694 0 0 10 20
|
||||
7000 236.02638 -599.92186 -27.580831 13.367447 0.87695385 36 0.119703 0.12145398 0 0 12 24
|
||||
8000 321.45341 688.10577 -10.09204 11.817696 0.5846359 24 0.10917411 0.11032646 0 0 8 16
|
||||
9000 502.85382 -302.31056 -0.22330142 0.99927447 0.073079488 3 0.1254105 0.12905828 0 0 1 2
|
||||
10000 249.98239 -510.0091 -32.815145 15.399767 0.95003334 39 0.1274504 0.12875623 0 0 13 26
|
||||
11000 247.59424 -1129.0274 -25.320205 12.792544 0.80387436 33 0.11739076 0.11916784 0 0 11 22
|
||||
12000 0 -20.39554 -0.14872889 -0 0 0 0.1254933 0.12920375 0 0 0 0
|
||||
13000 1272.2738 -474.79484 -0.29450485 8.8489483 0.14615898 6 0.13767133 0.14112496 0 0 2 4
|
||||
14000 516.54246 -36.296516 -5.0012009 11.291243 0.36539744 15 0.15632744 0.15955377 0 0 5 10
|
||||
15000 307.09233 1951.9301 -14.820362 12.815375 0.65771539 27 0.15393544 0.15716192 0 0 9 18
|
||||
16000 198.31989 -559.48443 -30.459487 11.231925 0.87695385 36 0.1482565 0.15025652 0 0 12 24
|
||||
17000 246.99311 657.85683 -18.579206 11.53442 0.73079488 30 0.14143958 0.14375423 0 0 10 20
|
||||
18000 467.13468 167.03738 -1.0945268 5.569759 0.21923846 9 0.13847359 0.14098533 0 0 3 6
|
||||
19000 359.54027 -1413.5407 -12.156233 13.217895 0.5846359 24 0.15169146 0.15294205 0 0 8 16
|
||||
20000 227.79597 -1204.5652 -23.24144 10.637925 0.73079488 30 0.14917199 0.15022946 0 0 10 20
|
||||
Loop time of 20.6928 on 1 procs for 20000 steps with 30 atoms
|
||||
|
||||
Performance: 85.744 ns/day, 0.280 hours/ns, 992.408 timesteps/s
|
||||
99.3% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
Performance: 83.507 ns/day, 0.287 hours/ns, 966.519 timesteps/s
|
||||
99.2% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.5352 | 2.5352 | 2.5352 | 0.0 | 12.58
|
||||
Bond | 0.026112 | 0.026112 | 0.026112 | 0.0 | 0.13
|
||||
Kspace | 0.25 | 0.25 | 0.25 | 0.0 | 1.24
|
||||
Neigh | 0.10364 | 0.10364 | 0.10364 | 0.0 | 0.51
|
||||
Comm | 0.22907 | 0.22907 | 0.22907 | 0.0 | 1.14
|
||||
Output | 0.0013065 | 0.0013065 | 0.0013065 | 0.0 | 0.01
|
||||
Modify | 16.957 | 16.957 | 16.957 | 0.0 | 84.14
|
||||
Other | | 0.05061 | | | 0.25
|
||||
Pair | 2.5462 | 2.5462 | 2.5462 | 0.0 | 12.30
|
||||
Bond | 0.029783 | 0.029783 | 0.029783 | 0.0 | 0.14
|
||||
Kspace | 0.26167 | 0.26167 | 0.26167 | 0.0 | 1.26
|
||||
Neigh | 0.10705 | 0.10705 | 0.10705 | 0.0 | 0.52
|
||||
Comm | 0.23409 | 0.23409 | 0.23409 | 0.0 | 1.13
|
||||
Output | 0.0013416 | 0.0013416 | 0.0013416 | 0.0 | 0.01
|
||||
Modify | 17.458 | 17.458 | 17.458 | 0.0 | 84.37
|
||||
Other | | 0.05433 | | | 0.26
|
||||
|
||||
Nlocal: 30 ave 30 max 30 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
@ -1,4 +1,4 @@
|
|||
LAMMPS (6 Jul 2017)
|
||||
LAMMPS (23 Oct 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# GCMC for CO2 molecular fluid, rigid/small/nvt dynamics
|
||||
# Rigid CO2 TraPPE model
|
||||
|
@ -46,6 +46,7 @@ Read molecule co2mol:
|
|||
0 impropers with 0 types
|
||||
create_atoms 0 box mol co2mol 464563 units box
|
||||
Created 24 atoms
|
||||
Time spent = 0.00261331 secs
|
||||
|
||||
# rigid CO2 TraPPE model
|
||||
|
||||
|
@ -87,6 +88,17 @@ fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol
|
|||
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt
|
||||
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert 1.66666666666667 group co2 rigid myrigidnvt
|
||||
|
||||
# atom counts
|
||||
|
||||
variable carbon atom "type==1"
|
||||
variable oxygen atom "type==2"
|
||||
group carbon dynamic all var carbon
|
||||
dynamic group carbon defined
|
||||
group oxygen dynamic all var oxygen
|
||||
dynamic group oxygen defined
|
||||
variable nC equal count(carbon)
|
||||
variable nO equal count(oxygen)
|
||||
|
||||
# output
|
||||
|
||||
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
|
||||
|
@ -94,7 +106,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
|
|||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
|
||||
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
|
||||
thermo 1000
|
||||
|
||||
# run
|
||||
|
@ -124,45 +136,45 @@ Neighbor list info ...
|
|||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 15.41 | 15.41 | 15.41 Mbytes
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc
|
||||
0 386.52184 23582.465 -3.2433417 14.209828 0.5846359 24 0 0 0 0
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
|
||||
0 386.52184 23582.465 -3.2433417 14.209828 0.5846359 24 0 0 0 0 8 16
|
||||
WARNING: Using kspace solver on system with no charge (../kspace.cpp:289)
|
||||
1000 335.66829 -3.7743052 -4.6268612 7.3374649 0.36539744 15 0.20601899 0.20787963 0 0
|
||||
2000 459.73529 238.91592 -0.42937831 5.4815343 0.21923846 9 0.30392058 0.30105616 0 0
|
||||
3000 255.47773 -479.67802 -36.850434 15.738299 0.95003334 39 0.22220744 0.2197582 0 0
|
||||
4000 182.70803 -1059.2262 -43.044833 12.163134 1.0231128 42 0.16781689 0.16716177 0 0
|
||||
5000 234.00907 -1821.0444 -46.04795 15.578317 1.0231128 42 0.13498091 0.13704201 0 0
|
||||
6000 163.42759 -774.67294 -49.686261 11.691518 1.0961923 45 0.11401677 0.11296973 0 0
|
||||
7000 171.64616 -355.23516 -49.323434 12.27947 1.0961923 45 0.098302308 0.098552065 0 0
|
||||
8000 251.29791 -905.47863 -37.841209 15.480807 0.95003334 39 0.086856972 0.08638658 0 0
|
||||
9000 143.69498 -849.95393 -49.073188 10.279858 1.0961923 45 0.078261061 0.077955243 0 0
|
||||
10000 239.35727 -1158.1879 -43.562047 15.934355 1.0231128 42 0.070789792 0.070807529 0 0
|
||||
11000 169.51213 -1574.7885 -51.125228 12.126803 1.0961923 45 0.065008734 0.06498871 0 0
|
||||
12000 181.39739 160.11631 -46.850937 12.977068 1.0961923 45 0.059648717 0.059514803 0 0
|
||||
13000 164.14601 -1107.7629 -50.726722 11.742914 1.0961923 45 0.055207333 0.055097701 0 0
|
||||
14000 287.26285 418.51463 -41.664766 19.123497 1.0231128 42 0.051346789 0.051222285 0 0
|
||||
15000 256.94593 -532.36615 -41.651618 17.105257 1.0231128 42 0.047870301 0.047861685 0 0
|
||||
16000 166.92132 151.15933 -39.957018 11.11219 1.0231128 42 0.045205599 0.045042211 0 0
|
||||
17000 163.22452 -1299.8119 -42.677558 10.866089 1.0231128 42 0.043122086 0.042993687 0 0
|
||||
18000 158.01154 475.77329 -48.803162 11.304057 1.0961923 45 0.041016683 0.040647229 0 0
|
||||
19000 138.49297 -1585.1508 -47.517099 9.9077098 1.0961923 45 0.038929287 0.038436764 0 0
|
||||
20000 173.84439 -1362.6301 -53.002743 12.436731 1.0961923 45 0.036973919 0.036523816 0 0
|
||||
Loop time of 31.8386 on 4 procs for 20000 steps with 45 atoms
|
||||
1000 335.66829 -3.7743052 -4.6268612 7.3374649 0.36539744 15 0.20601899 0.20787963 0 0 5 10
|
||||
2000 459.73529 238.91592 -0.42937831 5.4815343 0.21923846 9 0.30392058 0.30105616 0 0 3 6
|
||||
3000 255.47773 -479.67802 -36.850434 15.738299 0.95003334 39 0.22220744 0.2197582 0 0 13 26
|
||||
4000 182.70803 -1059.2262 -43.044833 12.163134 1.0231128 42 0.16781689 0.16716177 0 0 14 28
|
||||
5000 234.00907 -1821.0444 -46.04795 15.578317 1.0231128 42 0.13498091 0.13704201 0 0 14 28
|
||||
6000 163.42759 -774.67294 -49.686261 11.691518 1.0961923 45 0.11401677 0.11296973 0 0 15 30
|
||||
7000 171.64616 -355.23516 -49.323434 12.27947 1.0961923 45 0.098302308 0.098552065 0 0 15 30
|
||||
8000 251.29791 -905.47863 -37.841209 15.480807 0.95003334 39 0.086856972 0.08638658 0 0 13 26
|
||||
9000 143.69498 -849.95393 -49.073188 10.279858 1.0961923 45 0.078261061 0.077955243 0 0 15 30
|
||||
10000 239.35727 -1158.1879 -43.562047 15.934355 1.0231128 42 0.070789792 0.070807529 0 0 14 28
|
||||
11000 169.51213 -1574.7885 -51.125228 12.126803 1.0961923 45 0.065008734 0.06498871 0 0 15 30
|
||||
12000 181.39739 160.11631 -46.850937 12.977068 1.0961923 45 0.059648717 0.059514803 0 0 15 30
|
||||
13000 164.14601 -1107.7629 -50.726722 11.742914 1.0961923 45 0.055207333 0.055097701 0 0 15 30
|
||||
14000 287.26285 418.51463 -41.664766 19.123497 1.0231128 42 0.051346789 0.051222285 0 0 14 28
|
||||
15000 256.94593 -532.36615 -41.651618 17.105257 1.0231128 42 0.047870301 0.047861685 0 0 14 28
|
||||
16000 166.92132 151.15933 -39.957018 11.11219 1.0231128 42 0.045205599 0.045042211 0 0 14 28
|
||||
17000 163.22452 -1299.8119 -42.677558 10.866089 1.0231128 42 0.043122086 0.042993687 0 0 14 28
|
||||
18000 158.01154 475.77329 -48.803162 11.304057 1.0961923 45 0.041016683 0.040647229 0 0 15 30
|
||||
19000 138.49297 -1585.1508 -47.517099 9.9077098 1.0961923 45 0.038929287 0.038436764 0 0 15 30
|
||||
20000 173.84439 -1362.6301 -53.002743 12.436731 1.0961923 45 0.036973919 0.036523816 0 0 15 30
|
||||
Loop time of 32.4481 on 4 procs for 20000 steps with 45 atoms
|
||||
|
||||
Performance: 54.274 ns/day, 0.442 hours/ns, 628.168 timesteps/s
|
||||
98.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
Performance: 53.254 ns/day, 0.451 hours/ns, 616.369 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 | 1.1546 | 1.6687 | 2.1338 | 29.5 | 5.24
|
||||
Bond | 0.019769 | 0.020369 | 0.02132 | 0.4 | 0.06
|
||||
Kspace | 0.53392 | 0.99911 | 1.5116 | 37.8 | 3.14
|
||||
Neigh | 0.06737 | 0.067842 | 0.068412 | 0.2 | 0.21
|
||||
Comm | 1.9408 | 1.9582 | 1.9733 | 1.1 | 6.15
|
||||
Output | 0.0019503 | 0.0020472 | 0.0022476 | 0.3 | 0.01
|
||||
Modify | 26.974 | 26.99 | 27.001 | 0.2 | 84.77
|
||||
Other | | 0.1322 | | | 0.42
|
||||
Pair | 1.1687 | 1.6702 | 2.1864 | 30.8 | 5.15
|
||||
Bond | 0.018828 | 0.020035 | 0.020975 | 0.6 | 0.06
|
||||
Kspace | 0.57506 | 1.0931 | 1.5898 | 37.7 | 3.37
|
||||
Neigh | 0.068863 | 0.069524 | 0.070128 | 0.2 | 0.21
|
||||
Comm | 2.0735 | 2.0865 | 2.0979 | 0.7 | 6.43
|
||||
Output | 0.0025017 | 0.0025966 | 0.0027781 | 0.2 | 0.01
|
||||
Modify | 27.335 | 27.344 | 27.363 | 0.2 | 84.27
|
||||
Other | | 0.1621 | | | 0.50
|
||||
|
||||
Nlocal: 11.25 ave 14 max 8 min
|
||||
Histogram: 1 0 0 0 0 1 1 0 0 1
|
||||
|
@ -177,4 +189,4 @@ Ave special neighs/atom = 2
|
|||
Neighbor list builds = 20394
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:31
|
||||
Total wall time: 0:00:32
|
|
@ -1,4 +1,4 @@
|
|||
LAMMPS (6 Jul 2017)
|
||||
LAMMPS (23 Oct 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# fix gcmc example with fix shake
|
||||
|
||||
|
@ -51,6 +51,7 @@ Read molecule h2omol:
|
|||
0 impropers with 0 types
|
||||
create_atoms 0 box mol h2omol 464563 units box
|
||||
Created 24 atoms
|
||||
Time spent = 0.00201297 secs
|
||||
|
||||
# rigid SPC/E water model
|
||||
|
||||
|
@ -100,9 +101,9 @@ Per MPI rank memory allocation (min/avg/max) = 11.88 | 11.88 | 11.88 Mbytes
|
|||
Step Temp E_pair E_mol TotEng Press
|
||||
0 338 -4.1890564 9.2628112e-06 18.98377 739.06991
|
||||
100 338 -30.182886 0.85607237 -6.1539961 -2535.3207
|
||||
Loop time of 0.0525794 on 1 procs for 100 steps with 24 atoms
|
||||
Loop time of 0.0507543 on 1 procs for 100 steps with 24 atoms
|
||||
|
||||
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = max iterations
|
||||
|
@ -116,14 +117,14 @@ Minimization stats:
|
|||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.044199 | 0.044199 | 0.044199 | 0.0 | 84.06
|
||||
Bond | 0.00049019 | 0.00049019 | 0.00049019 | 0.0 | 0.93
|
||||
Kspace | 0.0031631 | 0.0031631 | 0.0031631 | 0.0 | 6.02
|
||||
Neigh | 0.00046444 | 0.00046444 | 0.00046444 | 0.0 | 0.88
|
||||
Comm | 0.0034101 | 0.0034101 | 0.0034101 | 0.0 | 6.49
|
||||
Output | 1.9073e-05 | 1.9073e-05 | 1.9073e-05 | 0.0 | 0.04
|
||||
Pair | 0.042597 | 0.042597 | 0.042597 | 0.0 | 83.93
|
||||
Bond | 0.00047708 | 0.00047708 | 0.00047708 | 0.0 | 0.94
|
||||
Kspace | 0.0031135 | 0.0031135 | 0.0031135 | 0.0 | 6.13
|
||||
Neigh | 0.00045919 | 0.00045919 | 0.00045919 | 0.0 | 0.90
|
||||
Comm | 0.0032997 | 0.0032997 | 0.0032997 | 0.0 | 6.50
|
||||
Output | 1.359e-05 | 1.359e-05 | 1.359e-05 | 0.0 | 0.03
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.0008333 | | | 1.58
|
||||
Other | | 0.0007946 | | | 1.57
|
||||
|
||||
Nlocal: 24 ave 24 max 24 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
@ -164,22 +165,22 @@ Per MPI rank memory allocation (min/avg/max) = 11.63 | 11.63 | 11.63 Mbytes
|
|||
Step Temp E_pair E_mol TotEng Press
|
||||
0 518.26667 -30.182886 0 -7.0100684 993.1985
|
||||
1000 326.9865 -62.258445 0 -47.638175 -5.3440813
|
||||
Loop time of 0.14263 on 1 procs for 1000 steps with 24 atoms
|
||||
Loop time of 0.141449 on 1 procs for 1000 steps with 24 atoms
|
||||
|
||||
Performance: 605.764 ns/day, 0.040 hours/ns, 7011.155 timesteps/s
|
||||
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
Performance: 610.819 ns/day, 0.039 hours/ns, 7069.663 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.10849 | 0.10849 | 0.10849 | 0.0 | 76.07
|
||||
Bond | 0.00015426 | 0.00015426 | 0.00015426 | 0.0 | 0.11
|
||||
Kspace | 0.01205 | 0.01205 | 0.01205 | 0.0 | 8.45
|
||||
Neigh | 0.0046577 | 0.0046577 | 0.0046577 | 0.0 | 3.27
|
||||
Comm | 0.011531 | 0.011531 | 0.011531 | 0.0 | 8.08
|
||||
Output | 1.6212e-05 | 1.6212e-05 | 1.6212e-05 | 0.0 | 0.01
|
||||
Modify | 0.0037699 | 0.0037699 | 0.0037699 | 0.0 | 2.64
|
||||
Other | | 0.001957 | | | 1.37
|
||||
Pair | 0.10788 | 0.10788 | 0.10788 | 0.0 | 76.27
|
||||
Bond | 0.00018954 | 0.00018954 | 0.00018954 | 0.0 | 0.13
|
||||
Kspace | 0.011867 | 0.011867 | 0.011867 | 0.0 | 8.39
|
||||
Neigh | 0.0045254 | 0.0045254 | 0.0045254 | 0.0 | 3.20
|
||||
Comm | 0.011277 | 0.011277 | 0.011277 | 0.0 | 7.97
|
||||
Output | 1.5497e-05 | 1.5497e-05 | 1.5497e-05 | 0.0 | 0.01
|
||||
Modify | 0.00383 | 0.00383 | 0.00383 | 0.0 | 2.71
|
||||
Other | | 0.001868 | | | 1.32
|
||||
|
||||
Nlocal: 24 ave 24 max 24 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
@ -201,6 +202,17 @@ fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol
|
|||
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol h2omol tfac_insert ${tfac} group h2o shake wshake
|
||||
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol h2omol tfac_insert 1.66666666666667 group h2o shake wshake
|
||||
|
||||
# atom counts
|
||||
|
||||
variable oxygen atom "type==1"
|
||||
variable hydrogen atom "type==2"
|
||||
group oxygen dynamic all var oxygen
|
||||
dynamic group oxygen defined
|
||||
group hydrogen dynamic all var hydrogen
|
||||
dynamic group hydrogen defined
|
||||
variable nO equal count(oxygen)
|
||||
variable nH equal count(hydrogen)
|
||||
|
||||
# output
|
||||
|
||||
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
|
||||
|
@ -208,7 +220,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
|
|||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
|
||||
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
|
||||
thermo 1000
|
||||
|
||||
# run
|
||||
|
@ -226,44 +238,44 @@ WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:445)
|
|||
0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
|
||||
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (../neighbor.cpp:472)
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.63 | 11.63 | 11.63 Mbytes
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc
|
||||
1000 326.9865 -4.3509713 -62.258445 14.62027 0.23910963 24 0 0 0 0
|
||||
2000 116.99793 -5344.1527 -286.61595 17.088682 0.74721761 75 0.048183096 0.013941446 0 0
|
||||
3000 106.86746 -3920.4926 -361.60598 18.794545 0.89666113 90 0.035637919 0.012768883 0 0
|
||||
4000 75.002668 540.46846 -414.8511 14.531966 0.98632724 99 0.025963651 0.0093451705 0 0
|
||||
5000 79.924788 -2131.1173 -437.21216 15.962121 1.0162159 102 0.019879728 0.0070418993 0 0
|
||||
6000 95.552773 -3647.0233 -438.24276 19.083253 1.0162159 102 0.015753613 0.0056885133 0 0
|
||||
7000 79.501736 -2071.5369 -440.77351 15.877631 1.0162159 102 0.01326216 0.0046915318 0 0
|
||||
8000 62.567091 -3102.9616 -442.21884 12.495541 1.0162159 102 0.011305503 0.0040437885 0 0
|
||||
9000 68.324047 -3812.7866 -440.46835 13.645287 1.0162159 102 0.0099549538 0.0035157329 0 0
|
||||
10000 83.857631 -2158.2659 -444.8183 16.747566 1.0162159 102 0.0088200922 0.0031354281 0 0
|
||||
11000 68.350984 -2084.0789 -440.14081 13.650667 1.0162159 102 0.0081331455 0.0030247424 0 0
|
||||
12000 76.867315 -1585.6723 -443.36199 15.3515 1.0162159 102 0.0073845932 0.0027532534 0 0
|
||||
13000 59.74266 -2211.0211 -446.07791 11.931462 1.0162159 102 0.0067756276 0.0025213898 0 0
|
||||
14000 81.154979 -907.0176 -441.53368 16.207808 1.0162159 102 0.0062527642 0.0023280719 0 0
|
||||
15000 66.814346 -2804.5134 -455.80704 13.7421 1.0461046 105 0.0059590528 0.0021576214 0 0
|
||||
16000 71.42983 -3930.4004 -458.43218 14.691394 1.0461046 105 0.0055547473 0.0020163729 0 0
|
||||
17000 89.624855 -3569.8136 -455.18164 18.433672 1.0461046 105 0.0052173265 0.0018867687 0 0
|
||||
18000 63.519962 -1882.8157 -456.58939 13.064525 1.0461046 105 0.0049082049 0.0017765986 0 0
|
||||
19000 71.872698 -2243.5046 -454.93359 14.782481 1.0461046 105 0.0046439115 0.0016748361 0 0
|
||||
20000 73.660765 -2285.3173 -476.35473 15.589381 1.0759934 108 0.0045124933 0.0015837653 0 0
|
||||
21000 95.675868 987.92089 -475.46736 20.248603 1.0759934 108 0.004285814 0.0015049513 0 0
|
||||
Loop time of 226.155 on 1 procs for 20000 steps with 108 atoms
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
|
||||
1000 326.9865 -4.3509713 -62.258445 14.62027 0.23910963 24 0 0 0 0 8 16
|
||||
2000 116.99793 -5344.1527 -286.61595 17.088682 0.74721761 75 0.048183096 0.013941446 0 0 25 50
|
||||
3000 106.86746 -3920.4926 -361.60598 18.794545 0.89666113 90 0.035637919 0.012768883 0 0 30 60
|
||||
4000 75.002668 540.46846 -414.8511 14.531966 0.98632724 99 0.025963651 0.0093451705 0 0 33 66
|
||||
5000 79.924788 -2131.1173 -437.21216 15.962121 1.0162159 102 0.019879728 0.0070418993 0 0 34 68
|
||||
6000 95.552773 -3647.0233 -438.24276 19.083253 1.0162159 102 0.015753613 0.0056885133 0 0 34 68
|
||||
7000 79.501736 -2071.5369 -440.77351 15.877631 1.0162159 102 0.01326216 0.0046915318 0 0 34 68
|
||||
8000 62.567091 -3102.9616 -442.21884 12.495541 1.0162159 102 0.011305503 0.0040437885 0 0 34 68
|
||||
9000 68.324047 -3812.7866 -440.46835 13.645287 1.0162159 102 0.0099549538 0.0035157329 0 0 34 68
|
||||
10000 83.857631 -2158.2659 -444.8183 16.747566 1.0162159 102 0.0088200922 0.0031354281 0 0 34 68
|
||||
11000 68.350984 -2084.0789 -440.14081 13.650667 1.0162159 102 0.0081331455 0.0030247424 0 0 34 68
|
||||
12000 76.867315 -1585.6723 -443.36199 15.3515 1.0162159 102 0.0073845932 0.0027532534 0 0 34 68
|
||||
13000 59.74266 -2211.0211 -446.07791 11.931462 1.0162159 102 0.0067756276 0.0025213898 0 0 34 68
|
||||
14000 81.154979 -907.0176 -441.53368 16.207808 1.0162159 102 0.0062527642 0.0023280719 0 0 34 68
|
||||
15000 66.814346 -2804.5134 -455.80704 13.7421 1.0461046 105 0.0059590528 0.0021576214 0 0 35 70
|
||||
16000 71.42983 -3930.4004 -458.43218 14.691394 1.0461046 105 0.0055547473 0.0020163729 0 0 35 70
|
||||
17000 89.624855 -3569.8136 -455.18164 18.433672 1.0461046 105 0.0052173265 0.0018867687 0 0 35 70
|
||||
18000 63.519962 -1882.8157 -456.58939 13.064525 1.0461046 105 0.0049082049 0.0017765986 0 0 35 70
|
||||
19000 71.872698 -2243.5046 -454.93359 14.782481 1.0461046 105 0.0046439115 0.0016748361 0 0 35 70
|
||||
20000 73.660765 -2285.3173 -476.35473 15.589381 1.0759934 108 0.0045124933 0.0015837653 0 0 36 72
|
||||
21000 95.675868 987.92089 -475.46736 20.248603 1.0759934 108 0.004285814 0.0015049513 0 0 36 72
|
||||
Loop time of 220.662 on 1 procs for 20000 steps with 108 atoms
|
||||
|
||||
Performance: 7.641 ns/day, 3.141 hours/ns, 88.435 timesteps/s
|
||||
99.2% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
Performance: 7.831 ns/day, 3.065 hours/ns, 90.637 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 | 38.053 | 38.053 | 38.053 | 0.0 | 16.83
|
||||
Bond | 0.089673 | 0.089673 | 0.089673 | 0.0 | 0.04
|
||||
Kspace | 0.92778 | 0.92778 | 0.92778 | 0.0 | 0.41
|
||||
Neigh | 1.2619 | 1.2619 | 1.2619 | 0.0 | 0.56
|
||||
Comm | 0.97483 | 0.97483 | 0.97483 | 0.0 | 0.43
|
||||
Output | 0.0013306 | 0.0013306 | 0.0013306 | 0.0 | 0.00
|
||||
Modify | 184.68 | 184.68 | 184.68 | 0.0 | 81.66
|
||||
Other | | 0.171 | | | 0.08
|
||||
Pair | 37.459 | 37.459 | 37.459 | 0.0 | 16.98
|
||||
Bond | 0.087067 | 0.087067 | 0.087067 | 0.0 | 0.04
|
||||
Kspace | 0.90234 | 0.90234 | 0.90234 | 0.0 | 0.41
|
||||
Neigh | 1.2299 | 1.2299 | 1.2299 | 0.0 | 0.56
|
||||
Comm | 0.95437 | 0.95437 | 0.95437 | 0.0 | 0.43
|
||||
Output | 0.0010636 | 0.0010636 | 0.0010636 | 0.0 | 0.00
|
||||
Modify | 179.85 | 179.85 | 179.85 | 0.0 | 81.51
|
||||
Other | | 0.1754 | | | 0.08
|
||||
|
||||
Nlocal: 108 ave 108 max 108 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
@ -278,4 +290,4 @@ Ave special neighs/atom = 2
|
|||
Neighbor list builds = 20439
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:03:46
|
||||
Total wall time: 0:03:40
|
|
@ -1,4 +1,4 @@
|
|||
LAMMPS (6 Jul 2017)
|
||||
LAMMPS (23 Oct 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# fix gcmc example with fix shake
|
||||
|
||||
|
@ -51,6 +51,7 @@ Read molecule h2omol:
|
|||
0 impropers with 0 types
|
||||
create_atoms 0 box mol h2omol 464563 units box
|
||||
Created 24 atoms
|
||||
Time spent = 0.00174451 secs
|
||||
|
||||
# rigid SPC/E water model
|
||||
|
||||
|
@ -100,9 +101,9 @@ Per MPI rank memory allocation (min/avg/max) = 11.85 | 11.85 | 11.85 Mbytes
|
|||
Step Temp E_pair E_mol TotEng Press
|
||||
0 338 -4.9610706 9.2628112e-06 18.211756 730.90791
|
||||
100 338 -15.742442 0.14954269 7.579918 -637.49568
|
||||
Loop time of 0.0828406 on 4 procs for 100 steps with 24 atoms
|
||||
Loop time of 0.0566185 on 4 procs for 100 steps with 24 atoms
|
||||
|
||||
98.7% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
98.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = max iterations
|
||||
|
@ -116,14 +117,14 @@ Minimization stats:
|
|||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.012844 | 0.025471 | 0.047008 | 8.1 | 30.75
|
||||
Bond | 0.00038934 | 0.00046468 | 0.00054336 | 0.0 | 0.56
|
||||
Kspace | 0.0061138 | 0.027556 | 0.04014 | 7.8 | 33.26
|
||||
Pair | 0.0085177 | 0.016083 | 0.026787 | 5.3 | 28.41
|
||||
Bond | 0.00022459 | 0.00031394 | 0.00037575 | 0.0 | 0.55
|
||||
Kspace | 0.0049062 | 0.014122 | 0.02044 | 5.0 | 24.94
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.023276 | 0.023636 | 0.023804 | 0.1 | 28.53
|
||||
Output | 3.171e-05 | 3.3557e-05 | 3.8147e-05 | 0.0 | 0.04
|
||||
Comm | 0.018515 | 0.02086 | 0.023246 | 1.2 | 36.84
|
||||
Output | 2.4796e-05 | 2.6047e-05 | 2.9802e-05 | 0.0 | 0.05
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.00568 | | | 6.86
|
||||
Other | | 0.005213 | | | 9.21
|
||||
|
||||
Nlocal: 6 ave 8 max 3 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 0 2
|
||||
|
@ -164,22 +165,22 @@ Per MPI rank memory allocation (min/avg/max) = 11.6 | 11.6 | 11.6 Mbytes
|
|||
Step Temp E_pair E_mol TotEng Press
|
||||
0 518.26667 -15.742442 0 7.4303753 -613.0781
|
||||
1000 369.81793 -54.202686 0 -37.667331 294.98823
|
||||
Loop time of 0.199641 on 4 procs for 1000 steps with 24 atoms
|
||||
Loop time of 0.154891 on 4 procs for 1000 steps with 24 atoms
|
||||
|
||||
Performance: 432.777 ns/day, 0.055 hours/ns, 5008.996 timesteps/s
|
||||
98.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
Performance: 557.810 ns/day, 0.043 hours/ns, 6456.135 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 | 0.017161 | 0.034988 | 0.05833 | 8.0 | 17.53
|
||||
Bond | 0.00017357 | 0.00021374 | 0.00027347 | 0.0 | 0.11
|
||||
Kspace | 0.018025 | 0.044624 | 0.065613 | 8.4 | 22.35
|
||||
Neigh | 0.0029755 | 0.0033154 | 0.0036366 | 0.6 | 1.66
|
||||
Comm | 0.059933 | 0.06537 | 0.070709 | 1.5 | 32.74
|
||||
Output | 3.4571e-05 | 3.6657e-05 | 4.22e-05 | 0.0 | 0.02
|
||||
Modify | 0.043458 | 0.045628 | 0.04767 | 0.9 | 22.86
|
||||
Other | | 0.005465 | | | 2.74
|
||||
Pair | 0.0154 | 0.028993 | 0.040525 | 5.5 | 18.72
|
||||
Bond | 0.00016999 | 0.0001902 | 0.00023293 | 0.0 | 0.12
|
||||
Kspace | 0.019093 | 0.028112 | 0.038976 | 4.3 | 18.15
|
||||
Neigh | 0.0020263 | 0.0022184 | 0.002408 | 0.4 | 1.43
|
||||
Comm | 0.04947 | 0.053627 | 0.058009 | 1.4 | 34.62
|
||||
Output | 2.5749e-05 | 2.7537e-05 | 3.2187e-05 | 0.0 | 0.02
|
||||
Modify | 0.035275 | 0.036815 | 0.038425 | 0.7 | 23.77
|
||||
Other | | 0.004909 | | | 3.17
|
||||
|
||||
Nlocal: 6 ave 8 max 3 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||
|
@ -201,6 +202,17 @@ fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol
|
|||
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol h2omol tfac_insert ${tfac} group h2o shake wshake
|
||||
fix mygcmc all gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol h2omol tfac_insert 1.66666666666667 group h2o shake wshake
|
||||
|
||||
# atom counts
|
||||
|
||||
variable oxygen atom "type==1"
|
||||
variable hydrogen atom "type==2"
|
||||
group oxygen dynamic all var oxygen
|
||||
dynamic group oxygen defined
|
||||
group hydrogen dynamic all var hydrogen
|
||||
dynamic group hydrogen defined
|
||||
variable nO equal count(oxygen)
|
||||
variable nH equal count(hydrogen)
|
||||
|
||||
# output
|
||||
|
||||
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
|
||||
|
@ -208,7 +220,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
|
|||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
|
||||
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
|
||||
thermo 1000
|
||||
|
||||
# run
|
||||
|
@ -226,44 +238,44 @@ WARNING: Fix gcmc using full_energy option (../fix_gcmc.cpp:445)
|
|||
0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
|
||||
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (../neighbor.cpp:472)
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.6 | 11.6 | 11.6 Mbytes
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc
|
||||
1000 369.81793 295.32434 -54.202686 16.535355 0.23910963 24 0 0 0 0
|
||||
2000 84.544466 -2810.9047 -344.81664 14.364627 0.86677242 87 0.052198354 0.0099581757 0 0
|
||||
3000 75.188527 -3688.256 -425.02228 14.567977 0.98632724 99 0.030546787 0.0049111089 0 0
|
||||
4000 75.019396 -5669.3063 -427.69454 14.535207 0.98632724 99 0.019972039 0.0033375609 0 0
|
||||
5000 90.415371 -2141.7596 -434.65925 17.518218 0.98632724 99 0.014909796 0.002514964 0 0
|
||||
6000 78.212628 -943.75125 -428.80584 15.153904 0.98632724 99 0.01181521 0.0020316119 0 0
|
||||
7000 71.754139 -2028.5122 -435.2139 13.902555 0.98632724 99 0.0099466198 0.0016755471 0 0
|
||||
8000 84.446231 -1969.1657 -428.27313 16.361681 0.98632724 99 0.0084791272 0.0014442102 0 0
|
||||
9000 70.952348 -2476.9812 -446.33824 14.170197 1.0162159 102 0.0077150892 0.0012556189 0 0
|
||||
10000 71.418543 -1875.7083 -443.7214 14.263302 1.0162159 102 0.0068355714 0.0011197957 0 0
|
||||
11000 86.094994 -4508.7581 -444.82687 17.194399 1.0162159 102 0.0061494515 0.0010082475 0 0
|
||||
12000 81.906091 -1547.8105 -442.36719 16.357815 1.0162159 102 0.0055834729 0.00091775114 0 0
|
||||
13000 57.221548 -4607.6222 -448.30939 11.42796 1.0162159 102 0.0051230355 0.00084046326 0 0
|
||||
14000 61.288344 -2518.1779 -445.70636 12.240157 1.0162159 102 0.0047276997 0.00077602396 0 0
|
||||
15000 85.787669 -2407.7111 -443.3834 17.133022 1.0162159 102 0.0043983485 0.00071920715 0 0
|
||||
16000 74.845939 -3288.3403 -445.8247 14.947802 1.0162159 102 0.0042321884 0.00080654918 0 0
|
||||
17000 73.835431 -1926.9566 -445.67476 14.745989 1.0162159 102 0.0039751059 0.00075470749 0 0
|
||||
18000 72.634985 -3997.552 -447.2351 14.506243 1.0162159 102 0.0037395847 0.00071063946 0 0
|
||||
19000 96.776472 -714.44132 -453.65552 19.904587 1.0461046 105 0.0036487876 0.00066993446 0 0
|
||||
20000 75.470786 183.16972 -464.04688 15.522521 1.0461046 105 0.0034630763 0.00063350614 0 0
|
||||
21000 65.658309 -773.41266 -466.27068 13.504331 1.0461046 105 0.003289113 0.00060198052 0 0
|
||||
Loop time of 93.8859 on 4 procs for 20000 steps with 105 atoms
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
|
||||
1000 369.81793 295.32434 -54.202686 16.535355 0.23910963 24 0 0 0 0 8 16
|
||||
2000 84.544466 -2810.9047 -344.81664 14.364627 0.86677242 87 0.052198354 0.0099581757 0 0 29 58
|
||||
3000 75.188527 -3688.256 -425.02228 14.567977 0.98632724 99 0.030546787 0.0049111089 0 0 33 66
|
||||
4000 75.019396 -5669.3063 -427.69454 14.535207 0.98632724 99 0.019972039 0.0033375609 0 0 33 66
|
||||
5000 90.415371 -2141.7596 -434.65925 17.518218 0.98632724 99 0.014909796 0.002514964 0 0 33 66
|
||||
6000 78.212628 -943.75125 -428.80584 15.153904 0.98632724 99 0.01181521 0.0020316119 0 0 33 66
|
||||
7000 71.754139 -2028.5122 -435.2139 13.902555 0.98632724 99 0.0099466198 0.0016755471 0 0 33 66
|
||||
8000 84.446231 -1969.1657 -428.27313 16.361681 0.98632724 99 0.0084791272 0.0014442102 0 0 33 66
|
||||
9000 70.952348 -2476.9812 -446.33824 14.170197 1.0162159 102 0.0077150892 0.0012556189 0 0 34 68
|
||||
10000 71.418543 -1875.7083 -443.7214 14.263302 1.0162159 102 0.0068355714 0.0011197957 0 0 34 68
|
||||
11000 86.094994 -4508.7581 -444.82687 17.194399 1.0162159 102 0.0061494515 0.0010082475 0 0 34 68
|
||||
12000 81.906091 -1547.8105 -442.36719 16.357815 1.0162159 102 0.0055834729 0.00091775114 0 0 34 68
|
||||
13000 57.221548 -4607.6222 -448.30939 11.42796 1.0162159 102 0.0051230355 0.00084046326 0 0 34 68
|
||||
14000 61.288344 -2518.1779 -445.70636 12.240157 1.0162159 102 0.0047276997 0.00077602396 0 0 34 68
|
||||
15000 85.787669 -2407.7111 -443.3834 17.133022 1.0162159 102 0.0043983485 0.00071920715 0 0 34 68
|
||||
16000 74.845939 -3288.3403 -445.8247 14.947802 1.0162159 102 0.0042321884 0.00080654918 0 0 34 68
|
||||
17000 73.835431 -1926.9566 -445.67476 14.745989 1.0162159 102 0.0039751059 0.00075470749 0 0 34 68
|
||||
18000 72.634985 -3997.552 -447.2351 14.506243 1.0162159 102 0.0037395847 0.00071063946 0 0 34 68
|
||||
19000 96.776472 -714.44132 -453.65552 19.904587 1.0461046 105 0.0036487876 0.00066993446 0 0 35 70
|
||||
20000 75.470786 183.16972 -464.04688 15.522521 1.0461046 105 0.0034630763 0.00063350614 0 0 35 70
|
||||
21000 65.658309 -773.41266 -466.27068 13.504331 1.0461046 105 0.003289113 0.00060198052 0 0 35 70
|
||||
Loop time of 84.4085 on 4 procs for 20000 steps with 105 atoms
|
||||
|
||||
Performance: 18.405 ns/day, 1.304 hours/ns, 213.024 timesteps/s
|
||||
Performance: 20.472 ns/day, 1.172 hours/ns, 236.943 timesteps/s
|
||||
98.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 6.7882 | 10.264 | 14.758 | 93.2 | 10.93
|
||||
Bond | 0.028286 | 0.034218 | 0.039038 | 2.5 | 0.04
|
||||
Kspace | 0.57255 | 5.2227 | 8.8493 | 133.8 | 5.56
|
||||
Neigh | 0.3635 | 0.36915 | 0.37473 | 0.9 | 0.39
|
||||
Comm | 2.9961 | 3.2542 | 3.509 | 11.4 | 3.47
|
||||
Output | 0.0011675 | 0.0012342 | 0.001375 | 0.2 | 0.00
|
||||
Modify | 74.428 | 74.499 | 74.571 | 0.7 | 79.35
|
||||
Other | | 0.2411 | | | 0.26
|
||||
Pair | 6.3571 | 9.7574 | 13.984 | 90.7 | 11.56
|
||||
Bond | 0.026374 | 0.031321 | 0.035482 | 2.1 | 0.04
|
||||
Kspace | 0.57402 | 4.7894 | 8.1754 | 129.0 | 5.67
|
||||
Neigh | 0.34952 | 0.34987 | 0.35021 | 0.1 | 0.41
|
||||
Comm | 2.4028 | 2.4228 | 2.4372 | 0.9 | 2.87
|
||||
Output | 0.0012269 | 0.0012826 | 0.0014355 | 0.2 | 0.00
|
||||
Modify | 66.819 | 66.828 | 66.837 | 0.1 | 79.17
|
||||
Other | | 0.2281 | | | 0.27
|
||||
|
||||
Nlocal: 26.25 ave 31 max 22 min
|
||||
Histogram: 1 0 1 0 0 0 1 0 0 1
|
||||
|
@ -278,4 +290,4 @@ Ave special neighs/atom = 2
|
|||
Neighbor list builds = 20428
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:01:34
|
||||
Total wall time: 0:01:24
|
|
@ -1,4 +1,4 @@
|
|||
LAMMPS (6 Jul 2017)
|
||||
LAMMPS (23 Oct 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# GCMC for LJ simple fluid, no dynamics
|
||||
# T = 2.0
|
||||
|
@ -43,6 +43,13 @@ fix mygcmc all gcmc 1 100 100 1 29494 2.0 ${mu} ${disp}
|
|||
fix mygcmc all gcmc 1 100 100 1 29494 2.0 -1.25 ${disp}
|
||||
fix mygcmc all gcmc 1 100 100 1 29494 2.0 -1.25 1.0
|
||||
|
||||
# atom count
|
||||
|
||||
variable type1 atom "type==1"
|
||||
group type1 dynamic all var type1
|
||||
dynamic group type1 defined
|
||||
variable n1 equal count(type1)
|
||||
|
||||
# averaging
|
||||
|
||||
variable rho equal density
|
||||
|
@ -54,10 +61,11 @@ variable muex equal -1.25-${temp}*ln(density*${lambda}+${nugget})
|
|||
variable muex equal -1.25-2.0*ln(density*${lambda}+${nugget})
|
||||
variable muex equal -1.25-2.0*ln(density*1+${nugget})
|
||||
variable muex equal -1.25-2.0*ln(density*1+1e-08)
|
||||
fix ave all ave/time 10 100 1000 v_rho v_p v_muex ave one file rho_vs_p.dat
|
||||
fix ave all ave/time 10 100 1000 v_rho v_p v_muex v_n1 ave one file rho_vs_p.dat
|
||||
variable rhoav equal f_ave[1]
|
||||
variable pav equal f_ave[2]
|
||||
variable muexav equal f_ave[3]
|
||||
variable n1av equal f_ave[4]
|
||||
|
||||
# output
|
||||
|
||||
|
@ -68,7 +76,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+1e-08)
|
|||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+${nugget})
|
||||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+1e-08)
|
||||
compute_modify thermo_temp dynamic yes
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av
|
||||
thermo 1000
|
||||
|
||||
# run
|
||||
|
@ -87,32 +95,32 @@ Neighbor list info ...
|
|||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 0.433 | 0.433 | 0.433 Mbytes
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav
|
||||
0 0 0 0 -0 0 0 0 0 0 0 0 0
|
||||
1000 2.4038954 2.1735585 -2.7041368 3.5476844 0.496 62 0.064790036 0.06313096 0.1081294 0.54304 1.4513524 -0.025479219
|
||||
2000 2.0461168 1.1913842 -2.9880181 3.0212194 0.512 64 0.067416408 0.066335853 0.11306166 0.52736 1.3274665 0.034690004
|
||||
3000 1.7930436 1.3788681 -3.2212667 2.6505861 0.552 69 0.067733191 0.066877836 0.1133516 0.5344 1.3834744 0.0070582537
|
||||
4000 1.981449 1.2541054 -2.8222868 2.9217977 0.472 59 0.068546991 0.067856412 0.11442807 0.52504 1.3815629 0.043309657
|
||||
5000 2.0946818 1.0701629 -3.5213291 3.0977688 0.568 71 0.06813743 0.067567891 0.11342906 0.53824 1.4049567 -0.0054539777
|
||||
6000 1.9793484 0.68224187 -3.410211 2.9247088 0.536 67 0.067797628 0.067420108 0.11295333 0.5384 1.401683 -0.0066894359
|
||||
7000 2.1885798 1.6745012 -3.185499 3.2345922 0.544 68 0.068630201 0.068261832 0.11403705 0.5244 1.449239 0.045987399
|
||||
8000 2.2175324 1.5897263 -3.078898 3.2759002 0.528 66 0.068180395 0.067899629 0.11332691 0.53928 1.5488388 -0.01075766
|
||||
9000 1.8610779 1.0396231 -2.923262 2.7465908 0.496 62 0.068346453 0.068028117 0.1134132 0.52912 1.4352871 0.027082544
|
||||
10000 2.1079271 1.1746643 -2.9112062 3.1091925 0.48 60 0.068352878 0.068054948 0.11335434 0.5316 1.4462327 0.018503094
|
||||
Loop time of 20.6892 on 1 procs for 10000 steps with 60 atoms
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av
|
||||
0 0 0 0 -0 0 0 0 0 0 0 0 0 0
|
||||
1000 2.4038954 2.1735585 -2.7041368 3.5476844 0.496 62 0.064790036 0.06313096 0.1081294 0.54304 1.4513524 -0.025479219 64.98
|
||||
2000 2.0461168 1.1913842 -2.9880181 3.0212194 0.512 64 0.067416408 0.066335853 0.11306166 0.52736 1.3274665 0.034690004 62.97
|
||||
3000 1.7930436 1.3788681 -3.2212667 2.6505861 0.552 69 0.067733191 0.066877836 0.1133516 0.5344 1.3834744 0.0070582537 63.5
|
||||
4000 1.981449 1.2541054 -2.8222868 2.9217977 0.472 59 0.068546991 0.067856412 0.11442807 0.52504 1.3815629 0.043309657 62.17
|
||||
5000 2.0946818 1.0701629 -3.5213291 3.0977688 0.568 71 0.06813743 0.067567891 0.11342906 0.53824 1.4049567 -0.0054539777 64.15
|
||||
6000 1.9793484 0.68224187 -3.410211 2.9247088 0.536 67 0.067797628 0.067420108 0.11295333 0.5384 1.401683 -0.0066894359 64.37
|
||||
7000 2.1885798 1.6745012 -3.185499 3.2345922 0.544 68 0.068630201 0.068261832 0.11403705 0.5244 1.449239 0.045987399 62.33
|
||||
8000 2.2175324 1.5897263 -3.078898 3.2759002 0.528 66 0.068180395 0.067899629 0.11332691 0.53928 1.5488388 -0.01075766 64.29
|
||||
9000 1.8610779 1.0396231 -2.923262 2.7465908 0.496 62 0.068346453 0.068028117 0.1134132 0.52912 1.4352871 0.027082544 62.87
|
||||
10000 2.1079271 1.1746643 -2.9112062 3.1091925 0.48 60 0.068352878 0.068054948 0.11335434 0.5316 1.4462327 0.018503094 63.2
|
||||
Loop time of 20.4081 on 1 procs for 10000 steps with 60 atoms
|
||||
|
||||
Performance: 208804.611 tau/day, 483.344 timesteps/s
|
||||
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
Performance: 211680.375 tau/day, 490.001 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 | 0.47227 | 0.47227 | 0.47227 | 0.0 | 2.28
|
||||
Neigh | 1.1729 | 1.1729 | 1.1729 | 0.0 | 5.67
|
||||
Comm | 0.17133 | 0.17133 | 0.17133 | 0.0 | 0.83
|
||||
Output | 0.00028253 | 0.00028253 | 0.00028253 | 0.0 | 0.00
|
||||
Modify | 18.852 | 18.852 | 18.852 | 0.0 | 91.12
|
||||
Other | | 0.02063 | | | 0.10
|
||||
Pair | 0.46484 | 0.46484 | 0.46484 | 0.0 | 2.28
|
||||
Neigh | 1.1447 | 1.1447 | 1.1447 | 0.0 | 5.61
|
||||
Comm | 0.1696 | 0.1696 | 0.1696 | 0.0 | 0.83
|
||||
Output | 0.000319 | 0.000319 | 0.000319 | 0.0 | 0.00
|
||||
Modify | 18.607 | 18.607 | 18.607 | 0.0 | 91.17
|
||||
Other | | 0.02194 | | | 0.11
|
||||
|
||||
Nlocal: 60 ave 60 max 60 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
@ -1,4 +1,4 @@
|
|||
LAMMPS (6 Jul 2017)
|
||||
LAMMPS (23 Oct 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# GCMC for LJ simple fluid, no dynamics
|
||||
# T = 2.0
|
||||
|
@ -43,6 +43,13 @@ fix mygcmc all gcmc 1 100 100 1 29494 2.0 ${mu} ${disp}
|
|||
fix mygcmc all gcmc 1 100 100 1 29494 2.0 -1.25 ${disp}
|
||||
fix mygcmc all gcmc 1 100 100 1 29494 2.0 -1.25 1.0
|
||||
|
||||
# atom count
|
||||
|
||||
variable type1 atom "type==1"
|
||||
group type1 dynamic all var type1
|
||||
dynamic group type1 defined
|
||||
variable n1 equal count(type1)
|
||||
|
||||
# averaging
|
||||
|
||||
variable rho equal density
|
||||
|
@ -54,10 +61,11 @@ variable muex equal -1.25-${temp}*ln(density*${lambda}+${nugget})
|
|||
variable muex equal -1.25-2.0*ln(density*${lambda}+${nugget})
|
||||
variable muex equal -1.25-2.0*ln(density*1+${nugget})
|
||||
variable muex equal -1.25-2.0*ln(density*1+1e-08)
|
||||
fix ave all ave/time 10 100 1000 v_rho v_p v_muex ave one file rho_vs_p.dat
|
||||
fix ave all ave/time 10 100 1000 v_rho v_p v_muex v_n1 ave one file rho_vs_p.dat
|
||||
variable rhoav equal f_ave[1]
|
||||
variable pav equal f_ave[2]
|
||||
variable muexav equal f_ave[3]
|
||||
variable n1av equal f_ave[4]
|
||||
|
||||
# output
|
||||
|
||||
|
@ -68,7 +76,7 @@ variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+1e-08)
|
|||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+${nugget})
|
||||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+1e-08)
|
||||
compute_modify thermo_temp dynamic yes
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav
|
||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av
|
||||
thermo 1000
|
||||
|
||||
# run
|
||||
|
@ -87,32 +95,32 @@ Neighbor list info ...
|
|||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 0.4477 | 0.4477 | 0.4477 Mbytes
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav
|
||||
0 0 0 0 -0 0 0 0 0 0 0 0 0
|
||||
1000 1.956397 1.7699101 -2.7889468 2.8864874 0.488 61 0.068894746 0.067229075 0.1141726 0.53288 1.3832798 0.013392866
|
||||
2000 2.040943 0.56060899 -2.8001647 3.0077055 0.456 57 0.069858594 0.068831934 0.11629114 0.5232 1.3587174 0.049995794
|
||||
3000 2.0004866 1.5736515 -3.3098044 2.9572411 0.552 69 0.069594029 0.068727791 0.11592543 0.53096 1.4129434 0.020022578
|
||||
4000 2.1127942 2.642809 -2.8865084 3.1211733 0.528 66 0.070268697 0.069533235 0.11693806 0.52424 1.3444615 0.046884078
|
||||
5000 2.3663648 1.354269 -3.1917346 3.4957662 0.528 66 0.070519633 0.069960064 0.11710321 0.52688 1.3595814 0.036270867
|
||||
6000 1.9224136 0.82756699 -3.1965 2.839257 0.52 65 0.06985018 0.069474645 0.11628632 0.536 1.47062 0.00141549
|
||||
7000 2.0266192 1.5593811 -2.9972341 2.9931606 0.52 65 0.070244693 0.069880791 0.11666541 0.52528 1.3246332 0.040754793
|
||||
8000 1.7790467 1.8680568 -2.8028819 2.6275151 0.52 65 0.070454494 0.070172368 0.11736806 0.524 1.4213649 0.047985191
|
||||
9000 1.7968847 1.3195587 -3.261001 2.6550983 0.536 67 0.069952011 0.069618327 0.11650087 0.53904 1.4624201 -0.01069837
|
||||
10000 2.1566109 1.1015729 -3.4999837 3.1880335 0.552 69 0.069603309 0.069284134 0.11625548 0.53128 1.3587249 0.02075238
|
||||
Loop time of 24.9916 on 4 procs for 10000 steps with 69 atoms
|
||||
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av
|
||||
0 0 0 0 -0 0 0 0 0 0 0 0 0 0
|
||||
1000 1.956397 1.7699101 -2.7889468 2.8864874 0.488 61 0.068894746 0.067229075 0.1141726 0.53288 1.3832798 0.013392866 63.44
|
||||
2000 2.040943 0.56060899 -2.8001647 3.0077055 0.456 57 0.069858594 0.068831934 0.11629114 0.5232 1.3587174 0.049995794 62.19
|
||||
3000 2.0004866 1.5736515 -3.3098044 2.9572411 0.552 69 0.069594029 0.068727791 0.11592543 0.53096 1.4129434 0.020022578 63.23
|
||||
4000 2.1127942 2.642809 -2.8865084 3.1211733 0.528 66 0.070268697 0.069533235 0.11693806 0.52424 1.3444615 0.046884078 62.57
|
||||
5000 2.3663648 1.354269 -3.1917346 3.4957662 0.528 66 0.070519633 0.069960064 0.11710321 0.52688 1.3595814 0.036270867 62.56
|
||||
6000 1.9224136 0.82756699 -3.1965 2.839257 0.52 65 0.06985018 0.069474645 0.11628632 0.536 1.47062 0.00141549 63.76
|
||||
7000 2.0266192 1.5593811 -2.9972341 2.9931606 0.52 65 0.070244693 0.069880791 0.11666541 0.52528 1.3246332 0.040754793 62.2
|
||||
8000 1.7790467 1.8680568 -2.8028819 2.6275151 0.52 65 0.070454494 0.070172368 0.11736806 0.524 1.4213649 0.047985191 62.03
|
||||
9000 1.7968847 1.3195587 -3.261001 2.6550983 0.536 67 0.069952011 0.069618327 0.11650087 0.53904 1.4624201 -0.01069837 64.36
|
||||
10000 2.1566109 1.1015729 -3.4999837 3.1880335 0.552 69 0.069603309 0.069284134 0.11625548 0.53128 1.3587249 0.02075238 63.24
|
||||
Loop time of 23.8213 on 4 procs for 10000 steps with 69 atoms
|
||||
|
||||
Performance: 172857.936 tau/day, 400.134 timesteps/s
|
||||
98.2% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
Performance: 181350.388 tau/day, 419.793 timesteps/s
|
||||
97.6% 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.11696 | 0.12516 | 0.1321 | 1.7 | 0.50
|
||||
Neigh | 0.34874 | 0.35644 | 0.36545 | 1.2 | 1.43
|
||||
Comm | 0.48531 | 0.51366 | 0.54755 | 3.8 | 2.06
|
||||
Output | 0.0005362 | 0.00069767 | 0.00076008 | 0.0 | 0.00
|
||||
Modify | 23.956 | 23.972 | 23.988 | 0.3 | 95.92
|
||||
Other | | 0.02376 | | | 0.10
|
||||
Pair | 0.10935 | 0.11844 | 0.12741 | 2.1 | 0.50
|
||||
Neigh | 0.33 | 0.33945 | 0.35091 | 1.6 | 1.42
|
||||
Comm | 0.49249 | 0.51745 | 0.53856 | 2.7 | 2.17
|
||||
Output | 0.00053334 | 0.0007208 | 0.0007906 | 0.0 | 0.00
|
||||
Modify | 22.82 | 22.822 | 22.825 | 0.0 | 95.81
|
||||
Other | | 0.02289 | | | 0.10
|
||||
|
||||
Nlocal: 17.25 ave 23 max 10 min
|
||||
Histogram: 1 0 0 0 0 0 2 0 0 1
|
||||
|
@ -125,4 +133,4 @@ Total # of neighbors = 2823
|
|||
Ave neighs/atom = 40.913
|
||||
Neighbor list builds = 10000
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:24
|
||||
Total wall time: 0:00:23
|
|
@ -356,7 +356,7 @@ DenseMatrix<T> Matrix<T>::pow(double n) const
|
|||
int sz=this->size(); for(INDEX i=0; i<sz; i++)
|
||||
{
|
||||
double val = R[i];
|
||||
R[i] = pow(val,n);
|
||||
R[i] = std::pow(val,n);
|
||||
}
|
||||
return R;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,109 @@
|
|||
# DATE: 2017-11-28 CONTRIBUTOR: J.H. Los, J.M.H. Kroes CITATION: Los et al. Phys. Rev. B 96, 184108 (2017)
|
||||
|
||||
# B and N mixture, parameterized for ExTeP potential
|
||||
|
||||
# ExTeP parameters for various elements and mixtures
|
||||
# multiple entries can be added to this file, LAMMPS reads the ones it needs
|
||||
# these entries are in LAMMPS "metal" units:
|
||||
# A,B = eV; lambda1,lambda2,lambda3 = 1/Angstroms; R,D = Angstroms
|
||||
# other quantities are unitless
|
||||
|
||||
# format of a single entry (one or more lines):
|
||||
#I J K m, gamma*, lambda3, c, d, h, n, gamma, lambda2, B, R, D, lambda1, A
|
||||
B B B 3 1.0 0.0 26617.3000 141.2000 -0.1300 1.1422470 0.01498959 2.5211820 2768.7363631 2.0 0.2 2.6857244 3376.3350735
|
||||
N N N 3 1.0 0.0 23.5000 3.7500 -0.4000 0.6650000 0.01925100 2.6272721 2563.5603417 2.0 0.2 2.8293093 2978.9527928
|
||||
B B N 3 1.0 0.0 26617.3000 141.2000 -0.1300 1.1422470 0.01498959 2.5211820 2768.7363631 2.0 0.2 2.6857244 3376.3350735
|
||||
N N B 3 1.0 0.0 23.5000 3.7500 -0.4000 0.6650000 0.01925100 2.6272721 2563.5603417 2.0 0.2 2.8293093 2978.9527928
|
||||
B N B 3 1.0 0.0d0 306.586555205d0 10.d0 -0.7218d0 0.6576543657d0 0.0027024851d0 2.69335d0 2595.6860833266d0 2.d0 0.2d0 2.95d0 3330.0655849887d0
|
||||
B N N 3 1.0 0.0d0 306.586555205d0 10.d0 -0.7218d0 0.6576543657d0 0.0027024851d0 2.69335d0 2595.6860833266d0 2.d0 0.2d0 2.95d0 3330.0655849887d0
|
||||
N B B 3 1.0 0.0d0 306.586555205d0 10.d0 -0.7218d0 0.6576543657d0 0.0027024851d0 2.69335d0 2595.6860833266d0 2.d0 0.2d0 2.95d0 3330.0655849887d0
|
||||
N B N 3 1.0 0.0d0 306.586555205d0 10.d0 -0.7218d0 0.6576543657d0 0.0027024851d0 2.69335d0 2595.6860833266d0 2.d0 0.2d0 2.95d0 3330.0655849887d0
|
||||
#
|
||||
# 1.9925 Bicubic Splines Parameters
|
||||
#
|
||||
# F_corr [ B, B]
|
||||
#
|
||||
#t1 t2 i j val dx dy dxy
|
||||
B B 0 0 0.0000 0.0000 0.0000 0.0000
|
||||
B B 0 1 0.0054 0.0000 0.0000 0.0000
|
||||
B B 0 2 0.0182 0.0000 0.0000 0.0000
|
||||
B B 0 3 -0.0034 0.0000 0.0000 0.0000
|
||||
B B 0 4 -0.0034 0.0000 0.0000 0.0000
|
||||
B B 1 0 0.0054 0.0000 0.0000 0.0000
|
||||
B B 1 1 0.0100 0.0000 0.0000 0.0000
|
||||
B B 1 2 0.0062 0.0000 0.0000 0.0000
|
||||
B B 1 3 0.0154 0.0000 0.0000 0.0000
|
||||
B B 1 4 0.0154 0.0000 0.0000 0.0000
|
||||
B B 2 0 0.0182 0.0000 0.0000 0.0000
|
||||
B B 2 1 0.0062 0.0000 0.0000 0.0000
|
||||
B B 2 2 0.0154 0.0000 0.0000 0.0000
|
||||
B B 2 3 -0.0390 0.0000 -0.0727 0.0000
|
||||
B B 2 4 -0.0390 0.0000 -0.0727 0.0000
|
||||
B B 3 0 -0.0034 0.0000 0.0000 0.0000
|
||||
B B 3 1 0.0154 0.0000 0.0000 0.0000
|
||||
B B 3 2 -0.0390 -0.0727 0.0000 0.0000
|
||||
B B 3 3 -0.1300 0.0000 0.0000 0.0000
|
||||
B B 3 4 -0.1300 0.0000 0.0000 0.0000
|
||||
B B 4 0 -0.0034 0.0000 0.0000 0.0000
|
||||
B B 4 1 0.0154 0.0000 0.0000 0.0000
|
||||
B B 4 2 -0.0390 -0.0727 0.0000 0.0000
|
||||
B B 4 3 -0.1300 0.0000 0.0000 0.0000
|
||||
B B 4 4 -0.1300 0.0000 0.0000 0.0000
|
||||
#
|
||||
# F_corr [ B, N]
|
||||
#
|
||||
#t1 t2 i j val dx dy dxy
|
||||
B N 0 0 0.0170 0.0000 0.0000 0.0000
|
||||
B N 0 1 0.0078 0.0000 0.0000 0.0000
|
||||
B N 0 2 0.0000 0.0000 0.0000 0.0000
|
||||
B N 0 3 -0.0860 0.0000 0.0000 0.0000
|
||||
B N 0 4 -0.0860 0.0000 0.0000 0.0000
|
||||
B N 1 0 -0.0090 0.0000 0.0000 0.0000
|
||||
B N 1 1 0.0090 0.0000 0.0000 0.0000
|
||||
B N 1 2 -0.0068 0.0000 -0.0214 0.0000
|
||||
B N 1 3 -0.0338 0.0000 0.0388 0.0000
|
||||
B N 1 4 -0.0338 0.0000 0.0388 0.0000
|
||||
B N 2 0 0.0000 0.0000 0.0000 0.0000
|
||||
B N 2 1 -0.0198 0.0000 0.0000 0.0000
|
||||
B N 2 2 0.0000 0.0000 0.0000 0.0000
|
||||
B N 2 3 -0.0084 0.0000 0.0169 0.0000
|
||||
B N 2 4 -0.0084 0.0000 0.0169 0.0000
|
||||
B N 3 0 -0.0750 0.0000 0.0000 0.0000
|
||||
B N 3 1 -0.0168 0.0306 0.0000 0.0000
|
||||
B N 3 2 -0.0138 0.0084 0.0000 0.0000
|
||||
B N 3 3 0.0000 0.0000 0.0000 0.0000
|
||||
B N 3 4 0.0000 0.0000 0.0000 0.0000
|
||||
B N 4 0 -0.0750 0.0000 0.0000 0.0000
|
||||
B N 4 1 -0.0168 0.0306 0.0000 0.0000
|
||||
B N 4 2 -0.0138 0.0084 0.0000 0.0000
|
||||
B N 4 3 0.0000 0.0000 0.0000 0.0000
|
||||
B N 4 4 0.0000 0.0000 0.0000 0.0000
|
||||
#
|
||||
# F_corr [ N, N]
|
||||
#
|
||||
#t1 t2 i j val dx dy dxy
|
||||
N N 0 0 0.0000 0.0000 0.0000 0.0000
|
||||
N N 0 1 -0.0282 0.0000 0.0000 0.0000
|
||||
N N 0 2 -0.0018 0.0000 0.0000 0.0000
|
||||
N N 0 3 -0.0004 0.0000 0.0000 0.0000
|
||||
N N 0 4 -0.0004 0.0000 0.0000 0.0000
|
||||
N N 1 0 -0.0282 0.0000 0.0000 0.0000
|
||||
N N 1 1 0.0200 0.0000 0.0000 0.0000
|
||||
N N 1 2 0.0180 0.0162 -0.0027 0.0000
|
||||
N N 1 3 0.0146 0.0000 0.0000 0.0000
|
||||
N N 1 4 0.0146 0.0000 0.0000 0.0000
|
||||
N N 2 0 -0.0018 0.0000 0.0000 0.0000
|
||||
N N 2 1 0.0180 -0.0027 0.0162 0.0000
|
||||
N N 2 2 0.0306 0.0000 0.0000 0.0000
|
||||
N N 2 3 0.0060 0.0000 -0.0073 0.0000
|
||||
N N 2 4 0.0060 0.0000 -0.0073 0.0000
|
||||
N N 3 0 -0.0004 0.0000 0.0000 0.0000
|
||||
N N 3 1 0.0146 0.0000 0.0000 0.0000
|
||||
N N 3 2 0.0060 -0.0073 0.0000 0.0000
|
||||
N N 3 3 0.0000 0.0000 0.0000 0.0000
|
||||
N N 3 4 0.0000 0.0000 0.0000 0.0000
|
||||
N N 4 0 -0.0004 0.0000 0.0000 0.0000
|
||||
N N 4 1 0.0146 0.0000 0.0000 0.0000
|
||||
N N 4 2 0.0060 -0.0073 0.0000 0.0000
|
||||
N N 4 3 0.0000 0.0000 0.0000 0.0000
|
||||
N N 4 4 0.0000 0.0000 0.0000 0.0000
|
|
@ -619,6 +619,30 @@ class Atom2D(Atom):
|
|||
self.lmp.eval("fy[%d]" % self.index))
|
||||
|
||||
|
||||
class variable_set:
|
||||
def __init__(self, name, variable_dict):
|
||||
self._name = name
|
||||
array_pattern = re.compile(r"(?P<arr>.+)\[(?P<index>[0-9]+)\]")
|
||||
|
||||
for key, value in variable_dict.items():
|
||||
m = array_pattern.match(key)
|
||||
if m:
|
||||
g = m.groupdict()
|
||||
varname = g['arr']
|
||||
idx = int(g['index'])
|
||||
if varname not in self.__dict__:
|
||||
self.__dict__[varname] = {}
|
||||
self.__dict__[varname][idx] = value
|
||||
else:
|
||||
self.__dict__[key] = value
|
||||
|
||||
def __str__(self):
|
||||
return "{}({})".format(self._name, ','.join(["{}={}".format(k, self.__dict__[k]) for k in self.__dict__.keys() if not k.startswith('_')]))
|
||||
|
||||
def __repr__(self):
|
||||
return self.__str__()
|
||||
|
||||
|
||||
def get_thermo_data(output):
|
||||
""" traverse output of runs and extract thermo data columns """
|
||||
if isinstance(output, str):
|
||||
|
@ -646,7 +670,7 @@ def get_thermo_data(output):
|
|||
elif line.startswith("Loop time of "):
|
||||
in_run = False
|
||||
columns = None
|
||||
thermo_data = namedtuple('ThermoData', list(current_run.keys()))(*list(current_run.values()))
|
||||
thermo_data = variable_set('ThermoData', current_run)
|
||||
r = {'thermo' : thermo_data }
|
||||
runs.append(namedtuple('Run', list(r.keys()))(*list(r.values())))
|
||||
elif in_run and len(columns) > 0:
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
/kokkos.h
|
||||
/kokkos_type.h
|
||||
/kokkos_few.h
|
||||
/kokkos_base.h
|
||||
|
||||
/manifold*.cpp
|
||||
/manifold*.h
|
||||
|
@ -1085,10 +1086,16 @@
|
|||
/pair_born_coul_long_cs.h
|
||||
/pair_born_coul_dsf_cs.cpp
|
||||
/pair_born_coul_dsf_cs.h
|
||||
/pair_born_coul_wolf_cs.cpp
|
||||
/pair_born_coul_wolf_cs.h
|
||||
/pair_buck_coul_long_cs.cpp
|
||||
/pair_buck_coul_long_cs.h
|
||||
/pair_coul_long_cs.cpp
|
||||
/pair_coul_long_cs.h
|
||||
/pair_coul_wolf_cs.cpp
|
||||
/pair_coul_wolf_cs.h
|
||||
/pair_extep.cpp
|
||||
/pair_extep.h
|
||||
/pair_lj_cut_thole_long.cpp
|
||||
/pair_lj_cut_thole_long.h
|
||||
/pair_plum_hb.cpp
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include "error.h"
|
||||
#include "neigh_request.h"
|
||||
#include "gpu_extra.h"
|
||||
#include "domain.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include "error.h"
|
||||
#include "neigh_request.h"
|
||||
#include "gpu_extra.h"
|
||||
#include "domain.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "error.h"
|
||||
#include "neighbor.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace FixConst;
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "error.h"
|
||||
#include "comm.h"
|
||||
#include "neighbor.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace FixConst;
|
||||
|
|
|
@ -28,8 +28,20 @@ action () {
|
|||
|
||||
# force rebuild of files with LMP_KOKKOS switch
|
||||
|
||||
touch ../accelerator_kokkos.h
|
||||
touch ../memory.h
|
||||
KOKKOS_INSTALLED=0
|
||||
if (test -e ../Makefile.package) then
|
||||
KOKKOS_INSTALLED=`grep DLMP_KOKKOS ../Makefile.package | wc -l`
|
||||
fi
|
||||
|
||||
if (test $mode = 1) then
|
||||
if (test $KOKKOS_INSTALLED = 0) then
|
||||
touch ../accelerator_kokkos.h
|
||||
fi
|
||||
elif (test $mode = 0) then
|
||||
if (test $KOKKOS_INSTALLED = 1) then
|
||||
touch ../accelerator_kokkos.h
|
||||
fi
|
||||
fi
|
||||
|
||||
# list of files with optional dependcies
|
||||
|
||||
|
@ -125,8 +137,9 @@ action improper_harmonic_kokkos.cpp improper_harmonic.cpp
|
|||
action improper_harmonic_kokkos.h improper_harmonic.h
|
||||
action kokkos.cpp
|
||||
action kokkos.h
|
||||
action kokkos_type.h
|
||||
action kokkos_base.h
|
||||
action kokkos_few.h
|
||||
action kokkos_type.h
|
||||
action memory_kokkos.h
|
||||
action modify_kokkos.cpp
|
||||
action modify_kokkos.h
|
||||
|
@ -229,6 +242,8 @@ action pair_tersoff_mod_kokkos.cpp pair_tersoff_mod.cpp
|
|||
action pair_tersoff_mod_kokkos.h pair_tersoff_mod.h
|
||||
action pair_tersoff_zbl_kokkos.cpp pair_tersoff_zbl.cpp
|
||||
action pair_tersoff_zbl_kokkos.h pair_tersoff_zbl.h
|
||||
action pair_yukawa_kokkos.cpp
|
||||
action pair_yukawa_kokkos.h
|
||||
action pppm_kokkos.cpp pppm.cpp
|
||||
action pppm_kokkos.h pppm.h
|
||||
action rand_pool_wrap_kokkos.cpp
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "comm.h"
|
||||
#include "force.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -51,8 +51,8 @@ template<class DeviceType>
|
|||
AngleCharmmKokkos<DeviceType>::~AngleCharmmKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -71,15 +71,15 @@ void AngleCharmmKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
|
||||
if (eflag_atom) {
|
||||
//if(k_eatom.dimension_0()<maxeatom) { // won't work without adding zero functor
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"improper:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"improper:eatom");
|
||||
d_eatom = k_eatom.template view<DeviceType>();
|
||||
//}
|
||||
}
|
||||
if (vflag_atom) {
|
||||
//if(k_vatom.dimension_0()<maxvatom) { // won't work without adding zero functor
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"improper:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"improper:vatom");
|
||||
d_vatom = k_vatom.template view<DeviceType>();
|
||||
//}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "comm.h"
|
||||
#include "force.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -51,8 +51,8 @@ template<class DeviceType>
|
|||
AngleClass2Kokkos<DeviceType>::~AngleClass2Kokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -70,13 +70,13 @@ void AngleClass2Kokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"angle:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"angle:eatom");
|
||||
d_eatom = k_eatom.template view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"angle:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"angle:vatom");
|
||||
d_vatom = k_vatom.template view<DeviceType>();
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "comm.h"
|
||||
#include "force.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -51,8 +51,8 @@ template<class DeviceType>
|
|||
AngleHarmonicKokkos<DeviceType>::~AngleHarmonicKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -70,13 +70,13 @@ void AngleHarmonicKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"angle:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"angle:eatom");
|
||||
d_eatom = k_eatom.template view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"angle:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"angle:vatom");
|
||||
d_vatom = k_vatom.template view<DeviceType>();
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "update.h"
|
||||
#include "domain.h"
|
||||
#include "atom_masks.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "kokkos.h"
|
||||
|
||||
|
@ -33,59 +33,59 @@ AtomKokkos::AtomKokkos(LAMMPS *lmp) : Atom(lmp) {}
|
|||
|
||||
AtomKokkos::~AtomKokkos()
|
||||
{
|
||||
memory->destroy_kokkos(k_tag, tag);
|
||||
memory->destroy_kokkos(k_mask, mask);
|
||||
memory->destroy_kokkos(k_type, type);
|
||||
memory->destroy_kokkos(k_image, image);
|
||||
memory->destroy_kokkos(k_molecule, molecule);
|
||||
memoryKK->destroy_kokkos(k_tag, tag);
|
||||
memoryKK->destroy_kokkos(k_mask, mask);
|
||||
memoryKK->destroy_kokkos(k_type, type);
|
||||
memoryKK->destroy_kokkos(k_image, image);
|
||||
memoryKK->destroy_kokkos(k_molecule, molecule);
|
||||
|
||||
memory->destroy_kokkos(k_x, x);
|
||||
memory->destroy_kokkos(k_v, v);
|
||||
memory->destroy_kokkos(k_f, f);
|
||||
memoryKK->destroy_kokkos(k_x, x);
|
||||
memoryKK->destroy_kokkos(k_v, v);
|
||||
memoryKK->destroy_kokkos(k_f, f);
|
||||
|
||||
memory->destroy_kokkos(k_mass, mass);
|
||||
memory->destroy_kokkos(k_q, q);
|
||||
memoryKK->destroy_kokkos(k_mass, mass);
|
||||
memoryKK->destroy_kokkos(k_q, q);
|
||||
|
||||
memory->destroy_kokkos(k_radius, radius);
|
||||
memory->destroy_kokkos(k_rmass, rmass);
|
||||
memory->destroy_kokkos(k_omega, omega);
|
||||
memory->destroy_kokkos(k_angmom, angmom);
|
||||
memory->destroy_kokkos(k_torque, torque);
|
||||
memoryKK->destroy_kokkos(k_radius, radius);
|
||||
memoryKK->destroy_kokkos(k_rmass, rmass);
|
||||
memoryKK->destroy_kokkos(k_omega, omega);
|
||||
memoryKK->destroy_kokkos(k_angmom, angmom);
|
||||
memoryKK->destroy_kokkos(k_torque, torque);
|
||||
|
||||
memory->destroy_kokkos(k_nspecial, nspecial);
|
||||
memory->destroy_kokkos(k_special, special);
|
||||
memory->destroy_kokkos(k_num_bond, num_bond);
|
||||
memory->destroy_kokkos(k_bond_type, bond_type);
|
||||
memory->destroy_kokkos(k_bond_atom, bond_atom);
|
||||
memory->destroy_kokkos(k_num_angle, num_angle);
|
||||
memory->destroy_kokkos(k_angle_type, angle_type);
|
||||
memory->destroy_kokkos(k_angle_atom1, angle_atom1);
|
||||
memory->destroy_kokkos(k_angle_atom2, angle_atom2);
|
||||
memory->destroy_kokkos(k_angle_atom3, angle_atom3);
|
||||
memory->destroy_kokkos(k_num_dihedral, num_dihedral);
|
||||
memory->destroy_kokkos(k_dihedral_type, dihedral_type);
|
||||
memory->destroy_kokkos(k_dihedral_atom1, dihedral_atom1);
|
||||
memory->destroy_kokkos(k_dihedral_atom2, dihedral_atom2);
|
||||
memory->destroy_kokkos(k_dihedral_atom3, dihedral_atom3);
|
||||
memory->destroy_kokkos(k_dihedral_atom4, dihedral_atom4);
|
||||
memory->destroy_kokkos(k_num_improper, num_improper);
|
||||
memory->destroy_kokkos(k_improper_type, improper_type);
|
||||
memory->destroy_kokkos(k_improper_atom1, improper_atom1);
|
||||
memory->destroy_kokkos(k_improper_atom2, improper_atom2);
|
||||
memory->destroy_kokkos(k_improper_atom3, improper_atom3);
|
||||
memory->destroy_kokkos(k_improper_atom4, improper_atom4);
|
||||
memoryKK->destroy_kokkos(k_nspecial, nspecial);
|
||||
memoryKK->destroy_kokkos(k_special, special);
|
||||
memoryKK->destroy_kokkos(k_num_bond, num_bond);
|
||||
memoryKK->destroy_kokkos(k_bond_type, bond_type);
|
||||
memoryKK->destroy_kokkos(k_bond_atom, bond_atom);
|
||||
memoryKK->destroy_kokkos(k_num_angle, num_angle);
|
||||
memoryKK->destroy_kokkos(k_angle_type, angle_type);
|
||||
memoryKK->destroy_kokkos(k_angle_atom1, angle_atom1);
|
||||
memoryKK->destroy_kokkos(k_angle_atom2, angle_atom2);
|
||||
memoryKK->destroy_kokkos(k_angle_atom3, angle_atom3);
|
||||
memoryKK->destroy_kokkos(k_num_dihedral, num_dihedral);
|
||||
memoryKK->destroy_kokkos(k_dihedral_type, dihedral_type);
|
||||
memoryKK->destroy_kokkos(k_dihedral_atom1, dihedral_atom1);
|
||||
memoryKK->destroy_kokkos(k_dihedral_atom2, dihedral_atom2);
|
||||
memoryKK->destroy_kokkos(k_dihedral_atom3, dihedral_atom3);
|
||||
memoryKK->destroy_kokkos(k_dihedral_atom4, dihedral_atom4);
|
||||
memoryKK->destroy_kokkos(k_num_improper, num_improper);
|
||||
memoryKK->destroy_kokkos(k_improper_type, improper_type);
|
||||
memoryKK->destroy_kokkos(k_improper_atom1, improper_atom1);
|
||||
memoryKK->destroy_kokkos(k_improper_atom2, improper_atom2);
|
||||
memoryKK->destroy_kokkos(k_improper_atom3, improper_atom3);
|
||||
memoryKK->destroy_kokkos(k_improper_atom4, improper_atom4);
|
||||
|
||||
// USER-DPD package
|
||||
memory->destroy_kokkos(k_uCond,uCond);
|
||||
memory->destroy_kokkos(k_uMech,uMech);
|
||||
memory->destroy_kokkos(k_uChem,uChem);
|
||||
memory->destroy_kokkos(k_uCG,uCG);
|
||||
memory->destroy_kokkos(k_uCGnew,uCGnew);
|
||||
memory->destroy_kokkos(k_rho,rho);
|
||||
memory->destroy_kokkos(k_dpdTheta,dpdTheta);
|
||||
memory->destroy_kokkos(k_duChem,duChem);
|
||||
memoryKK->destroy_kokkos(k_uCond,uCond);
|
||||
memoryKK->destroy_kokkos(k_uMech,uMech);
|
||||
memoryKK->destroy_kokkos(k_uChem,uChem);
|
||||
memoryKK->destroy_kokkos(k_uCG,uCG);
|
||||
memoryKK->destroy_kokkos(k_uCGnew,uCGnew);
|
||||
memoryKK->destroy_kokkos(k_rho,rho);
|
||||
memoryKK->destroy_kokkos(k_dpdTheta,dpdTheta);
|
||||
memoryKK->destroy_kokkos(k_duChem,duChem);
|
||||
|
||||
memory->destroy_kokkos(k_dvector,dvector);
|
||||
memoryKK->destroy_kokkos(k_dvector,dvector);
|
||||
dvector = NULL;
|
||||
}
|
||||
|
||||
|
@ -232,10 +232,10 @@ void AtomKokkos::sort()
|
|||
void AtomKokkos::grow(unsigned int mask){
|
||||
|
||||
if (mask & SPECIAL_MASK){
|
||||
memory->destroy_kokkos(k_special, special);
|
||||
memoryKK->destroy_kokkos(k_special, special);
|
||||
sync(Device, mask);
|
||||
modified(Device, mask);
|
||||
memory->grow_kokkos(k_special,special,nmax,maxspecial,"atom:special");
|
||||
memoryKK->grow_kokkos(k_special,special,nmax,maxspecial,"atom:special");
|
||||
avec->grow_reset();
|
||||
sync(Host, mask);
|
||||
}
|
||||
|
@ -270,7 +270,7 @@ int AtomKokkos::add_custom(const char *name, int flag)
|
|||
int n = strlen(name) + 1;
|
||||
dname[index] = new char[n];
|
||||
strcpy(dname[index],name);
|
||||
memory->grow_kokkos(k_dvector,dvector,ndvector,nmax,
|
||||
memoryKK->grow_kokkos(k_dvector,dvector,ndvector,nmax,
|
||||
"atom:dvector");
|
||||
}
|
||||
|
||||
|
@ -291,7 +291,7 @@ void AtomKokkos::remove_custom(int flag, int index)
|
|||
delete [] iname[index];
|
||||
iname[index] = NULL;
|
||||
} else {
|
||||
//memory->destroy_kokkos(dvector);
|
||||
//memoryKK->destroy_kokkos(dvector);
|
||||
dvector[index] = NULL;
|
||||
delete [] dname[index];
|
||||
dname[index] = NULL;
|
||||
|
@ -302,25 +302,25 @@ void AtomKokkos::remove_custom(int flag, int index)
|
|||
|
||||
void AtomKokkos::deallocate_topology()
|
||||
{
|
||||
memory->destroy_kokkos(k_bond_type, bond_type);
|
||||
memory->destroy_kokkos(k_bond_atom, bond_atom);
|
||||
memoryKK->destroy_kokkos(k_bond_type, bond_type);
|
||||
memoryKK->destroy_kokkos(k_bond_atom, bond_atom);
|
||||
|
||||
memory->destroy_kokkos(k_angle_type, angle_type);
|
||||
memory->destroy_kokkos(k_angle_atom1, angle_atom1);
|
||||
memory->destroy_kokkos(k_angle_atom2, angle_atom2);
|
||||
memory->destroy_kokkos(k_angle_atom3, angle_atom3);
|
||||
memoryKK->destroy_kokkos(k_angle_type, angle_type);
|
||||
memoryKK->destroy_kokkos(k_angle_atom1, angle_atom1);
|
||||
memoryKK->destroy_kokkos(k_angle_atom2, angle_atom2);
|
||||
memoryKK->destroy_kokkos(k_angle_atom3, angle_atom3);
|
||||
|
||||
memory->destroy_kokkos(k_dihedral_type, dihedral_type);
|
||||
memory->destroy_kokkos(k_dihedral_atom1, dihedral_atom1);
|
||||
memory->destroy_kokkos(k_dihedral_atom2, dihedral_atom2);
|
||||
memory->destroy_kokkos(k_dihedral_atom3, dihedral_atom3);
|
||||
memory->destroy_kokkos(k_dihedral_atom4, dihedral_atom4);
|
||||
memoryKK->destroy_kokkos(k_dihedral_type, dihedral_type);
|
||||
memoryKK->destroy_kokkos(k_dihedral_atom1, dihedral_atom1);
|
||||
memoryKK->destroy_kokkos(k_dihedral_atom2, dihedral_atom2);
|
||||
memoryKK->destroy_kokkos(k_dihedral_atom3, dihedral_atom3);
|
||||
memoryKK->destroy_kokkos(k_dihedral_atom4, dihedral_atom4);
|
||||
|
||||
memory->destroy_kokkos(k_improper_type, improper_type);
|
||||
memory->destroy_kokkos(k_improper_atom1, improper_atom1);
|
||||
memory->destroy_kokkos(k_improper_atom2, improper_atom2);
|
||||
memory->destroy_kokkos(k_improper_atom3, improper_atom3);
|
||||
memory->destroy_kokkos(k_improper_atom4, improper_atom4);
|
||||
memoryKK->destroy_kokkos(k_improper_type, improper_type);
|
||||
memoryKK->destroy_kokkos(k_improper_atom1, improper_atom1);
|
||||
memoryKK->destroy_kokkos(k_improper_atom2, improper_atom2);
|
||||
memoryKK->destroy_kokkos(k_improper_atom3, improper_atom3);
|
||||
memoryKK->destroy_kokkos(k_improper_atom4, improper_atom4);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "modify.h"
|
||||
#include "fix.h"
|
||||
#include "atom_masks.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
@ -68,33 +68,33 @@ void AtomVecAngleKokkos::grow(int n)
|
|||
sync(Device,ALL_MASK);
|
||||
modified(Device,ALL_MASK);
|
||||
|
||||
memory->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memory->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memory->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memory->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
memoryKK->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memoryKK->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memoryKK->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memoryKK->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memory->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memory->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
memoryKK->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memoryKK->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memoryKK->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_molecule,atomKK->molecule,nmax,"atom:molecule");
|
||||
memory->grow_kokkos(atomKK->k_nspecial,atomKK->nspecial,nmax,3,"atom:nspecial");
|
||||
memory->grow_kokkos(atomKK->k_special,atomKK->special,nmax,atomKK->maxspecial,
|
||||
memoryKK->grow_kokkos(atomKK->k_molecule,atomKK->molecule,nmax,"atom:molecule");
|
||||
memoryKK->grow_kokkos(atomKK->k_nspecial,atomKK->nspecial,nmax,3,"atom:nspecial");
|
||||
memoryKK->grow_kokkos(atomKK->k_special,atomKK->special,nmax,atomKK->maxspecial,
|
||||
"atom:special");
|
||||
memory->grow_kokkos(atomKK->k_num_bond,atomKK->num_bond,nmax,"atom:num_bond");
|
||||
memory->grow_kokkos(atomKK->k_bond_type,atomKK->bond_type,nmax,atomKK->bond_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_num_bond,atomKK->num_bond,nmax,"atom:num_bond");
|
||||
memoryKK->grow_kokkos(atomKK->k_bond_type,atomKK->bond_type,nmax,atomKK->bond_per_atom,
|
||||
"atom:bond_type");
|
||||
memory->grow_kokkos(atomKK->k_bond_atom,atomKK->bond_atom,nmax,atomKK->bond_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_bond_atom,atomKK->bond_atom,nmax,atomKK->bond_per_atom,
|
||||
"atom:bond_atom");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_num_angle,atomKK->num_angle,nmax,"atom:num_angle");
|
||||
memory->grow_kokkos(atomKK->k_angle_type,atomKK->angle_type,nmax,atomKK->angle_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_num_angle,atomKK->num_angle,nmax,"atom:num_angle");
|
||||
memoryKK->grow_kokkos(atomKK->k_angle_type,atomKK->angle_type,nmax,atomKK->angle_per_atom,
|
||||
"atom:angle_type");
|
||||
memory->grow_kokkos(atomKK->k_angle_atom1,atomKK->angle_atom1,nmax,atomKK->angle_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_angle_atom1,atomKK->angle_atom1,nmax,atomKK->angle_per_atom,
|
||||
"atom:angle_atom1");
|
||||
memory->grow_kokkos(atomKK->k_angle_atom2,atomKK->angle_atom2,nmax,atomKK->angle_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_angle_atom2,atomKK->angle_atom2,nmax,atomKK->angle_per_atom,
|
||||
"atom:angle_atom2");
|
||||
memory->grow_kokkos(atomKK->k_angle_atom3,atomKK->angle_atom3,nmax,atomKK->angle_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_angle_atom3,atomKK->angle_atom3,nmax,atomKK->angle_per_atom,
|
||||
"atom:angle_atom3");
|
||||
|
||||
grow_reset();
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "modify.h"
|
||||
#include "fix.h"
|
||||
#include "atom_masks.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
@ -64,14 +64,14 @@ void AtomVecAtomicKokkos::grow(int n)
|
|||
sync(Device,ALL_MASK);
|
||||
modified(Device,ALL_MASK);
|
||||
|
||||
memory->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memory->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memory->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memory->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
memoryKK->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memoryKK->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memoryKK->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memoryKK->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memory->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memory->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
memoryKK->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memoryKK->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memoryKK->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
|
||||
grow_reset();
|
||||
sync(Host,ALL_MASK);
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "modify.h"
|
||||
#include "fix.h"
|
||||
#include "atom_masks.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
@ -65,21 +65,21 @@ void AtomVecBondKokkos::grow(int n)
|
|||
sync(Device,ALL_MASK);
|
||||
modified(Device,ALL_MASK);
|
||||
|
||||
memory->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memory->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memory->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memory->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
memoryKK->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memoryKK->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memoryKK->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memoryKK->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memory->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memory->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
memoryKK->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memoryKK->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memoryKK->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_molecule,atomKK->molecule,nmax,"atom:molecule");
|
||||
memory->grow_kokkos(atomKK->k_nspecial,atomKK->nspecial,nmax,3,"atom:nspecial");
|
||||
memory->grow_kokkos(atomKK->k_special,atomKK->special,nmax,atomKK->maxspecial,"atom:special");
|
||||
memory->grow_kokkos(atomKK->k_num_bond,atomKK->num_bond,nmax,"atom:num_bond");
|
||||
memory->grow_kokkos(atomKK->k_bond_type,atomKK->bond_type,nmax,atomKK->bond_per_atom,"atom:bond_type");
|
||||
memory->grow_kokkos(atomKK->k_bond_atom,atomKK->bond_atom,nmax,atomKK->bond_per_atom,"atom:bond_atom");
|
||||
memoryKK->grow_kokkos(atomKK->k_molecule,atomKK->molecule,nmax,"atom:molecule");
|
||||
memoryKK->grow_kokkos(atomKK->k_nspecial,atomKK->nspecial,nmax,3,"atom:nspecial");
|
||||
memoryKK->grow_kokkos(atomKK->k_special,atomKK->special,nmax,atomKK->maxspecial,"atom:special");
|
||||
memoryKK->grow_kokkos(atomKK->k_num_bond,atomKK->num_bond,nmax,"atom:num_bond");
|
||||
memoryKK->grow_kokkos(atomKK->k_bond_type,atomKK->bond_type,nmax,atomKK->bond_per_atom,"atom:bond_type");
|
||||
memoryKK->grow_kokkos(atomKK->k_bond_atom,atomKK->bond_atom,nmax,atomKK->bond_per_atom,"atom:bond_atom");
|
||||
|
||||
grow_reset();
|
||||
sync(Host,ALL_MASK);
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "modify.h"
|
||||
#include "fix.h"
|
||||
#include "atom_masks.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
@ -67,16 +67,16 @@ void AtomVecChargeKokkos::grow(int n)
|
|||
sync(Device,ALL_MASK);
|
||||
modified(Device,ALL_MASK);
|
||||
|
||||
memory->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memory->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memory->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memory->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
memoryKK->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memoryKK->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memoryKK->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memoryKK->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memory->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memory->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
memoryKK->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memoryKK->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memoryKK->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_q,atomKK->q,nmax,"atom:q");
|
||||
memoryKK->grow_kokkos(atomKK->k_q,atomKK->q,nmax,"atom:q");
|
||||
|
||||
grow_reset();
|
||||
sync(Host,ALL_MASK);
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "modify.h"
|
||||
#include "fix.h"
|
||||
#include "atom_masks.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
@ -67,24 +67,24 @@ void AtomVecDPDKokkos::grow(int n)
|
|||
sync(Device,ALL_MASK);
|
||||
modified(Device,ALL_MASK);
|
||||
|
||||
memory->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memory->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memory->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memory->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
memoryKK->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memoryKK->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memoryKK->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memoryKK->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memory->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memory->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
memoryKK->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memoryKK->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memoryKK->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
|
||||
|
||||
memory->grow_kokkos(atomKK->k_rho,atomKK->rho,nmax,"atom:rho");
|
||||
memory->grow_kokkos(atomKK->k_dpdTheta,atomKK->dpdTheta,nmax,"atom:dpdTheta");
|
||||
memory->grow_kokkos(atomKK->k_uCond,atomKK->uCond,nmax,"atom:uCond");
|
||||
memory->grow_kokkos(atomKK->k_uMech,atomKK->uMech,nmax,"atom:uMech");
|
||||
memory->grow_kokkos(atomKK->k_uChem,atomKK->uChem,nmax,"atom:uChem");
|
||||
memory->grow_kokkos(atomKK->k_uCG,atomKK->uCG,nmax,"atom:uCG");
|
||||
memory->grow_kokkos(atomKK->k_uCGnew,atomKK->uCGnew,nmax,"atom:uCGnew");
|
||||
memory->grow_kokkos(atomKK->k_duChem,atomKK->duChem,nmax,"atom:duChem");
|
||||
memoryKK->grow_kokkos(atomKK->k_rho,atomKK->rho,nmax,"atom:rho");
|
||||
memoryKK->grow_kokkos(atomKK->k_dpdTheta,atomKK->dpdTheta,nmax,"atom:dpdTheta");
|
||||
memoryKK->grow_kokkos(atomKK->k_uCond,atomKK->uCond,nmax,"atom:uCond");
|
||||
memoryKK->grow_kokkos(atomKK->k_uMech,atomKK->uMech,nmax,"atom:uMech");
|
||||
memoryKK->grow_kokkos(atomKK->k_uChem,atomKK->uChem,nmax,"atom:uChem");
|
||||
memoryKK->grow_kokkos(atomKK->k_uCG,atomKK->uCG,nmax,"atom:uCG");
|
||||
memoryKK->grow_kokkos(atomKK->k_uCGnew,atomKK->uCGnew,nmax,"atom:uCGnew");
|
||||
memoryKK->grow_kokkos(atomKK->k_duChem,atomKK->duChem,nmax,"atom:duChem");
|
||||
|
||||
if (atom->nextra_grow)
|
||||
for (int iextra = 0; iextra < atom->nextra_grow; iextra++)
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "modify.h"
|
||||
#include "fix.h"
|
||||
#include "atom_masks.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
@ -67,59 +67,59 @@ void AtomVecFullKokkos::grow(int n)
|
|||
sync(Device,ALL_MASK);
|
||||
modified(Device,ALL_MASK);
|
||||
|
||||
memory->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memory->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memory->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memory->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
memoryKK->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memoryKK->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memoryKK->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memoryKK->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memory->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memory->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
memoryKK->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memoryKK->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memoryKK->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_q,atomKK->q,nmax,"atom:q");
|
||||
memory->grow_kokkos(atomKK->k_molecule,atomKK->molecule,nmax,"atom:molecule");
|
||||
memoryKK->grow_kokkos(atomKK->k_q,atomKK->q,nmax,"atom:q");
|
||||
memoryKK->grow_kokkos(atomKK->k_molecule,atomKK->molecule,nmax,"atom:molecule");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_nspecial,atomKK->nspecial,nmax,3,"atom:nspecial");
|
||||
memory->grow_kokkos(atomKK->k_special,atomKK->special,nmax,atomKK->maxspecial,
|
||||
memoryKK->grow_kokkos(atomKK->k_nspecial,atomKK->nspecial,nmax,3,"atom:nspecial");
|
||||
memoryKK->grow_kokkos(atomKK->k_special,atomKK->special,nmax,atomKK->maxspecial,
|
||||
"atom:special");
|
||||
memory->grow_kokkos(atomKK->k_num_bond,atomKK->num_bond,nmax,"atom:num_bond");
|
||||
memory->grow_kokkos(atomKK->k_bond_type,atomKK->bond_type,nmax,atomKK->bond_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_num_bond,atomKK->num_bond,nmax,"atom:num_bond");
|
||||
memoryKK->grow_kokkos(atomKK->k_bond_type,atomKK->bond_type,nmax,atomKK->bond_per_atom,
|
||||
"atom:bond_type");
|
||||
memory->grow_kokkos(atomKK->k_bond_atom,atomKK->bond_atom,nmax,atomKK->bond_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_bond_atom,atomKK->bond_atom,nmax,atomKK->bond_per_atom,
|
||||
"atom:bond_atom");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_num_angle,atomKK->num_angle,nmax,"atom:num_angle");
|
||||
memory->grow_kokkos(atomKK->k_angle_type,atomKK->angle_type,nmax,atomKK->angle_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_num_angle,atomKK->num_angle,nmax,"atom:num_angle");
|
||||
memoryKK->grow_kokkos(atomKK->k_angle_type,atomKK->angle_type,nmax,atomKK->angle_per_atom,
|
||||
"atom:angle_type");
|
||||
memory->grow_kokkos(atomKK->k_angle_atom1,atomKK->angle_atom1,nmax,atomKK->angle_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_angle_atom1,atomKK->angle_atom1,nmax,atomKK->angle_per_atom,
|
||||
"atom:angle_atom1");
|
||||
memory->grow_kokkos(atomKK->k_angle_atom2,atomKK->angle_atom2,nmax,atomKK->angle_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_angle_atom2,atomKK->angle_atom2,nmax,atomKK->angle_per_atom,
|
||||
"atom:angle_atom2");
|
||||
memory->grow_kokkos(atomKK->k_angle_atom3,atomKK->angle_atom3,nmax,atomKK->angle_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_angle_atom3,atomKK->angle_atom3,nmax,atomKK->angle_per_atom,
|
||||
"atom:angle_atom3");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_num_dihedral,atomKK->num_dihedral,nmax,"atom:num_dihedral");
|
||||
memory->grow_kokkos(atomKK->k_dihedral_type,atomKK->dihedral_type,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_num_dihedral,atomKK->num_dihedral,nmax,"atom:num_dihedral");
|
||||
memoryKK->grow_kokkos(atomKK->k_dihedral_type,atomKK->dihedral_type,nmax,
|
||||
atomKK->dihedral_per_atom,"atom:dihedral_type");
|
||||
memory->grow_kokkos(atomKK->k_dihedral_atom1,atomKK->dihedral_atom1,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_dihedral_atom1,atomKK->dihedral_atom1,nmax,
|
||||
atomKK->dihedral_per_atom,"atom:dihedral_atom1");
|
||||
memory->grow_kokkos(atomKK->k_dihedral_atom2,atomKK->dihedral_atom2,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_dihedral_atom2,atomKK->dihedral_atom2,nmax,
|
||||
atomKK->dihedral_per_atom,"atom:dihedral_atom2");
|
||||
memory->grow_kokkos(atomKK->k_dihedral_atom3,atomKK->dihedral_atom3,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_dihedral_atom3,atomKK->dihedral_atom3,nmax,
|
||||
atomKK->dihedral_per_atom,"atom:dihedral_atom3");
|
||||
memory->grow_kokkos(atomKK->k_dihedral_atom4,atomKK->dihedral_atom4,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_dihedral_atom4,atomKK->dihedral_atom4,nmax,
|
||||
atomKK->dihedral_per_atom,"atom:dihedral_atom4");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_num_improper,atomKK->num_improper,nmax,"atom:num_improper");
|
||||
memory->grow_kokkos(atomKK->k_improper_type,atomKK->improper_type,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_num_improper,atomKK->num_improper,nmax,"atom:num_improper");
|
||||
memoryKK->grow_kokkos(atomKK->k_improper_type,atomKK->improper_type,nmax,
|
||||
atomKK->improper_per_atom,"atom:improper_type");
|
||||
memory->grow_kokkos(atomKK->k_improper_atom1,atomKK->improper_atom1,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_improper_atom1,atomKK->improper_atom1,nmax,
|
||||
atomKK->improper_per_atom,"atom:improper_atom1");
|
||||
memory->grow_kokkos(atomKK->k_improper_atom2,atomKK->improper_atom2,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_improper_atom2,atomKK->improper_atom2,nmax,
|
||||
atomKK->improper_per_atom,"atom:improper_atom2");
|
||||
memory->grow_kokkos(atomKK->k_improper_atom3,atomKK->improper_atom3,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_improper_atom3,atomKK->improper_atom3,nmax,
|
||||
atomKK->improper_per_atom,"atom:improper_atom3");
|
||||
memory->grow_kokkos(atomKK->k_improper_atom4,atomKK->improper_atom4,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_improper_atom4,atomKK->improper_atom4,nmax,
|
||||
atomKK->improper_per_atom,"atom:improper_atom4");
|
||||
|
||||
grow_reset();
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#include "domain.h"
|
||||
#include "modify.h"
|
||||
#include "fix.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "modify.h"
|
||||
#include "fix.h"
|
||||
#include "atom_masks.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
@ -67,57 +67,57 @@ void AtomVecMolecularKokkos::grow(int n)
|
|||
sync(Device,ALL_MASK);
|
||||
modified(Device,ALL_MASK);
|
||||
|
||||
memory->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memory->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memory->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memory->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
memoryKK->grow_kokkos(atomKK->k_tag,atomKK->tag,nmax,"atom:tag");
|
||||
memoryKK->grow_kokkos(atomKK->k_type,atomKK->type,nmax,"atom:type");
|
||||
memoryKK->grow_kokkos(atomKK->k_mask,atomKK->mask,nmax,"atom:mask");
|
||||
memoryKK->grow_kokkos(atomKK->k_image,atomKK->image,nmax,"atom:image");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memory->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memory->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
memoryKK->grow_kokkos(atomKK->k_x,atomKK->x,nmax,3,"atom:x");
|
||||
memoryKK->grow_kokkos(atomKK->k_v,atomKK->v,nmax,3,"atom:v");
|
||||
memoryKK->grow_kokkos(atomKK->k_f,atomKK->f,nmax,3,"atom:f");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_molecule,atomKK->molecule,nmax,"atom:molecule");
|
||||
memory->grow_kokkos(atomKK->k_nspecial,atomKK->nspecial,nmax,3,"atom:nspecial");
|
||||
memory->grow_kokkos(atomKK->k_special,atomKK->special,nmax,atomKK->maxspecial,
|
||||
memoryKK->grow_kokkos(atomKK->k_molecule,atomKK->molecule,nmax,"atom:molecule");
|
||||
memoryKK->grow_kokkos(atomKK->k_nspecial,atomKK->nspecial,nmax,3,"atom:nspecial");
|
||||
memoryKK->grow_kokkos(atomKK->k_special,atomKK->special,nmax,atomKK->maxspecial,
|
||||
"atom:special");
|
||||
memory->grow_kokkos(atomKK->k_num_bond,atomKK->num_bond,nmax,"atom:num_bond");
|
||||
memory->grow_kokkos(atomKK->k_bond_type,atomKK->bond_type,nmax,atomKK->bond_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_num_bond,atomKK->num_bond,nmax,"atom:num_bond");
|
||||
memoryKK->grow_kokkos(atomKK->k_bond_type,atomKK->bond_type,nmax,atomKK->bond_per_atom,
|
||||
"atom:bond_type");
|
||||
memory->grow_kokkos(atomKK->k_bond_atom,atomKK->bond_atom,nmax,atomKK->bond_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_bond_atom,atomKK->bond_atom,nmax,atomKK->bond_per_atom,
|
||||
"atom:bond_atom");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_num_angle,atomKK->num_angle,nmax,"atom:num_angle");
|
||||
memory->grow_kokkos(atomKK->k_angle_type,atomKK->angle_type,nmax,atomKK->angle_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_num_angle,atomKK->num_angle,nmax,"atom:num_angle");
|
||||
memoryKK->grow_kokkos(atomKK->k_angle_type,atomKK->angle_type,nmax,atomKK->angle_per_atom,
|
||||
"atom:angle_type");
|
||||
memory->grow_kokkos(atomKK->k_angle_atom1,atomKK->angle_atom1,nmax,atomKK->angle_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_angle_atom1,atomKK->angle_atom1,nmax,atomKK->angle_per_atom,
|
||||
"atom:angle_atom1");
|
||||
memory->grow_kokkos(atomKK->k_angle_atom2,atomKK->angle_atom2,nmax,atomKK->angle_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_angle_atom2,atomKK->angle_atom2,nmax,atomKK->angle_per_atom,
|
||||
"atom:angle_atom2");
|
||||
memory->grow_kokkos(atomKK->k_angle_atom3,atomKK->angle_atom3,nmax,atomKK->angle_per_atom,
|
||||
memoryKK->grow_kokkos(atomKK->k_angle_atom3,atomKK->angle_atom3,nmax,atomKK->angle_per_atom,
|
||||
"atom:angle_atom3");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_num_dihedral,atomKK->num_dihedral,nmax,"atom:num_dihedral");
|
||||
memory->grow_kokkos(atomKK->k_dihedral_type,atomKK->dihedral_type,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_num_dihedral,atomKK->num_dihedral,nmax,"atom:num_dihedral");
|
||||
memoryKK->grow_kokkos(atomKK->k_dihedral_type,atomKK->dihedral_type,nmax,
|
||||
atomKK->dihedral_per_atom,"atom:dihedral_type");
|
||||
memory->grow_kokkos(atomKK->k_dihedral_atom1,atomKK->dihedral_atom1,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_dihedral_atom1,atomKK->dihedral_atom1,nmax,
|
||||
atomKK->dihedral_per_atom,"atom:dihedral_atom1");
|
||||
memory->grow_kokkos(atomKK->k_dihedral_atom2,atomKK->dihedral_atom2,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_dihedral_atom2,atomKK->dihedral_atom2,nmax,
|
||||
atomKK->dihedral_per_atom,"atom:dihedral_atom2");
|
||||
memory->grow_kokkos(atomKK->k_dihedral_atom3,atomKK->dihedral_atom3,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_dihedral_atom3,atomKK->dihedral_atom3,nmax,
|
||||
atomKK->dihedral_per_atom,"atom:dihedral_atom3");
|
||||
memory->grow_kokkos(atomKK->k_dihedral_atom4,atomKK->dihedral_atom4,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_dihedral_atom4,atomKK->dihedral_atom4,nmax,
|
||||
atomKK->dihedral_per_atom,"atom:dihedral_atom4");
|
||||
|
||||
memory->grow_kokkos(atomKK->k_num_improper,atomKK->num_improper,nmax,"atom:num_improper");
|
||||
memory->grow_kokkos(atomKK->k_improper_type,atomKK->improper_type,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_num_improper,atomKK->num_improper,nmax,"atom:num_improper");
|
||||
memoryKK->grow_kokkos(atomKK->k_improper_type,atomKK->improper_type,nmax,
|
||||
atomKK->improper_per_atom,"atom:improper_type");
|
||||
memory->grow_kokkos(atomKK->k_improper_atom1,atomKK->improper_atom1,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_improper_atom1,atomKK->improper_atom1,nmax,
|
||||
atomKK->improper_per_atom,"atom:improper_atom1");
|
||||
memory->grow_kokkos(atomKK->k_improper_atom2,atomKK->improper_atom2,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_improper_atom2,atomKK->improper_atom2,nmax,
|
||||
atomKK->improper_per_atom,"atom:improper_atom2");
|
||||
memory->grow_kokkos(atomKK->k_improper_atom3,atomKK->improper_atom3,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_improper_atom3,atomKK->improper_atom3,nmax,
|
||||
atomKK->improper_per_atom,"atom:improper_atom3");
|
||||
memory->grow_kokkos(atomKK->k_improper_atom4,atomKK->improper_atom4,nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_improper_atom4,atomKK->improper_atom4,nmax,
|
||||
atomKK->improper_per_atom,"atom:improper_atom4");
|
||||
|
||||
grow_reset();
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#include "domain.h"
|
||||
#include "comm.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -47,8 +47,8 @@ template<class DeviceType>
|
|||
BondClass2Kokkos<DeviceType>::~BondClass2Kokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -67,15 +67,15 @@ void BondClass2Kokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
|
||||
if (eflag_atom) {
|
||||
//if(k_eatom.dimension_0()<maxeatom) { // won't work without adding zero functor
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"improper:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"improper:eatom");
|
||||
d_eatom = k_eatom.template view<DeviceType>();
|
||||
//}
|
||||
}
|
||||
if (vflag_atom) {
|
||||
//if(k_vatom.dimension_0()<maxvatom) { // won't work without adding zero functor
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"improper:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"improper:vatom");
|
||||
d_vatom = k_vatom.template view<DeviceType>();
|
||||
//}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#include "domain.h"
|
||||
#include "comm.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -56,8 +56,8 @@ template<class DeviceType>
|
|||
BondFENEKokkos<DeviceType>::~BondFENEKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -75,13 +75,13 @@ void BondFENEKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"bond:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"bond:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"bond:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"bond:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#include "domain.h"
|
||||
#include "comm.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -48,8 +48,8 @@ template<class DeviceType>
|
|||
BondHarmonicKokkos<DeviceType>::~BondHarmonicKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -68,15 +68,15 @@ void BondHarmonicKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
|
||||
if (eflag_atom) {
|
||||
//if(k_eatom.dimension_0()<maxeatom) { // won't work without adding zero functor
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"improper:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"improper:eatom");
|
||||
d_eatom = k_eatom.template view<DeviceType>();
|
||||
//}
|
||||
}
|
||||
if (vflag_atom) {
|
||||
//if(k_vatom.dimension_0()<maxvatom) { // won't work without adding zero functor
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"improper:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"improper:vatom");
|
||||
d_vatom = k_vatom.template view<DeviceType>();
|
||||
//}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include "domain.h"
|
||||
#include "atom_masks.h"
|
||||
#include "error.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "force.h"
|
||||
#include "pair.h"
|
||||
#include "fix.h"
|
||||
|
@ -28,6 +28,7 @@
|
|||
#include "dump.h"
|
||||
#include "output.h"
|
||||
#include "modify.h"
|
||||
#include "kokkos_base.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
|
@ -71,7 +72,7 @@ CommKokkos::CommKokkos(LAMMPS *lmp) : CommBrick(lmp)
|
|||
for (int i = 0; i < maxswap; i++) {
|
||||
maxsendlist[i] = BUFMIN;
|
||||
}
|
||||
memory->create_kokkos(k_sendlist,sendlist,maxswap,BUFMIN,"comm:sendlist");
|
||||
memoryKK->create_kokkos(k_sendlist,sendlist,maxswap,BUFMIN,"comm:sendlist");
|
||||
|
||||
max_buf_pair = 0;
|
||||
k_buf_send_pair = DAT::tdual_xfloat_1d("comm:k_buf_send_pair",1);
|
||||
|
@ -82,11 +83,11 @@ CommKokkos::CommKokkos(LAMMPS *lmp) : CommBrick(lmp)
|
|||
|
||||
CommKokkos::~CommKokkos()
|
||||
{
|
||||
memory->destroy_kokkos(k_sendlist,sendlist);
|
||||
memoryKK->destroy_kokkos(k_sendlist,sendlist);
|
||||
sendlist = NULL;
|
||||
memory->destroy_kokkos(k_buf_send,buf_send);
|
||||
memoryKK->destroy_kokkos(k_buf_send,buf_send);
|
||||
buf_send = NULL;
|
||||
memory->destroy_kokkos(k_buf_recv,buf_recv);
|
||||
memoryKK->destroy_kokkos(k_buf_recv,buf_recv);
|
||||
buf_recv = NULL;
|
||||
}
|
||||
|
||||
|
@ -379,6 +380,7 @@ void CommKokkos::forward_comm_pair_device(Pair *pair)
|
|||
MPI_Request request;
|
||||
|
||||
int nsize = pair->comm_forward;
|
||||
KokkosBase* pairKKBase = dynamic_cast<KokkosBase*>(pair);
|
||||
|
||||
for (iswap = 0; iswap < nswap; iswap++) {
|
||||
int n = MAX(max_buf_pair,nsize*sendnum[iswap]);
|
||||
|
@ -391,7 +393,7 @@ void CommKokkos::forward_comm_pair_device(Pair *pair)
|
|||
|
||||
// pack buffer
|
||||
|
||||
n = pair->pack_forward_comm_kokkos(sendnum[iswap],k_sendlist,
|
||||
n = pairKKBase->pack_forward_comm_kokkos(sendnum[iswap],k_sendlist,
|
||||
iswap,k_buf_send_pair,pbc_flag[iswap],pbc[iswap]);
|
||||
|
||||
// exchange with another proc
|
||||
|
@ -408,7 +410,7 @@ void CommKokkos::forward_comm_pair_device(Pair *pair)
|
|||
|
||||
// unpack buffer
|
||||
|
||||
pair->unpack_forward_comm_kokkos(recvnum[iswap],firstrecv[iswap],k_buf_recv_pair);
|
||||
pairKKBase->unpack_forward_comm_kokkos(recvnum[iswap],firstrecv[iswap],k_buf_recv_pair);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1067,7 +1069,7 @@ void CommKokkos::grow_list(int iswap, int n)
|
|||
k_sendlist.modify<LMPHostType>();
|
||||
}
|
||||
|
||||
memory->grow_kokkos(k_sendlist,sendlist,maxswap,size,"comm:sendlist");
|
||||
memoryKK->grow_kokkos(k_sendlist,sendlist,maxswap,size,"comm:sendlist");
|
||||
|
||||
for(int i=0;i<maxswap;i++) {
|
||||
maxsendlist[i]=size; sendlist[i]=&k_sendlist.view<LMPHostType>()(i,0);
|
||||
|
@ -1095,7 +1097,7 @@ void CommKokkos::grow_swap(int n)
|
|||
k_sendlist.modify<LMPHostType>();
|
||||
}
|
||||
|
||||
memory->grow_kokkos(k_sendlist,sendlist,maxswap,size,"comm:sendlist");
|
||||
memoryKK->grow_kokkos(k_sendlist,sendlist,maxswap,size,"comm:sendlist");
|
||||
|
||||
memory->grow(maxsendlist,n,"comm:maxsendlist");
|
||||
for (int i=0;i<maxswap;i++) maxsendlist[i]=size;
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#include "compute.h"
|
||||
#include "output.h"
|
||||
#include "dump.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#include "force.h"
|
||||
#include "pair.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -56,8 +56,8 @@ template<class DeviceType>
|
|||
DihedralCharmmKokkos<DeviceType>::~DihedralCharmmKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,8 +81,8 @@ void DihedralCharmmKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
|
||||
if (eflag_atom) {
|
||||
//if(k_eatom.dimension_0()<maxeatom) { // won't work without adding zero functor
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"dihedral:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"dihedral:eatom");
|
||||
d_eatom = k_eatom.template view<DeviceType>();
|
||||
k_eatom_pair = Kokkos::DualView<E_FLOAT*,Kokkos::LayoutRight,DeviceType>("dihedral:eatom_pair",maxeatom);
|
||||
d_eatom_pair = k_eatom.template view<DeviceType>();
|
||||
|
@ -90,8 +90,8 @@ void DihedralCharmmKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
}
|
||||
if (vflag_atom) {
|
||||
//if(k_vatom.dimension_0()<maxvatom) { // won't work without adding zero functor
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"dihedral:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"dihedral:vatom");
|
||||
d_vatom = k_vatom.template view<DeviceType>();
|
||||
k_vatom_pair = Kokkos::DualView<F_FLOAT*[6],Kokkos::LayoutRight,DeviceType>("dihedral:vatom_pair",maxvatom);
|
||||
d_vatom_pair = k_vatom.template view<DeviceType>();
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "domain.h"
|
||||
#include "force.h"
|
||||
#include "update.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -56,8 +56,8 @@ template<class DeviceType>
|
|||
DihedralClass2Kokkos<DeviceType>::~DihedralClass2Kokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -75,13 +75,13 @@ void DihedralClass2Kokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"dihedral:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"dihedral:eatom");
|
||||
d_eatom = k_eatom.template view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"dihedral:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"dihedral:vatom");
|
||||
d_vatom = k_vatom.template view<DeviceType>();
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "domain.h"
|
||||
#include "force.h"
|
||||
#include "update.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -56,8 +56,8 @@ template<class DeviceType>
|
|||
DihedralOPLSKokkos<DeviceType>::~DihedralOPLSKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -75,13 +75,13 @@ void DihedralOPLSKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"dihedral:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"dihedral:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"dihedral:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"dihedral:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include "atom_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "comm.h"
|
||||
#include <math.h>
|
||||
#include "modify.h"
|
||||
|
@ -517,14 +517,14 @@ void FixEOStableRXKokkos<DeviceType>::create_kokkos_tables()
|
|||
{
|
||||
const int tlm1 = tablength-1;
|
||||
|
||||
memory->create_kokkos(d_table->lo,h_table->lo,ntables,"Table::lo");
|
||||
memory->create_kokkos(d_table->hi,h_table->hi,ntables,"Table::hi");
|
||||
memory->create_kokkos(d_table->invdelta,h_table->invdelta,ntables,"Table::invdelta");
|
||||
memoryKK->create_kokkos(d_table->lo,h_table->lo,ntables,"Table::lo");
|
||||
memoryKK->create_kokkos(d_table->hi,h_table->hi,ntables,"Table::hi");
|
||||
memoryKK->create_kokkos(d_table->invdelta,h_table->invdelta,ntables,"Table::invdelta");
|
||||
|
||||
if(tabstyle == LINEAR) {
|
||||
memory->create_kokkos(d_table->r,h_table->r,ntables,tablength,"Table::r");
|
||||
memory->create_kokkos(d_table->e,h_table->e,ntables,tablength,"Table::e");
|
||||
memory->create_kokkos(d_table->de,h_table->de,ntables,tlm1,"Table::de");
|
||||
memoryKK->create_kokkos(d_table->r,h_table->r,ntables,tablength,"Table::r");
|
||||
memoryKK->create_kokkos(d_table->e,h_table->e,ntables,tablength,"Table::e");
|
||||
memoryKK->create_kokkos(d_table->de,h_table->de,ntables,tlm1,"Table::de");
|
||||
}
|
||||
|
||||
for(int i=0; i < ntables; i++) {
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include "update.h"
|
||||
#include "respa.h"
|
||||
#include "error.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "group.h"
|
||||
#include "random_mars.h"
|
||||
#include "compute.h"
|
||||
|
@ -49,9 +49,9 @@ FixLangevinKokkos<DeviceType>::FixLangevinKokkos(LAMMPS *lmp, int narg, char **a
|
|||
int ntypes = atomKK->ntypes;
|
||||
|
||||
// allocate per-type arrays for force prefactors
|
||||
memory->create_kokkos(k_gfactor1,gfactor1,ntypes+1,"langevin:gfactor1");
|
||||
memory->create_kokkos(k_gfactor2,gfactor2,ntypes+1,"langevin:gfactor2");
|
||||
memory->create_kokkos(k_ratio,ratio,ntypes+1,"langevin:ratio");
|
||||
memoryKK->create_kokkos(k_gfactor1,gfactor1,ntypes+1,"langevin:gfactor1");
|
||||
memoryKK->create_kokkos(k_gfactor2,gfactor2,ntypes+1,"langevin:gfactor2");
|
||||
memoryKK->create_kokkos(k_ratio,ratio,ntypes+1,"langevin:ratio");
|
||||
d_gfactor1 = k_gfactor1.template view<DeviceType>();
|
||||
h_gfactor1 = k_gfactor1.template view<LMPHostType>();
|
||||
d_gfactor2 = k_gfactor2.template view<DeviceType>();
|
||||
|
@ -92,12 +92,12 @@ FixLangevinKokkos<DeviceType>::FixLangevinKokkos(LAMMPS *lmp, int narg, char **a
|
|||
template<class DeviceType>
|
||||
FixLangevinKokkos<DeviceType>::~FixLangevinKokkos()
|
||||
{
|
||||
memory->destroy_kokkos(k_gfactor1,gfactor1);
|
||||
memory->destroy_kokkos(k_gfactor2,gfactor2);
|
||||
memory->destroy_kokkos(k_ratio,ratio);
|
||||
memory->destroy_kokkos(k_flangevin,flangevin);
|
||||
if(gjfflag) memory->destroy_kokkos(k_franprev,franprev);
|
||||
memory->destroy_kokkos(k_tforce,tforce);
|
||||
memoryKK->destroy_kokkos(k_gfactor1,gfactor1);
|
||||
memoryKK->destroy_kokkos(k_gfactor2,gfactor2);
|
||||
memoryKK->destroy_kokkos(k_ratio,ratio);
|
||||
memoryKK->destroy_kokkos(k_flangevin,flangevin);
|
||||
if(gjfflag) memoryKK->destroy_kokkos(k_franprev,franprev);
|
||||
memoryKK->destroy_kokkos(k_tforce,tforce);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
@ -121,7 +121,7 @@ void FixLangevinKokkos<DeviceType>::init()
|
|||
template<class DeviceType>
|
||||
void FixLangevinKokkos<DeviceType>::grow_arrays(int nmax)
|
||||
{
|
||||
memory->grow_kokkos(k_franprev,franprev,nmax,3,"langevin:franprev");
|
||||
memoryKK->grow_kokkos(k_franprev,franprev,nmax,3,"langevin:franprev");
|
||||
d_franprev = k_franprev.template view<DeviceType>();
|
||||
h_franprev = k_franprev.template view<LMPHostType>();
|
||||
}
|
||||
|
@ -167,9 +167,9 @@ void FixLangevinKokkos<DeviceType>::post_force(int vflag)
|
|||
// reallocate flangevin if necessary
|
||||
if (tallyflag) {
|
||||
if (nlocal > maxatom1) {
|
||||
memory->destroy_kokkos(k_flangevin,flangevin);
|
||||
memoryKK->destroy_kokkos(k_flangevin,flangevin);
|
||||
maxatom1 = atomKK->nmax;
|
||||
memory->create_kokkos(k_flangevin,flangevin,maxatom1,3,"langevin:flangevin");
|
||||
memoryKK->create_kokkos(k_flangevin,flangevin,maxatom1,3,"langevin:flangevin");
|
||||
d_flangevin = k_flangevin.template view<DeviceType>();
|
||||
h_flangevin = k_flangevin.template view<LMPHostType>();
|
||||
}
|
||||
|
@ -671,8 +671,8 @@ void FixLangevinKokkos<DeviceType>::compute_target()
|
|||
} else {
|
||||
if (atom->nmax > maxatom2) {
|
||||
maxatom2 = atom->nmax;
|
||||
memory->destroy_kokkos(k_tforce,tforce);
|
||||
memory->create_kokkos(k_tforce,tforce,maxatom2,"langevin:tforce");
|
||||
memoryKK->destroy_kokkos(k_tforce,tforce);
|
||||
memoryKK->create_kokkos(k_tforce,tforce,maxatom2,"langevin:tforce");
|
||||
d_tforce = k_tforce.template view<DeviceType>();
|
||||
h_tforce = k_tforce.template view<LMPHostType>();
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
#include "update.h"
|
||||
#include "respa.h"
|
||||
#include "domain_kokkos.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
#include "atom_kokkos.h"
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#include "fix_property_atom_kokkos.h"
|
||||
#include "atom_kokkos.h"
|
||||
#include "comm.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "update.h"
|
||||
|
||||
|
@ -60,7 +60,7 @@ void FixPropertyAtomKokkos::grow_arrays(int nmax)
|
|||
size_t nbytes = (nmax-nmax_old) * sizeof(int);
|
||||
memset(&atom->ivector[index[m]][nmax_old],0,nbytes);
|
||||
} else if (style[m] == DOUBLE) {
|
||||
memory->grow_kokkos(atomKK->k_dvector,atomKK->dvector,atomKK->k_dvector.dimension_0(),nmax,
|
||||
memoryKK->grow_kokkos(atomKK->k_dvector,atomKK->dvector,atomKK->k_dvector.dimension_0(),nmax,
|
||||
"atom:dvector");
|
||||
//memory->grow(atom->dvector[index[m]],nmax,"atom:dvector");
|
||||
//size_t nbytes = (nmax-nmax_old) * sizeof(double);
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "pair_reaxc_kokkos.h"
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "compute.h"
|
||||
#include "input.h"
|
||||
#include "variable.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "reaxc_list.h"
|
||||
#include "reaxc_types.h"
|
||||
|
@ -95,7 +95,7 @@ void FixReaxCBondsKokkos::Output_ReaxC_Bonds(bigint ntimestep, FILE *fp)
|
|||
MPI_Allreduce(&nlocal,&nlocal_max,1,MPI_INT,MPI_MAX,world);
|
||||
|
||||
nbuf = 1+(numbonds_max*2+10)*nlocal_max;
|
||||
memory->create_kokkos(k_buf,buf,nbuf,"reax/c/bonds:buf");
|
||||
memoryKK->create_kokkos(k_buf,buf,nbuf,"reax/c/bonds:buf");
|
||||
|
||||
// Pass information to buffer
|
||||
if (reaxc->execution_space == Device)
|
||||
|
@ -107,7 +107,7 @@ void FixReaxCBondsKokkos::Output_ReaxC_Bonds(bigint ntimestep, FILE *fp)
|
|||
// Receive information from buffer for output
|
||||
RecvBuffer(buf, nbuf, nbuf_local, nlocal_tot, numbonds_max);
|
||||
|
||||
memory->destroy_kokkos(k_buf,buf);
|
||||
memoryKK->destroy_kokkos(k_buf,buf);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
#include "compute.h"
|
||||
#include "input.h"
|
||||
#include "variable.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "reaxc_list.h"
|
||||
#include "atom_masks.h"
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#include "atom_masks.h"
|
||||
#include "atom_kokkos.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "update.h"
|
||||
#include "respa.h"
|
||||
#include "modify.h"
|
||||
|
@ -26,6 +26,9 @@
|
|||
#include "neigh_request.h"
|
||||
#include "error.h"
|
||||
#include "math_special_kokkos.h"
|
||||
#include "comm.h"
|
||||
#include "domain.h"
|
||||
#include "kokkos.h"
|
||||
|
||||
#include <float.h> // DBL_EPSILON
|
||||
|
||||
|
@ -81,15 +84,15 @@ FixRxKokkos<DeviceType>::~FixRxKokkos()
|
|||
if (copymode) return;
|
||||
|
||||
if (localTempFlag)
|
||||
memory->destroy_kokkos(k_dpdThetaLocal, dpdThetaLocal);
|
||||
memoryKK->destroy_kokkos(k_dpdThetaLocal, dpdThetaLocal);
|
||||
|
||||
memory->destroy_kokkos(k_sumWeights, sumWeights);
|
||||
//memory->destroy_kokkos(k_sumWeights);
|
||||
memoryKK->destroy_kokkos(k_sumWeights, sumWeights);
|
||||
//memoryKK->destroy_kokkos(k_sumWeights);
|
||||
|
||||
//delete [] scratchSpace;
|
||||
memory->destroy_kokkos(d_scratchSpace);
|
||||
memoryKK->destroy_kokkos(d_scratchSpace);
|
||||
|
||||
memory->destroy_kokkos(k_cutsq);
|
||||
memoryKK->destroy_kokkos(k_cutsq);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
@ -1233,9 +1236,9 @@ void FixRxKokkos<DeviceType>::create_kinetics_data(void)
|
|||
{
|
||||
//printf("Inside FixRxKokkos::create_kinetics_data\n");
|
||||
|
||||
memory->create_kokkos( d_kineticsData.Arr, h_kineticsData.Arr, nreactions, "KineticsType::Arr");
|
||||
memory->create_kokkos( d_kineticsData.nArr, h_kineticsData.nArr, nreactions, "KineticsType::nArr");
|
||||
memory->create_kokkos( d_kineticsData.Ea, h_kineticsData.Ea, nreactions, "KineticsType::Ea");
|
||||
memoryKK->create_kokkos( d_kineticsData.Arr, h_kineticsData.Arr, nreactions, "KineticsType::Arr");
|
||||
memoryKK->create_kokkos( d_kineticsData.nArr, h_kineticsData.nArr, nreactions, "KineticsType::nArr");
|
||||
memoryKK->create_kokkos( d_kineticsData.Ea, h_kineticsData.Ea, nreactions, "KineticsType::Ea");
|
||||
|
||||
for (int i = 0; i < nreactions; ++i)
|
||||
{
|
||||
|
@ -1251,8 +1254,8 @@ void FixRxKokkos<DeviceType>::create_kinetics_data(void)
|
|||
if (useSparseKinetics)
|
||||
{
|
||||
|
||||
memory->create_kokkos( d_kineticsData.nu , h_kineticsData.nu , nreactions, sparseKinetics_maxSpecies, "KineticsType::nu");
|
||||
memory->create_kokkos( d_kineticsData.nuk, h_kineticsData.nuk, nreactions, sparseKinetics_maxSpecies, "KineticsType::nuk");
|
||||
memoryKK->create_kokkos( d_kineticsData.nu , h_kineticsData.nu , nreactions, sparseKinetics_maxSpecies, "KineticsType::nu");
|
||||
memoryKK->create_kokkos( d_kineticsData.nuk, h_kineticsData.nuk, nreactions, sparseKinetics_maxSpecies, "KineticsType::nuk");
|
||||
|
||||
for (int i = 0; i < nreactions; ++i)
|
||||
for (int k = 0; k < sparseKinetics_maxSpecies; ++k)
|
||||
|
@ -1266,8 +1269,8 @@ void FixRxKokkos<DeviceType>::create_kinetics_data(void)
|
|||
|
||||
if (SparseKinetics_enableIntegralReactions)
|
||||
{
|
||||
memory->create_kokkos( d_kineticsData.inu, h_kineticsData.inu, nreactions, sparseKinetics_maxSpecies, "KineticsType::inu");
|
||||
memory->create_kokkos( d_kineticsData.isIntegral, h_kineticsData.isIntegral, nreactions, "KineticsType::isIntegral");
|
||||
memoryKK->create_kokkos( d_kineticsData.inu, h_kineticsData.inu, nreactions, sparseKinetics_maxSpecies, "KineticsType::inu");
|
||||
memoryKK->create_kokkos( d_kineticsData.isIntegral, h_kineticsData.isIntegral, nreactions, "KineticsType::isIntegral");
|
||||
|
||||
for (int i = 0; i < nreactions; ++i)
|
||||
{
|
||||
|
@ -1286,9 +1289,9 @@ void FixRxKokkos<DeviceType>::create_kinetics_data(void)
|
|||
//{
|
||||
|
||||
// Dense option
|
||||
memory->create_kokkos( d_kineticsData.stoich, h_kineticsData.stoich, nreactions, nspecies, "KineticsType::stoich");
|
||||
memory->create_kokkos( d_kineticsData.stoichReactants, h_kineticsData.stoichReactants, nreactions, nspecies, "KineticsType::stoichReactants");
|
||||
memory->create_kokkos( d_kineticsData.stoichProducts, h_kineticsData.stoichProducts, nreactions, nspecies, "KineticsType::stoichProducts");
|
||||
memoryKK->create_kokkos( d_kineticsData.stoich, h_kineticsData.stoich, nreactions, nspecies, "KineticsType::stoich");
|
||||
memoryKK->create_kokkos( d_kineticsData.stoichReactants, h_kineticsData.stoichReactants, nreactions, nspecies, "KineticsType::stoichReactants");
|
||||
memoryKK->create_kokkos( d_kineticsData.stoichProducts, h_kineticsData.stoichProducts, nreactions, nspecies, "KineticsType::stoichProducts");
|
||||
|
||||
for (int i = 0; i < nreactions; ++i)
|
||||
for (int k = 0; k < nspecies; ++k)
|
||||
|
@ -1445,8 +1448,8 @@ void FixRxKokkos<DeviceType>::solve_reactions(const int vflag, const bool isPreF
|
|||
const int count = nlocal + (newton_pair ? nghost : 0);
|
||||
|
||||
if (count > k_dpdThetaLocal.template view<DeviceType>().dimension_0()) {
|
||||
memory->destroy_kokkos (k_dpdThetaLocal, dpdThetaLocal);
|
||||
memory->create_kokkos (k_dpdThetaLocal, dpdThetaLocal, count, "FixRxKokkos::dpdThetaLocal");
|
||||
memoryKK->destroy_kokkos (k_dpdThetaLocal, dpdThetaLocal);
|
||||
memoryKK->create_kokkos (k_dpdThetaLocal, dpdThetaLocal, count, "FixRxKokkos::dpdThetaLocal");
|
||||
this->d_dpdThetaLocal = k_dpdThetaLocal.template view<DeviceType>();
|
||||
this->h_dpdThetaLocal = k_dpdThetaLocal.h_view;
|
||||
}
|
||||
|
@ -1511,8 +1514,8 @@ void FixRxKokkos<DeviceType>::solve_reactions(const int vflag, const bool isPreF
|
|||
|
||||
if (odeIntegrationFlag == ODE_LAMMPS_RKF45 && diagnosticFrequency == 1)
|
||||
{
|
||||
memory->create_kokkos (k_diagnosticCounterPerODEnSteps, diagnosticCounterPerODEnSteps, nlocal, "FixRxKokkos::diagnosticCounterPerODEnSteps");
|
||||
memory->create_kokkos (k_diagnosticCounterPerODEnFuncs, diagnosticCounterPerODEnFuncs, nlocal, "FixRxKokkos::diagnosticCounterPerODEnFuncs");
|
||||
memoryKK->create_kokkos (k_diagnosticCounterPerODEnSteps, diagnosticCounterPerODEnSteps, nlocal, "FixRxKokkos::diagnosticCounterPerODEnSteps");
|
||||
memoryKK->create_kokkos (k_diagnosticCounterPerODEnFuncs, diagnosticCounterPerODEnFuncs, nlocal, "FixRxKokkos::diagnosticCounterPerODEnFuncs");
|
||||
|
||||
d_diagnosticCounterPerODEnSteps = k_diagnosticCounterPerODEnSteps.template view<DeviceType>();
|
||||
d_diagnosticCounterPerODEnFuncs = k_diagnosticCounterPerODEnFuncs.template view<DeviceType>();
|
||||
|
@ -1542,8 +1545,8 @@ void FixRxKokkos<DeviceType>::solve_reactions(const int vflag, const bool isPreF
|
|||
|
||||
//typename ArrayTypes<DeviceType>::t_double_1d d_scratchSpace("d_scratchSpace", scratchSpaceSize * nlocal);
|
||||
if (nlocal*scratchSpaceSize > d_scratchSpace.dimension_0()) {
|
||||
memory->destroy_kokkos (d_scratchSpace);
|
||||
memory->create_kokkos (d_scratchSpace, nlocal*scratchSpaceSize, "FixRxKokkos::d_scratchSpace");
|
||||
memoryKK->destroy_kokkos (d_scratchSpace);
|
||||
memoryKK->create_kokkos (d_scratchSpace, nlocal*scratchSpaceSize, "FixRxKokkos::d_scratchSpace");
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
@ -1811,8 +1814,8 @@ void FixRxKokkos<DeviceType>::odeDiagnostics(void)
|
|||
my_min[FuncSum] = std::min( my_min[FuncSum], (double)nFuncs );
|
||||
}
|
||||
|
||||
memory->destroy_kokkos( k_diagnosticCounterPerODEnSteps, diagnosticCounterPerODEnSteps );
|
||||
memory->destroy_kokkos( k_diagnosticCounterPerODEnFuncs, diagnosticCounterPerODEnFuncs );
|
||||
memoryKK->destroy_kokkos( k_diagnosticCounterPerODEnSteps, diagnosticCounterPerODEnSteps );
|
||||
memoryKK->destroy_kokkos( k_diagnosticCounterPerODEnFuncs, diagnosticCounterPerODEnFuncs );
|
||||
|
||||
MPI_Reduce (my_sum_sq, sum_sq, 2*numCounters, MPI_DOUBLE, MPI_SUM, 0, world);
|
||||
|
||||
|
@ -2022,10 +2025,10 @@ void FixRxKokkos<DeviceType>::computeLocalTemperature()
|
|||
{
|
||||
const int ntypes = atom->ntypes;
|
||||
|
||||
//memory->create_kokkos (k_cutsq, h_cutsq, ntypes+1, ntypes+1, "pair:cutsq");
|
||||
//memoryKK->create_kokkos (k_cutsq, h_cutsq, ntypes+1, ntypes+1, "pair:cutsq");
|
||||
if (ntypes+1 > k_cutsq.dimension_0()) {
|
||||
memory->destroy_kokkos (k_cutsq);
|
||||
memory->create_kokkos (k_cutsq, ntypes+1, ntypes+1, "FixRxKokkos::k_cutsq");
|
||||
memoryKK->destroy_kokkos (k_cutsq);
|
||||
memoryKK->create_kokkos (k_cutsq, ntypes+1, ntypes+1, "FixRxKokkos::k_cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -2043,10 +2046,10 @@ void FixRxKokkos<DeviceType>::computeLocalTemperature()
|
|||
// Initialize the local temperature weight array
|
||||
int sumWeightsCt = nlocal + (NEWTON_PAIR ? nghost : 0);
|
||||
|
||||
//memory->create_kokkos (k_sumWeights, sumWeights, sumWeightsCt, "FixRxKokkos::sumWeights");
|
||||
//memoryKK->create_kokkos (k_sumWeights, sumWeights, sumWeightsCt, "FixRxKokkos::sumWeights");
|
||||
if (sumWeightsCt > k_sumWeights.template view<DeviceType>().dimension_0()) {
|
||||
memory->destroy_kokkos(k_sumWeights, sumWeights);
|
||||
memory->create_kokkos (k_sumWeights, sumWeightsCt, "FixRxKokkos::sumWeights");
|
||||
memoryKK->destroy_kokkos(k_sumWeights, sumWeights);
|
||||
memoryKK->create_kokkos (k_sumWeights, sumWeightsCt, "FixRxKokkos::sumWeights");
|
||||
d_sumWeights = k_sumWeights.template view<DeviceType>();
|
||||
h_sumWeights = k_sumWeights.h_view;
|
||||
}
|
||||
|
|
|
@ -22,10 +22,11 @@
|
|||
#include "respa.h"
|
||||
#include "input.h"
|
||||
#include "variable.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "force.h"
|
||||
#include "atom_masks.h"
|
||||
#include "kokkos_base.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace FixConst;
|
||||
|
@ -45,7 +46,7 @@ FixSetForceKokkos<DeviceType>::FixSetForceKokkos(LAMMPS *lmp, int narg, char **a
|
|||
datamask_modify = EMPTY_MASK;
|
||||
|
||||
memory->destroy(sforce);
|
||||
memory->create_kokkos(k_sforce,sforce,maxatom,3,"setforce:sforce");
|
||||
memoryKK->create_kokkos(k_sforce,sforce,maxatom,3,"setforce:sforce");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
@ -55,7 +56,7 @@ FixSetForceKokkos<DeviceType>::~FixSetForceKokkos()
|
|||
{
|
||||
if (copymode) return;
|
||||
|
||||
memory->destroy_kokkos(k_sforce,sforce);
|
||||
memoryKK->destroy_kokkos(k_sforce,sforce);
|
||||
sforce = NULL;
|
||||
}
|
||||
|
||||
|
@ -90,7 +91,8 @@ void FixSetForceKokkos<DeviceType>::post_force(int vflag)
|
|||
region = domain->regions[iregion];
|
||||
region->prematch();
|
||||
DAT::tdual_int_1d k_match = DAT::tdual_int_1d("setforce:k_match",nlocal);
|
||||
region->match_all_kokkos(groupbit,k_match);
|
||||
KokkosBase* regionKKBase = dynamic_cast<KokkosBase*>(region);
|
||||
regionKKBase->match_all_kokkos(groupbit,k_match);
|
||||
k_match.template sync<DeviceType>();
|
||||
d_match = k_match.template view<DeviceType>();
|
||||
}
|
||||
|
@ -99,8 +101,8 @@ void FixSetForceKokkos<DeviceType>::post_force(int vflag)
|
|||
|
||||
if (varflag == ATOM && atom->nmax > maxatom) {
|
||||
maxatom = atom->nmax;
|
||||
memory->destroy_kokkos(k_sforce,sforce);
|
||||
memory->create_kokkos(k_sforce,sforce,maxatom,3,"setforce:sforce");
|
||||
memoryKK->destroy_kokkos(k_sforce,sforce);
|
||||
memoryKK->create_kokkos(k_sforce,sforce,maxatom,3,"setforce:sforce");
|
||||
}
|
||||
|
||||
foriginal[0] = foriginal[1] = foriginal[2] = 0.0;
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
#include "neighbor.h"
|
||||
#include "neigh_list_kokkos.h"
|
||||
#include "neigh_request.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "domain.h"
|
||||
#include "modify.h"
|
||||
// #include "pair_dpd_fdt.h"
|
||||
|
|
|
@ -15,8 +15,9 @@
|
|||
#include "gridcomm_kokkos.h"
|
||||
#include "comm.h"
|
||||
#include "kspace.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "kokkos_base.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
|
@ -126,8 +127,8 @@ template<class DeviceType>
|
|||
GridCommKokkos<DeviceType>::~GridCommKokkos()
|
||||
{
|
||||
for (int i = 0; i < nswap; i++) {
|
||||
//memory->destroy_kokkos(swap[i].k_packlist,swap[i].packlist);
|
||||
//memory->destroy_kokkos(swap[i].k_unpacklist,swap[i].unpacklist);
|
||||
//memoryKK->destroy_kokkos(swap[i].k_packlist,swap[i].packlist);
|
||||
//memoryKK->destroy_kokkos(swap[i].k_unpacklist,swap[i].unpacklist);
|
||||
}
|
||||
memory->sfree(swap);
|
||||
|
||||
|
@ -515,11 +516,13 @@ void GridCommKokkos<DeviceType>::forward_comm(KSpace *kspace, int which)
|
|||
k_packlist.sync<DeviceType>();
|
||||
k_unpacklist.sync<DeviceType>();
|
||||
|
||||
KokkosBase* kspaceKKBase = dynamic_cast<KokkosBase*>(kspace);
|
||||
|
||||
for (int m = 0; m < nswap; m++) {
|
||||
if (swap[m].sendproc == me)
|
||||
kspace->pack_forward_kokkos(which,k_buf2,swap[m].npack,k_packlist,m);
|
||||
kspaceKKBase->pack_forward_kspace_kokkos(which,k_buf2,swap[m].npack,k_packlist,m);
|
||||
else
|
||||
kspace->pack_forward_kokkos(which,k_buf1,swap[m].npack,k_packlist,m);
|
||||
kspaceKKBase->pack_forward_kspace_kokkos(which,k_buf1,swap[m].npack,k_packlist,m);
|
||||
|
||||
if (swap[m].sendproc != me) {
|
||||
MPI_Irecv(k_buf2.view<DeviceType>().ptr_on_device(),nforward*swap[m].nunpack,MPI_FFT_SCALAR,
|
||||
|
@ -529,7 +532,7 @@ void GridCommKokkos<DeviceType>::forward_comm(KSpace *kspace, int which)
|
|||
MPI_Wait(&request,MPI_STATUS_IGNORE);
|
||||
}
|
||||
|
||||
kspace->unpack_forward_kokkos(which,k_buf2,swap[m].nunpack,k_unpacklist,m);
|
||||
kspaceKKBase->unpack_forward_kspace_kokkos(which,k_buf2,swap[m].nunpack,k_unpacklist,m);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -544,11 +547,13 @@ void GridCommKokkos<DeviceType>::reverse_comm(KSpace *kspace, int which)
|
|||
k_packlist.sync<DeviceType>();
|
||||
k_unpacklist.sync<DeviceType>();
|
||||
|
||||
KokkosBase* kspaceKKBase = dynamic_cast<KokkosBase*>(kspace);
|
||||
|
||||
for (int m = nswap-1; m >= 0; m--) {
|
||||
if (swap[m].recvproc == me)
|
||||
kspace->pack_reverse_kokkos(which,k_buf2,swap[m].nunpack,k_unpacklist,m);
|
||||
kspaceKKBase->pack_reverse_kspace_kokkos(which,k_buf2,swap[m].nunpack,k_unpacklist,m);
|
||||
else
|
||||
kspace->pack_reverse_kokkos(which,k_buf1,swap[m].nunpack,k_unpacklist,m);
|
||||
kspaceKKBase->pack_reverse_kspace_kokkos(which,k_buf1,swap[m].nunpack,k_unpacklist,m);
|
||||
|
||||
if (swap[m].recvproc != me) {
|
||||
MPI_Irecv(k_buf2.view<DeviceType>().ptr_on_device(),nreverse*swap[m].npack,MPI_FFT_SCALAR,
|
||||
|
@ -558,7 +563,7 @@ void GridCommKokkos<DeviceType>::reverse_comm(KSpace *kspace, int which)
|
|||
MPI_Wait(&request,MPI_STATUS_IGNORE);
|
||||
}
|
||||
|
||||
kspace->unpack_reverse_kokkos(which,k_buf2,swap[m].npack,k_packlist,m);
|
||||
kspaceKKBase->unpack_reverse_kspace_kokkos(which,k_buf2,swap[m].npack,k_packlist,m);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include "force.h"
|
||||
#include "update.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -58,8 +58,8 @@ template<class DeviceType>
|
|||
ImproperClass2Kokkos<DeviceType>::~ImproperClass2Kokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -78,15 +78,15 @@ void ImproperClass2Kokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
|
||||
if (eflag_atom) {
|
||||
//if(k_eatom.dimension_0()<maxeatom) { // won't work without adding zero functor
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"improper:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"improper:eatom");
|
||||
d_eatom = k_eatom.template view<DeviceType>();
|
||||
//}
|
||||
}
|
||||
if (vflag_atom) {
|
||||
//if(k_vatom.dimension_0()<maxvatom) { // won't work without adding zero functor
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"improper:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"improper:vatom");
|
||||
d_vatom = k_vatom.template view<DeviceType>();
|
||||
//}
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include "force.h"
|
||||
#include "update.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -58,8 +58,8 @@ template<class DeviceType>
|
|||
ImproperHarmonicKokkos<DeviceType>::~ImproperHarmonicKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -78,15 +78,15 @@ void ImproperHarmonicKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
|
||||
if (eflag_atom) {
|
||||
//if(k_eatom.dimension_0()<maxeatom) { // won't work without adding zero functor
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"improper:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"improper:eatom");
|
||||
d_eatom = k_eatom.template view<DeviceType>();
|
||||
//}
|
||||
}
|
||||
if (vflag_atom) {
|
||||
//if(k_vatom.dimension_0()<maxvatom) { // won't work without adding zero functor
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"improper:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"improper:vatom");
|
||||
d_vatom = k_vatom.template view<DeviceType>();
|
||||
//}
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "neighbor_kokkos.h"
|
||||
#include "neigh_list_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "memory_kokkos.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
|
@ -33,6 +34,10 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp)
|
|||
kokkos_exists = 1;
|
||||
lmp->kokkos = this;
|
||||
|
||||
delete memory;
|
||||
memory = new MemoryKokkos(lmp);
|
||||
memoryKK = (MemoryKokkos*) memory;
|
||||
|
||||
auto_sync = 1;
|
||||
|
||||
int me = 0;
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef KOKKOS_BASE_H
|
||||
#define KOKKOS_BASE_H
|
||||
|
||||
#include "kokkos_type.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class KokkosBase {
|
||||
public:
|
||||
KokkosBase() {}
|
||||
|
||||
//Kspace
|
||||
virtual void pack_forward_kspace_kokkos(int, DAT::tdual_FFT_SCALAR_1d &, int, DAT::tdual_int_2d &, int) {};
|
||||
virtual void unpack_forward_kspace_kokkos(int, DAT::tdual_FFT_SCALAR_1d &, int, DAT::tdual_int_2d &, int) {};
|
||||
virtual void pack_reverse_kspace_kokkos(int, DAT::tdual_FFT_SCALAR_1d &, int, DAT::tdual_int_2d &, int) {};
|
||||
virtual void unpack_reverse_kspace_kokkos(int, DAT::tdual_FFT_SCALAR_1d &, int, DAT::tdual_int_2d &, int) {};
|
||||
|
||||
// Pair
|
||||
virtual int pack_forward_comm_kokkos(int, DAT::tdual_int_2d,
|
||||
int, DAT::tdual_xfloat_1d &,
|
||||
int, int *) {return 0;};
|
||||
virtual void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d &) {}
|
||||
|
||||
// Region
|
||||
virtual void match_all_kokkos(int, DAT::tdual_int_1d) {}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
*/
|
|
@ -11,6 +11,18 @@
|
|||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_MEMORY_KOKKOS_H
|
||||
#define LMP_MEMORY_KOKKOS_H
|
||||
|
||||
#include "memory.h"
|
||||
#include "kokkos_type.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class MemoryKokkos : public Memory {
|
||||
public:
|
||||
MemoryKokkos(class LAMMPS *lmp) : Memory(lmp) {}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Kokkos versions of create/grow/destroy multi-dimensional arrays
|
||||
------------------------------------------------------------------------- */
|
||||
|
@ -279,3 +291,10 @@ void destroy_kokkos(TYPE data, typename TYPE::value_type** &array)
|
|||
sfree(array);
|
||||
array = NULL;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
// #include "memory.h"
|
||||
// #include "memory_kokkos.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "domain_kokkos.h"
|
||||
#include "output.h"
|
||||
#include "thermo.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "modify.h"
|
||||
#include "fix.h"
|
||||
|
@ -80,27 +80,27 @@ void NeighBondKokkos<DeviceType>::init_topology_kk() {
|
|||
if (atom->molecular && atom->nbonds && maxbond == 0) {
|
||||
if (nprocs == 1) maxbond = atom->nbonds;
|
||||
else maxbond = static_cast<int> (LB_FACTOR * atom->nbonds / nprocs);
|
||||
memory->create_kokkos(k_bondlist,neighbor->bondlist,maxbond,3,"neigh:neighbor->bondlist");
|
||||
memoryKK->create_kokkos(k_bondlist,neighbor->bondlist,maxbond,3,"neigh:neighbor->bondlist");
|
||||
}
|
||||
|
||||
if (atom->molecular && atom->nangles && maxangle == 0) {
|
||||
if (nprocs == 1) maxangle = atom->nangles;
|
||||
else maxangle = static_cast<int> (LB_FACTOR * atom->nangles / nprocs);
|
||||
memory->create_kokkos(k_anglelist,neighbor->anglelist,maxangle,4,"neigh:neighbor->anglelist");
|
||||
memoryKK->create_kokkos(k_anglelist,neighbor->anglelist,maxangle,4,"neigh:neighbor->anglelist");
|
||||
}
|
||||
|
||||
if (atom->molecular && atom->ndihedrals && maxdihedral == 0) {
|
||||
if (nprocs == 1) maxdihedral = atom->ndihedrals;
|
||||
else maxdihedral = static_cast<int>
|
||||
(LB_FACTOR * atom->ndihedrals / nprocs);
|
||||
memory->create_kokkos(k_dihedrallist,neighbor->dihedrallist,maxdihedral,5,"neigh:neighbor->dihedrallist");
|
||||
memoryKK->create_kokkos(k_dihedrallist,neighbor->dihedrallist,maxdihedral,5,"neigh:neighbor->dihedrallist");
|
||||
}
|
||||
|
||||
if (atom->molecular && atom->nimpropers && maximproper == 0) {
|
||||
if (nprocs == 1) maximproper = atom->nimpropers;
|
||||
else maximproper = static_cast<int>
|
||||
(LB_FACTOR * atom->nimpropers / nprocs);
|
||||
memory->create_kokkos(k_improperlist,neighbor->improperlist,maximproper,5,"neigh:neighbor->improperlist");
|
||||
memoryKK->create_kokkos(k_improperlist,neighbor->improperlist,maximproper,5,"neigh:neighbor->improperlist");
|
||||
}
|
||||
|
||||
// set flags that determine which topology neighboring routines to use
|
||||
|
@ -283,7 +283,7 @@ void NeighBondKokkos<DeviceType>::bond_all()
|
|||
k_fail_flag.template sync<LMPHostType>();
|
||||
if (h_fail_flag()) {
|
||||
maxbond = neighbor->nbondlist + BONDDELTA;
|
||||
memory->grow_kokkos(k_bondlist,neighbor->bondlist,maxbond,3,"neighbor:neighbor->bondlist");
|
||||
memoryKK->grow_kokkos(k_bondlist,neighbor->bondlist,maxbond,3,"neighbor:neighbor->bondlist");
|
||||
v_bondlist = k_bondlist.view<DeviceType>();
|
||||
}
|
||||
} while (h_fail_flag());
|
||||
|
@ -378,7 +378,7 @@ void NeighBondKokkos<DeviceType>::bond_partial()
|
|||
k_fail_flag.template sync<LMPHostType>();
|
||||
if (h_fail_flag()) {
|
||||
maxbond = neighbor->nbondlist + BONDDELTA;
|
||||
memory->grow_kokkos(k_bondlist,neighbor->bondlist,maxbond,3,"neighbor:neighbor->bondlist");
|
||||
memoryKK->grow_kokkos(k_bondlist,neighbor->bondlist,maxbond,3,"neighbor:neighbor->bondlist");
|
||||
v_bondlist = k_bondlist.view<DeviceType>();
|
||||
}
|
||||
} while (h_fail_flag());
|
||||
|
@ -500,7 +500,7 @@ void NeighBondKokkos<DeviceType>::angle_all()
|
|||
k_fail_flag.template sync<LMPHostType>();
|
||||
if (h_fail_flag()) {
|
||||
maxangle = neighbor->nanglelist + BONDDELTA;
|
||||
memory->grow_kokkos(k_anglelist,neighbor->anglelist,maxangle,4,"neighbor:neighbor->anglelist");
|
||||
memoryKK->grow_kokkos(k_anglelist,neighbor->anglelist,maxangle,4,"neighbor:neighbor->anglelist");
|
||||
v_anglelist = k_anglelist.view<DeviceType>();
|
||||
}
|
||||
} while (h_fail_flag());
|
||||
|
@ -602,7 +602,7 @@ void NeighBondKokkos<DeviceType>::angle_partial()
|
|||
k_fail_flag.template sync<LMPHostType>();
|
||||
if (h_fail_flag()) {
|
||||
maxangle = neighbor->nanglelist + BONDDELTA;
|
||||
memory->grow_kokkos(k_anglelist,neighbor->anglelist,maxangle,4,"neighbor:neighbor->anglelist");
|
||||
memoryKK->grow_kokkos(k_anglelist,neighbor->anglelist,maxangle,4,"neighbor:neighbor->anglelist");
|
||||
v_anglelist = k_anglelist.view<DeviceType>();
|
||||
}
|
||||
} while (h_fail_flag());
|
||||
|
@ -744,7 +744,7 @@ void NeighBondKokkos<DeviceType>::dihedral_all()
|
|||
k_fail_flag.template sync<LMPHostType>();
|
||||
if (h_fail_flag()) {
|
||||
maxdihedral = neighbor->ndihedrallist + BONDDELTA;
|
||||
memory->grow_kokkos(k_dihedrallist,neighbor->dihedrallist,maxdihedral,5,"neighbor:neighbor->dihedrallist");
|
||||
memoryKK->grow_kokkos(k_dihedrallist,neighbor->dihedrallist,maxdihedral,5,"neighbor:neighbor->dihedrallist");
|
||||
v_dihedrallist = k_dihedrallist.view<DeviceType>();
|
||||
}
|
||||
} while (h_fail_flag());
|
||||
|
@ -851,7 +851,7 @@ void NeighBondKokkos<DeviceType>::dihedral_partial()
|
|||
k_fail_flag.template sync<LMPHostType>();
|
||||
if (h_fail_flag()) {
|
||||
maxdihedral = neighbor->ndihedrallist + BONDDELTA;
|
||||
memory->grow_kokkos(k_dihedrallist,neighbor->dihedrallist,maxdihedral,5,"neighbor:neighbor->dihedrallist");
|
||||
memoryKK->grow_kokkos(k_dihedrallist,neighbor->dihedrallist,maxdihedral,5,"neighbor:neighbor->dihedrallist");
|
||||
v_dihedrallist = k_dihedrallist.view<DeviceType>();
|
||||
}
|
||||
} while (h_fail_flag());
|
||||
|
@ -1015,7 +1015,7 @@ void NeighBondKokkos<DeviceType>::improper_all()
|
|||
k_fail_flag.template sync<LMPHostType>();
|
||||
if (h_fail_flag()) {
|
||||
maximproper = neighbor->nimproperlist + BONDDELTA;
|
||||
memory->grow_kokkos(k_improperlist,neighbor->improperlist,maximproper,5,"neighbor:neighbor->improperlist");
|
||||
memoryKK->grow_kokkos(k_improperlist,neighbor->improperlist,maximproper,5,"neighbor:neighbor->improperlist");
|
||||
v_improperlist = k_improperlist.view<DeviceType>();
|
||||
}
|
||||
} while (h_fail_flag());
|
||||
|
@ -1122,7 +1122,7 @@ void NeighBondKokkos<DeviceType>::improper_partial()
|
|||
k_fail_flag.template sync<LMPHostType>();
|
||||
if (h_fail_flag()) {
|
||||
maximproper = neighbor->nimproperlist + BONDDELTA;
|
||||
memory->grow_kokkos(k_improperlist,neighbor->improperlist,maximproper,5,"neighbor:neighbor->improperlist");
|
||||
memoryKK->grow_kokkos(k_improperlist,neighbor->improperlist,maximproper,5,"neighbor:neighbor->improperlist");
|
||||
v_improperlist = k_improperlist.view<DeviceType>();
|
||||
}
|
||||
} while (h_fail_flag());
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include "neigh_list_kokkos.h"
|
||||
#include "atom.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
|
|
|
@ -12,11 +12,11 @@
|
|||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "neighbor_kokkos.h"
|
||||
#include "atom.h"
|
||||
#include "atom_kokkos.h"
|
||||
#include "pair.h"
|
||||
#include "fix.h"
|
||||
#include "neigh_request.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "update.h"
|
||||
#include "atom_masks.h"
|
||||
#include "error.h"
|
||||
|
@ -52,24 +52,24 @@ NeighborKokkos::NeighborKokkos(LAMMPS *lmp) : Neighbor(lmp),
|
|||
NeighborKokkos::~NeighborKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_cutneighsq,cutneighsq);
|
||||
memoryKK->destroy_kokkos(k_cutneighsq,cutneighsq);
|
||||
cutneighsq = NULL;
|
||||
|
||||
memory->destroy_kokkos(k_ex_type,ex_type);
|
||||
memory->destroy_kokkos(k_ex1_type,ex1_type);
|
||||
memory->destroy_kokkos(k_ex2_type,ex2_type);
|
||||
memory->destroy_kokkos(k_ex1_group,ex1_group);
|
||||
memory->destroy_kokkos(k_ex2_group,ex2_group);
|
||||
memory->destroy_kokkos(k_ex_mol_group,ex_mol_group);
|
||||
memory->destroy_kokkos(k_ex1_bit,ex1_bit);
|
||||
memory->destroy_kokkos(k_ex2_bit,ex2_bit);
|
||||
memory->destroy_kokkos(k_ex_mol_bit,ex_mol_bit);
|
||||
memory->destroy_kokkos(k_ex_mol_intra,ex_mol_intra);
|
||||
memoryKK->destroy_kokkos(k_ex_type,ex_type);
|
||||
memoryKK->destroy_kokkos(k_ex1_type,ex1_type);
|
||||
memoryKK->destroy_kokkos(k_ex2_type,ex2_type);
|
||||
memoryKK->destroy_kokkos(k_ex1_group,ex1_group);
|
||||
memoryKK->destroy_kokkos(k_ex2_group,ex2_group);
|
||||
memoryKK->destroy_kokkos(k_ex_mol_group,ex_mol_group);
|
||||
memoryKK->destroy_kokkos(k_ex1_bit,ex1_bit);
|
||||
memoryKK->destroy_kokkos(k_ex2_bit,ex2_bit);
|
||||
memoryKK->destroy_kokkos(k_ex_mol_bit,ex_mol_bit);
|
||||
memoryKK->destroy_kokkos(k_ex_mol_intra,ex_mol_intra);
|
||||
|
||||
memory->destroy_kokkos(k_bondlist,bondlist);
|
||||
memory->destroy_kokkos(k_anglelist,anglelist);
|
||||
memory->destroy_kokkos(k_dihedrallist,dihedrallist);
|
||||
memory->destroy_kokkos(k_improperlist,improperlist);
|
||||
memoryKK->destroy_kokkos(k_bondlist,bondlist);
|
||||
memoryKK->destroy_kokkos(k_anglelist,anglelist);
|
||||
memoryKK->destroy_kokkos(k_dihedrallist,dihedrallist);
|
||||
memoryKK->destroy_kokkos(k_improperlist,improperlist);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -90,7 +90,7 @@ void NeighborKokkos::init()
|
|||
|
||||
void NeighborKokkos::init_cutneighsq_kokkos(int n)
|
||||
{
|
||||
memory->create_kokkos(k_cutneighsq,cutneighsq,n+1,n+1,"neigh:cutneighsq");
|
||||
memoryKK->create_kokkos(k_cutneighsq,cutneighsq,n+1,n+1,"neigh:cutneighsq");
|
||||
k_cutneighsq.modify<LMPHostType>();
|
||||
}
|
||||
|
||||
|
@ -112,7 +112,7 @@ void NeighborKokkos::create_kokkos_list(int i)
|
|||
|
||||
void NeighborKokkos::init_ex_type_kokkos(int n)
|
||||
{
|
||||
memory->create_kokkos(k_ex_type,ex_type,n+1,n+1,"neigh:ex_type");
|
||||
memoryKK->create_kokkos(k_ex_type,ex_type,n+1,n+1,"neigh:ex_type");
|
||||
k_ex_type.modify<LMPHostType>();
|
||||
}
|
||||
|
||||
|
@ -120,9 +120,9 @@ void NeighborKokkos::init_ex_type_kokkos(int n)
|
|||
|
||||
void NeighborKokkos::init_ex_bit_kokkos()
|
||||
{
|
||||
memory->create_kokkos(k_ex1_bit, ex1_bit, nex_group, "neigh:ex1_bit");
|
||||
memoryKK->create_kokkos(k_ex1_bit, ex1_bit, nex_group, "neigh:ex1_bit");
|
||||
k_ex1_bit.modify<LMPHostType>();
|
||||
memory->create_kokkos(k_ex2_bit, ex2_bit, nex_group, "neigh:ex2_bit");
|
||||
memoryKK->create_kokkos(k_ex2_bit, ex2_bit, nex_group, "neigh:ex2_bit");
|
||||
k_ex2_bit.modify<LMPHostType>();
|
||||
}
|
||||
|
||||
|
@ -130,7 +130,7 @@ void NeighborKokkos::init_ex_bit_kokkos()
|
|||
|
||||
void NeighborKokkos::init_ex_mol_bit_kokkos()
|
||||
{
|
||||
memory->create_kokkos(k_ex_mol_bit, ex_mol_bit, nex_mol, "neigh:ex_mol_bit");
|
||||
memoryKK->create_kokkos(k_ex_mol_bit, ex_mol_bit, nex_mol, "neigh:ex_mol_bit");
|
||||
k_ex_mol_bit.modify<LMPHostType>();
|
||||
}
|
||||
|
||||
|
@ -138,7 +138,7 @@ void NeighborKokkos::init_ex_mol_bit_kokkos()
|
|||
|
||||
void NeighborKokkos::grow_ex_mol_intra_kokkos()
|
||||
{
|
||||
memory->grow_kokkos(k_ex_mol_intra, ex_mol_intra, maxex_mol, "neigh:ex_mol_intra");
|
||||
memoryKK->grow_kokkos(k_ex_mol_intra, ex_mol_intra, maxex_mol, "neigh:ex_mol_intra");
|
||||
k_ex_mol_intra.modify<LMPHostType>();
|
||||
}
|
||||
|
||||
|
@ -335,29 +335,29 @@ void NeighborKokkos::operator()(TagNeighborXhold<DeviceType>, const int &i) cons
|
|||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void NeighborKokkos::modify_ex_type_grow_kokkos(){
|
||||
memory->grow_kokkos(k_ex1_type,ex1_type,maxex_type,"neigh:ex1_type");
|
||||
memoryKK->grow_kokkos(k_ex1_type,ex1_type,maxex_type,"neigh:ex1_type");
|
||||
k_ex1_type.modify<LMPHostType>();
|
||||
memory->grow_kokkos(k_ex2_type,ex2_type,maxex_type,"neigh:ex2_type");
|
||||
memoryKK->grow_kokkos(k_ex2_type,ex2_type,maxex_type,"neigh:ex2_type");
|
||||
k_ex2_type.modify<LMPHostType>();
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
void NeighborKokkos::modify_ex_group_grow_kokkos(){
|
||||
memory->grow_kokkos(k_ex1_group,ex1_group,maxex_group,"neigh:ex1_group");
|
||||
memoryKK->grow_kokkos(k_ex1_group,ex1_group,maxex_group,"neigh:ex1_group");
|
||||
k_ex1_group.modify<LMPHostType>();
|
||||
memory->grow_kokkos(k_ex2_group,ex2_group,maxex_group,"neigh:ex2_group");
|
||||
memoryKK->grow_kokkos(k_ex2_group,ex2_group,maxex_group,"neigh:ex2_group");
|
||||
k_ex2_group.modify<LMPHostType>();
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
void NeighborKokkos::modify_mol_group_grow_kokkos(){
|
||||
memory->grow_kokkos(k_ex_mol_group,ex_mol_group,maxex_mol,"neigh:ex_mol_group");
|
||||
memoryKK->grow_kokkos(k_ex_mol_group,ex_mol_group,maxex_mol,"neigh:ex_mol_group");
|
||||
k_ex_mol_group.modify<LMPHostType>();
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
void NeighborKokkos::modify_mol_intra_grow_kokkos(){
|
||||
memory->grow_kokkos(k_ex_mol_intra,ex_mol_intra,maxex_mol,"neigh:ex_mol_intra");
|
||||
memoryKK->grow_kokkos(k_ex_mol_intra,ex_mol_intra,maxex_mol,"neigh:ex_mol_intra");
|
||||
k_ex_mol_intra.modify<LMPHostType>();
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -65,8 +65,8 @@ PairBuckCoulCutKokkos<DeviceType>::~PairBuckCoulCutKokkos()
|
|||
{
|
||||
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
k_cutsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_ljsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_coulsq = DAT::tdual_ffloat_2d();
|
||||
|
@ -98,13 +98,13 @@ void PairBuckCoulCutKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -252,13 +252,13 @@ void PairBuckCoulCutKokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
memory->destroy(cut_ljsq);
|
||||
memory->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
memoryKK->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
d_cut_ljsq = k_cut_ljsq.template view<DeviceType>();
|
||||
memory->destroy(cut_coulsq);
|
||||
memory->create_kokkos(k_cut_coulsq,cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
k_params = Kokkos::DualView<params_buck_coul**,Kokkos::LayoutRight,DeviceType>("PairBuckCoulCut::params",n+1,n+1);
|
||||
params = k_params.template view<DeviceType>();
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -73,8 +73,8 @@ template<class DeviceType>
|
|||
PairBuckCoulLongKokkos<DeviceType>::~PairBuckCoulLongKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
k_cutsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_ljsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_coulsq = DAT::tdual_ffloat_2d();
|
||||
|
@ -117,13 +117,13 @@ void PairBuckCoulLongKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -308,14 +308,14 @@ void PairBuckCoulLongKokkos<DeviceType>::allocate()
|
|||
int n = atom->ntypes;
|
||||
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
|
||||
memory->destroy(cut_ljsq);
|
||||
memory->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
memoryKK->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
d_cut_ljsq = k_cut_ljsq.template view<DeviceType>();
|
||||
|
||||
memory->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
|
||||
k_params = Kokkos::DualView<params_buck_coul**,Kokkos::LayoutRight,DeviceType>("PairBuckCoulLong::params",n+1,n+1);
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -61,8 +61,8 @@ template<class DeviceType>
|
|||
PairBuckKokkos<DeviceType>::~PairBuckKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
k_cutsq = DAT::tdual_ffloat_2d();
|
||||
memory->sfree(cutsq);
|
||||
eatom = NULL;
|
||||
|
@ -87,13 +87,13 @@ void PairBuckKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -194,7 +194,7 @@ void PairBuckKokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
k_params = Kokkos::DualView<params_buck**,Kokkos::LayoutRight,DeviceType>("PairBuck::params",n+1,n+1);
|
||||
params = k_params.template view<DeviceType>();
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -55,7 +55,7 @@ template<class DeviceType>
|
|||
PairCoulCutKokkos<DeviceType>::~PairCoulCutKokkos()
|
||||
{
|
||||
if (allocated)
|
||||
memory->destroy_kokkos(k_cutsq, cutsq);
|
||||
memoryKK->destroy_kokkos(k_cutsq, cutsq);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
@ -86,13 +86,13 @@ void PairCoulCutKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -190,7 +190,7 @@ void PairCoulCutKokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
|
||||
k_cut_ljsq = typename ArrayTypes<DeviceType>::tdual_ffloat_2d("pair:cut_ljsq",n+1,n+1);
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -62,7 +62,7 @@ template<class DeviceType>
|
|||
PairCoulDebyeKokkos<DeviceType>::~PairCoulDebyeKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_cutsq, cutsq);
|
||||
memoryKK->destroy_kokkos(k_cutsq, cutsq);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -93,13 +93,13 @@ void PairCoulDebyeKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -218,7 +218,7 @@ void PairCoulDebyeKokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
k_params = Kokkos::DualView<params_coul**,Kokkos::LayoutRight,DeviceType>("PairCoulDebye::params",n+1,n+1);
|
||||
params = k_params.template view<DeviceType>();
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "neighbor.h"
|
||||
#include "neigh_list_kokkos.h"
|
||||
#include "neigh_request.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "update.h"
|
||||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
|
@ -65,8 +65,8 @@ template<class DeviceType>
|
|||
PairCoulDSFKokkos<DeviceType>::~PairCoulDSFKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -86,13 +86,13 @@ void PairCoulDSFKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -72,8 +72,8 @@ template<class DeviceType>
|
|||
PairCoulLongKokkos<DeviceType>::~PairCoulLongKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
k_cutsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_coulsq = DAT::tdual_ffloat_2d();
|
||||
memory->sfree(cutsq);
|
||||
|
@ -110,13 +110,13 @@ void PairCoulLongKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -272,10 +272,10 @@ void PairCoulLongKokkos<DeviceType>::allocate()
|
|||
int n = atom->ntypes;
|
||||
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
|
||||
memory->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
|
||||
k_params = Kokkos::DualView<params_coul**,Kokkos::LayoutRight,DeviceType>("PairCoulLong::params",n+1,n+1);
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -60,8 +60,8 @@ template<class DeviceType>
|
|||
PairCoulWolfKokkos<DeviceType>::~PairCoulWolfKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,13 +81,13 @@ void PairCoulWolfKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
|
|
@ -28,11 +28,12 @@
|
|||
#include "neighbor.h"
|
||||
#include "neigh_list.h"
|
||||
#include "neigh_request.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "modify.h"
|
||||
#include "pair_dpd_fdt_energy_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
#include "kokkos.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
|
@ -62,15 +63,15 @@ PairDPDfdtEnergyKokkos<DeviceType>::~PairDPDfdtEnergyKokkos()
|
|||
{
|
||||
if (copymode) return;
|
||||
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
|
||||
if (allocated) {
|
||||
memory->destroy_kokkos(k_duCond,duCond);
|
||||
memory->destroy_kokkos(k_duMech,duMech);
|
||||
memoryKK->destroy_kokkos(k_duCond,duCond);
|
||||
memoryKK->destroy_kokkos(k_duMech,duMech);
|
||||
}
|
||||
|
||||
memory->destroy_kokkos(k_cutsq,cutsq);
|
||||
memoryKK->destroy_kokkos(k_cutsq,cutsq);
|
||||
|
||||
#ifdef DPD_USE_RAN_MARS
|
||||
rand_pool.destroy();
|
||||
|
@ -167,13 +168,13 @@ void PairDPDfdtEnergyKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.template view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.template view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -274,11 +275,11 @@ void PairDPDfdtEnergyKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
|
||||
// Allocate memory for duCond and duMech
|
||||
if (allocated) {
|
||||
memory->destroy_kokkos(k_duCond,duCond);
|
||||
memory->destroy_kokkos(k_duMech,duMech);
|
||||
memoryKK->destroy_kokkos(k_duCond,duCond);
|
||||
memoryKK->destroy_kokkos(k_duMech,duMech);
|
||||
}
|
||||
memory->create_kokkos(k_duCond,duCond,nlocal+nghost,"pair:duCond");
|
||||
memory->create_kokkos(k_duMech,duMech,nlocal+nghost,"pair:duMech");
|
||||
memoryKK->create_kokkos(k_duCond,duCond,nlocal+nghost,"pair:duCond");
|
||||
memoryKK->create_kokkos(k_duMech,duMech,nlocal+nghost,"pair:duMech");
|
||||
d_duCond = k_duCond.view<DeviceType>();
|
||||
d_duMech = k_duMech.view<DeviceType>();
|
||||
h_duCond = k_duCond.h_view;
|
||||
|
@ -641,7 +642,7 @@ void PairDPDfdtEnergyKokkos<DeviceType>::allocate()
|
|||
int nghost = atom->nghost;
|
||||
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
|
||||
k_params = Kokkos::DualView<params_dpd**,Kokkos::LayoutRight,DeviceType>("PairDPDfdtEnergy::params",n+1,n+1);
|
||||
|
@ -650,8 +651,8 @@ void PairDPDfdtEnergyKokkos<DeviceType>::allocate()
|
|||
if (!splitFDT_flag) {
|
||||
memory->destroy(duCond);
|
||||
memory->destroy(duMech);
|
||||
memory->create_kokkos(k_duCond,duCond,nlocal+nghost+1,"pair:duCond");
|
||||
memory->create_kokkos(k_duMech,duMech,nlocal+nghost+1,"pair:duMech");
|
||||
memoryKK->create_kokkos(k_duCond,duCond,nlocal+nghost+1,"pair:duCond");
|
||||
memoryKK->create_kokkos(k_duMech,duMech,nlocal+nghost+1,"pair:duMech");
|
||||
d_duCond = k_duCond.view<DeviceType>();
|
||||
d_duMech = k_duMech.view<DeviceType>();
|
||||
h_duCond = k_duCond.h_view;
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#include "neighbor.h"
|
||||
#include "neigh_list_kokkos.h"
|
||||
#include "neigh_request.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -59,8 +59,8 @@ template<class DeviceType>
|
|||
PairEAMAlloyKokkos<DeviceType>::~PairEAMAlloyKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -80,13 +80,13 @@ void PairEAMAlloyKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ PairStyle(eam/alloy/kk/host,PairEAMAlloyKokkos<LMPHostType>)
|
|||
#define LMP_PAIR_EAM_ALLOY_KOKKOS_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include "kokkos_base.h"
|
||||
#include "pair_kokkos.h"
|
||||
#include "pair_eam.h"
|
||||
#include "neigh_list_kokkos.h"
|
||||
|
@ -49,7 +50,7 @@ struct TagPairEAMAlloyKernelC{};
|
|||
// Cannot use virtual inheritance on the GPU
|
||||
|
||||
template<class DeviceType>
|
||||
class PairEAMAlloyKokkos : public PairEAM {
|
||||
class PairEAMAlloyKokkos : public PairEAM, public KokkosBase {
|
||||
public:
|
||||
enum {EnabledNeighFlags=FULL|HALFTHREAD|HALF};
|
||||
enum {COUL_FLAG=0};
|
||||
|
@ -59,7 +60,7 @@ class PairEAMAlloyKokkos : public PairEAM {
|
|||
|
||||
PairEAMAlloyKokkos(class LAMMPS *);
|
||||
virtual ~PairEAMAlloyKokkos();
|
||||
virtual void compute(int, int);
|
||||
void compute(int, int);
|
||||
void init_style();
|
||||
void *extract(const char *, int &) { return NULL; }
|
||||
void coeff(int, char **);
|
||||
|
@ -107,11 +108,11 @@ class PairEAMAlloyKokkos : public PairEAM {
|
|||
const F_FLOAT &epair, const F_FLOAT &fpair, const F_FLOAT &delx,
|
||||
const F_FLOAT &dely, const F_FLOAT &delz) const;
|
||||
|
||||
virtual int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&,
|
||||
int, int *);
|
||||
virtual void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&);
|
||||
virtual int pack_forward_comm(int, int *, double *, int, int *);
|
||||
virtual void unpack_forward_comm(int, int, double *);
|
||||
int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&,
|
||||
int, int *);
|
||||
void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&);
|
||||
int pack_forward_comm(int, int *, double *, int, int *);
|
||||
void unpack_forward_comm(int, int, double *);
|
||||
int pack_reverse_comm(int, int, double *);
|
||||
void unpack_reverse_comm(int, int *, double *);
|
||||
|
||||
|
@ -148,7 +149,7 @@ class PairEAMAlloyKokkos : public PairEAM {
|
|||
t_ffloat_2d_n7_randomread d_rhor_spline;
|
||||
t_ffloat_2d_n7_randomread d_z2r_spline;
|
||||
|
||||
virtual void file2array();
|
||||
void file2array();
|
||||
void file2array_alloy();
|
||||
void array2spline();
|
||||
void interpolate(int, double, double *, t_host_ffloat_2d_n7, int);
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#include "neighbor.h"
|
||||
#include "neigh_list_kokkos.h"
|
||||
#include "neigh_request.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -59,8 +59,8 @@ template<class DeviceType>
|
|||
PairEAMFSKokkos<DeviceType>::~PairEAMFSKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -80,13 +80,13 @@ void PairEAMFSKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ PairStyle(eam/fs/kk/host,PairEAMFSKokkos<LMPHostType>)
|
|||
#define LMP_PAIR_EAM_FS_KOKKOS_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include "kokkos_base.h"
|
||||
#include "pair_kokkos.h"
|
||||
#include "pair_eam.h"
|
||||
#include "neigh_list_kokkos.h"
|
||||
|
@ -49,7 +50,7 @@ struct TagPairEAMFSKernelC{};
|
|||
// Cannot use virtual inheritance on the GPU
|
||||
|
||||
template<class DeviceType>
|
||||
class PairEAMFSKokkos : public PairEAM {
|
||||
class PairEAMFSKokkos : public PairEAM, public KokkosBase {
|
||||
public:
|
||||
enum {EnabledNeighFlags=FULL|HALFTHREAD|HALF};
|
||||
enum {COUL_FLAG=0};
|
||||
|
@ -59,7 +60,7 @@ class PairEAMFSKokkos : public PairEAM {
|
|||
|
||||
PairEAMFSKokkos(class LAMMPS *);
|
||||
virtual ~PairEAMFSKokkos();
|
||||
virtual void compute(int, int);
|
||||
void compute(int, int);
|
||||
void init_style();
|
||||
void *extract(const char *, int &) { return NULL; }
|
||||
void coeff(int, char **);
|
||||
|
@ -107,11 +108,11 @@ class PairEAMFSKokkos : public PairEAM {
|
|||
const F_FLOAT &epair, const F_FLOAT &fpair, const F_FLOAT &delx,
|
||||
const F_FLOAT &dely, const F_FLOAT &delz) const;
|
||||
|
||||
virtual int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&,
|
||||
int, int *);
|
||||
virtual void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&);
|
||||
virtual int pack_forward_comm(int, int *, double *, int, int *);
|
||||
virtual void unpack_forward_comm(int, int, double *);
|
||||
int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&,
|
||||
int, int *);
|
||||
void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&);
|
||||
int pack_forward_comm(int, int *, double *, int, int *);
|
||||
void unpack_forward_comm(int, int, double *);
|
||||
int pack_reverse_comm(int, int, double *);
|
||||
void unpack_reverse_comm(int, int *, double *);
|
||||
|
||||
|
@ -148,7 +149,7 @@ class PairEAMFSKokkos : public PairEAM {
|
|||
t_ffloat_2d_n7_randomread d_rhor_spline;
|
||||
t_ffloat_2d_n7_randomread d_z2r_spline;
|
||||
|
||||
virtual void file2array();
|
||||
void file2array();
|
||||
void file2array_fs();
|
||||
void array2spline();
|
||||
void interpolate(int, double, double *, t_host_ffloat_2d_n7, int);
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#include "neighbor.h"
|
||||
#include "neigh_list_kokkos.h"
|
||||
#include "neigh_request.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -54,8 +54,8 @@ template<class DeviceType>
|
|||
PairEAMKokkos<DeviceType>::~PairEAMKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -75,13 +75,13 @@ void PairEAMKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ PairStyle(eam/kk/host,PairEAMKokkos<LMPHostType>)
|
|||
#define LMP_PAIR_EAM_KOKKOS_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include "kokkos_base.h"
|
||||
#include "pair_kokkos.h"
|
||||
#include "pair_eam.h"
|
||||
#include "neigh_list_kokkos.h"
|
||||
|
@ -47,7 +48,7 @@ template<int NEIGHFLAG, int NEWTON_PAIR, int EVFLAG>
|
|||
struct TagPairEAMKernelC{};
|
||||
|
||||
template<class DeviceType>
|
||||
class PairEAMKokkos : public PairEAM {
|
||||
class PairEAMKokkos : public PairEAM, public KokkosBase {
|
||||
public:
|
||||
enum {EnabledNeighFlags=FULL|HALFTHREAD|HALF};
|
||||
enum {COUL_FLAG=0};
|
||||
|
@ -57,7 +58,7 @@ class PairEAMKokkos : public PairEAM {
|
|||
|
||||
PairEAMKokkos(class LAMMPS *);
|
||||
virtual ~PairEAMKokkos();
|
||||
virtual void compute(int, int);
|
||||
void compute(int, int);
|
||||
void init_style();
|
||||
void *extract(const char *, int &) { return NULL; }
|
||||
|
||||
|
@ -104,11 +105,11 @@ class PairEAMKokkos : public PairEAM {
|
|||
const F_FLOAT &epair, const F_FLOAT &fpair, const F_FLOAT &delx,
|
||||
const F_FLOAT &dely, const F_FLOAT &delz) const;
|
||||
|
||||
virtual int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&,
|
||||
int, int *);
|
||||
virtual void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&);
|
||||
virtual int pack_forward_comm(int, int *, double *, int, int *);
|
||||
virtual void unpack_forward_comm(int, int, double *);
|
||||
int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&,
|
||||
int, int *);
|
||||
void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&);
|
||||
int pack_forward_comm(int, int *, double *, int, int *);
|
||||
void unpack_forward_comm(int, int, double *);
|
||||
int pack_reverse_comm(int, int, double *);
|
||||
void unpack_reverse_comm(int, int *, double *);
|
||||
|
||||
|
@ -146,7 +147,7 @@ class PairEAMKokkos : public PairEAM {
|
|||
t_ffloat_2d_n7_randomread d_z2r_spline;
|
||||
void interpolate(int, double, double *, t_host_ffloat_2d_n7, int);
|
||||
|
||||
virtual void file2array();
|
||||
void file2array();
|
||||
void array2spline();
|
||||
|
||||
typename AT::t_neighbors_2d d_neighbors;
|
||||
|
|
|
@ -26,13 +26,15 @@
|
|||
#include "neigh_list.h"
|
||||
#include "math_const.h"
|
||||
#include "math_special_kokkos.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "modify.h"
|
||||
#include "fix.h"
|
||||
#include <float.h>
|
||||
#include "atom_masks.h"
|
||||
#include "neigh_request.h"
|
||||
#include "atom_kokkos.h"
|
||||
#include "kokkos.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace MathConst;
|
||||
|
@ -89,18 +91,18 @@ PairExp6rxKokkos<DeviceType>::~PairExp6rxKokkos()
|
|||
{
|
||||
if (copymode) return;
|
||||
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
|
||||
memory->destroy_kokkos(k_cutsq,cutsq);
|
||||
memoryKK->destroy_kokkos(k_cutsq,cutsq);
|
||||
|
||||
for (int i=0; i < nparams; ++i) {
|
||||
delete[] params[i].name;
|
||||
delete[] params[i].potential;
|
||||
}
|
||||
memory->destroy_kokkos(k_params,params);
|
||||
memoryKK->destroy_kokkos(k_params,params);
|
||||
|
||||
memory->destroy_kokkos(k_mol2param,mol2param);
|
||||
memoryKK->destroy_kokkos(k_mol2param,mol2param);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
@ -151,13 +153,13 @@ void PairExp6rxKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.template view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.template view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -1660,7 +1662,7 @@ void PairExp6rxKokkos<DeviceType>::allocate()
|
|||
for (int j = i; j <= ntypes; j++)
|
||||
setflag[i][j] = 0;
|
||||
|
||||
memory->create_kokkos(k_cutsq,cutsq,ntypes+1,ntypes+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,ntypes+1,ntypes+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
k_cutsq.template modify<LMPHostType>();
|
||||
|
||||
|
@ -1697,7 +1699,7 @@ void PairExp6rxKokkos<DeviceType>::read_file(char *file)
|
|||
int params_per_line = 5;
|
||||
char **words = new char*[params_per_line+1];
|
||||
|
||||
memory->destroy_kokkos(k_params,params);
|
||||
memoryKK->destroy_kokkos(k_params,params);
|
||||
params = NULL;
|
||||
nparams = maxparam = 0;
|
||||
|
||||
|
@ -1777,7 +1779,7 @@ void PairExp6rxKokkos<DeviceType>::read_file(char *file)
|
|||
if (nparams == maxparam) {
|
||||
k_params.template modify<LMPHostType>();
|
||||
maxparam += DELTA;
|
||||
memory->grow_kokkos(k_params,params,maxparam,
|
||||
memoryKK->grow_kokkos(k_params,params,maxparam,
|
||||
"pair:params");
|
||||
}
|
||||
|
||||
|
@ -1816,8 +1818,8 @@ void PairExp6rxKokkos<DeviceType>::setup()
|
|||
// set mol2param for all combinations
|
||||
// must be a single exact match to lines read from file
|
||||
|
||||
memory->destroy_kokkos(k_mol2param,mol2param);
|
||||
memory->create_kokkos(k_mol2param,mol2param,nspecies,"pair:mol2param");
|
||||
memoryKK->destroy_kokkos(k_mol2param,mol2param);
|
||||
memoryKK->create_kokkos(k_mol2param,mol2param,nspecies,"pair:mol2param");
|
||||
|
||||
for (i = 0; i < nspecies; i++) {
|
||||
n = -1;
|
||||
|
|
|
@ -23,10 +23,11 @@
|
|||
#include "neigh_request.h"
|
||||
#include "update.h"
|
||||
#include "comm.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "respa.h"
|
||||
#include "atom_masks.h"
|
||||
#include "kokkos.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
|
||||
#include "Kokkos_Macros.hpp"
|
||||
#include "pair.h"
|
||||
#include "neighbor_kokkos.h"
|
||||
#include "neigh_list_kokkos.h"
|
||||
#include "Kokkos_Vectorization.hpp"
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -73,8 +73,8 @@ template<class DeviceType>
|
|||
PairLJCharmmCoulCharmmImplicitKokkos<DeviceType>::~PairLJCharmmCoulCharmmImplicitKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
k_cutsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_ljsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_coulsq = DAT::tdual_ffloat_2d();
|
||||
|
@ -118,13 +118,13 @@ void PairLJCharmmCoulCharmmImplicitKokkos<DeviceType>::compute(int eflag_in, int
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -315,14 +315,14 @@ void PairLJCharmmCoulCharmmImplicitKokkos<DeviceType>::allocate()
|
|||
int n = atom->ntypes;
|
||||
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
|
||||
//memory->destroy(cut_ljsq);
|
||||
memory->create_kokkos(k_cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
memoryKK->create_kokkos(k_cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
d_cut_ljsq = k_cut_ljsq.template view<DeviceType>();
|
||||
|
||||
memory->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
|
||||
k_params = Kokkos::DualView<params_lj_coul**,Kokkos::LayoutRight,DeviceType>("PairLJCharmmCoulCharmmImplicit::params",n+1,n+1);
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -73,8 +73,8 @@ template<class DeviceType>
|
|||
PairLJCharmmCoulCharmmKokkos<DeviceType>::~PairLJCharmmCoulCharmmKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
k_cutsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_ljsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_coulsq = DAT::tdual_ffloat_2d();
|
||||
|
@ -118,13 +118,13 @@ void PairLJCharmmCoulCharmmKokkos<DeviceType>::compute(int eflag_in, int vflag_i
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -316,14 +316,14 @@ void PairLJCharmmCoulCharmmKokkos<DeviceType>::allocate()
|
|||
int n = atom->ntypes;
|
||||
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
|
||||
//memory->destroy(cut_ljsq);
|
||||
memory->create_kokkos(k_cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
memoryKK->create_kokkos(k_cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
d_cut_ljsq = k_cut_ljsq.template view<DeviceType>();
|
||||
|
||||
memory->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
|
||||
k_params = Kokkos::DualView<params_lj_coul**,Kokkos::LayoutRight,DeviceType>("PairLJCharmmCoulCharmm::params",n+1,n+1);
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -73,8 +73,8 @@ template<class DeviceType>
|
|||
PairLJCharmmCoulLongKokkos<DeviceType>::~PairLJCharmmCoulLongKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
k_cutsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_ljsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_coulsq = DAT::tdual_ffloat_2d();
|
||||
|
@ -118,13 +118,13 @@ void PairLJCharmmCoulLongKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -336,14 +336,14 @@ void PairLJCharmmCoulLongKokkos<DeviceType>::allocate()
|
|||
int n = atom->ntypes;
|
||||
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
|
||||
//memory->destroy(cut_ljsq);
|
||||
memory->create_kokkos(k_cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
memoryKK->create_kokkos(k_cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
d_cut_ljsq = k_cut_ljsq.template view<DeviceType>();
|
||||
|
||||
memory->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
|
||||
k_params = Kokkos::DualView<params_lj_coul**,Kokkos::LayoutRight,DeviceType>("PairLJCharmmCoulLong::params",n+1,n+1);
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -60,9 +60,9 @@ template<class DeviceType>
|
|||
PairLJClass2CoulCutKokkos<DeviceType>::~PairLJClass2CoulCutKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_cutsq, cutsq);
|
||||
memory->destroy_kokkos(k_cut_ljsq, cut_ljsq);
|
||||
memory->destroy_kokkos(k_cut_coulsq, cut_coulsq);
|
||||
memoryKK->destroy_kokkos(k_cutsq, cutsq);
|
||||
memoryKK->destroy_kokkos(k_cut_ljsq, cut_ljsq);
|
||||
memoryKK->destroy_kokkos(k_cut_coulsq, cut_coulsq);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -95,13 +95,13 @@ void PairLJClass2CoulCutKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -255,13 +255,13 @@ void PairLJClass2CoulCutKokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
memory->destroy(cut_ljsq);
|
||||
memory->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
memoryKK->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
d_cut_ljsq = k_cut_ljsq.template view<DeviceType>();
|
||||
memory->destroy(cut_coulsq);
|
||||
memory->create_kokkos(k_cut_coulsq,cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
k_params = Kokkos::DualView<params_lj_coul**,Kokkos::LayoutRight,DeviceType>("PairLJClass2CoulCut::params",n+1,n+1);
|
||||
params = k_params.template view<DeviceType>();
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -69,8 +69,8 @@ template<class DeviceType>
|
|||
PairLJClass2CoulLongKokkos<DeviceType>::~PairLJClass2CoulLongKokkos()
|
||||
{
|
||||
if (!copymode){
|
||||
memory->destroy_kokkos(k_cutsq, cutsq);
|
||||
memory->destroy_kokkos(k_cut_ljsq, cut_ljsq);
|
||||
memoryKK->destroy_kokkos(k_cutsq, cutsq);
|
||||
memoryKK->destroy_kokkos(k_cut_ljsq, cut_ljsq);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -103,13 +103,13 @@ void PairLJClass2CoulLongKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -307,13 +307,13 @@ void PairLJClass2CoulLongKokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
memory->destroy(cut_ljsq);
|
||||
memory->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
memoryKK->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
d_cut_ljsq = k_cut_ljsq.template view<DeviceType>();
|
||||
|
||||
memory->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
k_params = Kokkos::DualView<params_lj_coul**,Kokkos::LayoutRight,DeviceType>("PairLJClass2CoulLong::params",n+1,n+1);
|
||||
params = k_params.template view<DeviceType>();
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -95,13 +95,13 @@ void PairLJClass2Kokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -200,7 +200,7 @@ void PairLJClass2Kokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
k_params = Kokkos::DualView<params_lj**,Kokkos::LayoutRight,DeviceType>("PairLJClass2::params",n+1,n+1);
|
||||
params = k_params.template view<DeviceType>();
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -60,9 +60,9 @@ template<class DeviceType>
|
|||
PairLJCutCoulCutKokkos<DeviceType>::~PairLJCutCoulCutKokkos()
|
||||
{
|
||||
if (allocated){
|
||||
memory->destroy_kokkos(k_cutsq, cutsq);
|
||||
memory->destroy_kokkos(k_cut_ljsq, cut_ljsq);
|
||||
memory->destroy_kokkos(k_cut_coulsq, cut_coulsq);
|
||||
memoryKK->destroy_kokkos(k_cutsq, cutsq);
|
||||
memoryKK->destroy_kokkos(k_cut_ljsq, cut_ljsq);
|
||||
memoryKK->destroy_kokkos(k_cut_coulsq, cut_coulsq);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -95,13 +95,13 @@ void PairLJCutCoulCutKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -247,13 +247,13 @@ void PairLJCutCoulCutKokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
memory->destroy(cut_ljsq);
|
||||
memory->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
memoryKK->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
d_cut_ljsq = k_cut_ljsq.template view<DeviceType>();
|
||||
memory->destroy(cut_coulsq);
|
||||
memory->create_kokkos(k_cut_coulsq,cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
k_params = Kokkos::DualView<params_lj_coul**,Kokkos::LayoutRight,DeviceType>("PairLJCutCoulCut::params",n+1,n+1);
|
||||
params = k_params.template view<DeviceType>();
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -64,9 +64,9 @@ template<class DeviceType>
|
|||
PairLJCutCoulDebyeKokkos<DeviceType>::~PairLJCutCoulDebyeKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_cutsq, cutsq);
|
||||
memory->destroy_kokkos(k_cut_ljsq, cut_ljsq);
|
||||
memory->destroy_kokkos(k_cut_coulsq, cut_coulsq);
|
||||
memoryKK->destroy_kokkos(k_cutsq, cutsq);
|
||||
memoryKK->destroy_kokkos(k_cut_ljsq, cut_ljsq);
|
||||
memoryKK->destroy_kokkos(k_cut_coulsq, cut_coulsq);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,13 +99,13 @@ void PairLJCutCoulDebyeKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -261,13 +261,13 @@ void PairLJCutCoulDebyeKokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
memory->destroy(cut_ljsq);
|
||||
memory->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
memoryKK->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
d_cut_ljsq = k_cut_ljsq.template view<DeviceType>();
|
||||
memory->destroy(cut_coulsq);
|
||||
memory->create_kokkos(k_cut_coulsq,cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
k_params = Kokkos::DualView<params_lj_coul**,Kokkos::LayoutRight,DeviceType>("PairLJCutCoulDebye::params",n+1,n+1);
|
||||
params = k_params.template view<DeviceType>();
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -72,9 +72,9 @@ template<class DeviceType>
|
|||
PairLJCutCoulDSFKokkos<DeviceType>::~PairLJCutCoulDSFKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_cutsq, cutsq);
|
||||
memory->destroy_kokkos(k_cut_ljsq, cut_ljsq);
|
||||
//memory->destroy_kokkos(k_cut_coulsq, cut_coulsq);
|
||||
memoryKK->destroy_kokkos(k_cutsq, cutsq);
|
||||
memoryKK->destroy_kokkos(k_cut_ljsq, cut_ljsq);
|
||||
//memoryKK->destroy_kokkos(k_cut_coulsq, cut_coulsq);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -107,13 +107,13 @@ void PairLJCutCoulDSFKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -279,13 +279,13 @@ void PairLJCutCoulDSFKokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
memory->destroy(cut_ljsq);
|
||||
memory->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
memoryKK->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
d_cut_ljsq = k_cut_ljsq.template view<DeviceType>();
|
||||
//memory->destroy(cut_coulsq);
|
||||
memory->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
k_params = Kokkos::DualView<params_lj_coul**,Kokkos::LayoutRight,DeviceType>("PairLJCutCoulDSF::params",n+1,n+1);
|
||||
params = k_params.template view<DeviceType>();
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -68,13 +68,13 @@ PairLJCutCoulLongKokkos<DeviceType>::PairLJCutCoulLongKokkos(LAMMPS *lmp):PairLJ
|
|||
template<class DeviceType>
|
||||
PairLJCutCoulLongKokkos<DeviceType>::~PairLJCutCoulLongKokkos()
|
||||
{
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
eatom = NULL;
|
||||
vatom = NULL;
|
||||
if (allocated){
|
||||
memory->destroy_kokkos(k_cutsq, cutsq);
|
||||
memory->destroy_kokkos(k_cut_ljsq, cut_ljsq);
|
||||
memoryKK->destroy_kokkos(k_cutsq, cutsq);
|
||||
memoryKK->destroy_kokkos(k_cut_ljsq, cut_ljsq);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -108,13 +108,13 @@ void PairLJCutCoulLongKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -304,13 +304,13 @@ void PairLJCutCoulLongKokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
memory->destroy(cut_ljsq);
|
||||
memory->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
memoryKK->create_kokkos(k_cut_ljsq,cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
d_cut_ljsq = k_cut_ljsq.template view<DeviceType>();
|
||||
|
||||
memory->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
k_params = Kokkos::DualView<params_lj_coul**,Kokkos::LayoutRight,DeviceType>("PairLJCutCoulLong::params",n+1,n+1);
|
||||
params = k_params.template view<DeviceType>();
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -57,8 +57,8 @@ template<class DeviceType>
|
|||
PairLJCutKokkos<DeviceType>::~PairLJCutKokkos()
|
||||
{
|
||||
if (allocated) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
k_cutsq = DAT::tdual_ffloat_2d();
|
||||
memory->sfree(cutsq);
|
||||
eatom = NULL;
|
||||
|
@ -95,13 +95,13 @@ void PairLJCutKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -195,7 +195,7 @@ void PairLJCutKokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
k_params = Kokkos::DualView<params_lj**,Kokkos::LayoutRight,DeviceType>("PairLJCut::params",n+1,n+1);
|
||||
params = k_params.template view<DeviceType>();
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -94,13 +94,13 @@ void PairLJExpandKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -202,7 +202,7 @@ void PairLJExpandKokkos<DeviceType>::allocate()
|
|||
|
||||
int n = atom->ntypes;
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
k_params = Kokkos::DualView<params_lj**,Kokkos::LayoutRight,DeviceType>("PairLJExpand::params",n+1,n+1);
|
||||
params = k_params.template view<DeviceType>();
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "integrate.h"
|
||||
#include "respa.h"
|
||||
#include "math_const.h"
|
||||
#include "memory.h"
|
||||
#include "memory_kokkos.h"
|
||||
#include "error.h"
|
||||
#include "atom_masks.h"
|
||||
|
||||
|
@ -64,8 +64,8 @@ template<class DeviceType>
|
|||
PairLJGromacsCoulGromacsKokkos<DeviceType>::~PairLJGromacsCoulGromacsKokkos()
|
||||
{
|
||||
if (!copymode) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
k_cutsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_ljsq = DAT::tdual_ffloat_2d();
|
||||
k_cut_coulsq = DAT::tdual_ffloat_2d();
|
||||
|
@ -109,13 +109,13 @@ void PairLJGromacsCoulGromacsKokkos<DeviceType>::compute(int eflag_in, int vflag
|
|||
// reallocate per-atom arrays if necessary
|
||||
|
||||
if (eflag_atom) {
|
||||
memory->destroy_kokkos(k_eatom,eatom);
|
||||
memory->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
memoryKK->destroy_kokkos(k_eatom,eatom);
|
||||
memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom");
|
||||
d_eatom = k_eatom.view<DeviceType>();
|
||||
}
|
||||
if (vflag_atom) {
|
||||
memory->destroy_kokkos(k_vatom,vatom);
|
||||
memory->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
memoryKK->destroy_kokkos(k_vatom,vatom);
|
||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom");
|
||||
d_vatom = k_vatom.view<DeviceType>();
|
||||
}
|
||||
|
||||
|
@ -299,14 +299,14 @@ void PairLJGromacsCoulGromacsKokkos<DeviceType>::allocate()
|
|||
int n = atom->ntypes;
|
||||
|
||||
memory->destroy(cutsq);
|
||||
memory->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq");
|
||||
d_cutsq = k_cutsq.template view<DeviceType>();
|
||||
|
||||
//memory->destroy(cut_ljsq);
|
||||
memory->create_kokkos(k_cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
memoryKK->create_kokkos(k_cut_ljsq,n+1,n+1,"pair:cut_ljsq");
|
||||
d_cut_ljsq = k_cut_ljsq.template view<DeviceType>();
|
||||
|
||||
memory->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
memoryKK->create_kokkos(k_cut_coulsq,n+1,n+1,"pair:cut_coulsq");
|
||||
d_cut_coulsq = k_cut_coulsq.template view<DeviceType>();
|
||||
|
||||
k_params = Kokkos::DualView<params_lj_coul_gromacs**,Kokkos::LayoutRight,DeviceType>("PairLJGromacsCoulGromacs::params",n+1,n+1);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue