Merge pull request #2471 from akohlmey/collected-small-changes

Collected small fixes and updates
This commit is contained in:
Richard Berger
2020-11-11 11:20:32 -05:00
committed by GitHub
24 changed files with 497 additions and 406 deletions

View File

@ -24,13 +24,15 @@ DOI for the LAMMPS code
LAMMPS developers use the `Zenodo service at CERN
<https://zenodo.org/>`_ to create digital object identifies (DOI) for
stable releases of the LAMMPS code. There are two types of DOIs for the
LAMMPS source code: 1) the canonical DOI for **all** versions of LAMMPS,
which will always point to the latest stable release version is:
LAMMPS source code: the canonical DOI for **all** versions of LAMMPS,
which will always point to the **latest** stable release version is:
`DOI: 10.5281/zenodo.3726416 <https://dx.doi/org/10.5281/zenodo.3726416>`_
- DOI: `10.5281/zenodo.3726416 <https://dx.doi.org/10.5281/zenodo.3726416>`_
In addition there are DOIs for individual stable releases starting with
the `3 March 2020 version, DOI:10.5281/zenodo.3726417 <https://dx.doi/org/10.5281/zenodo.3726416>`_
In addition there are DOIs for individual stable releases. Currently there are:
- 3 March 2020 version: `DOI:10.5281/zenodo.3726417 <https://dx.doi.org/10.5281/zenodo.3726417>`_
- 29 October 2020 version: `DOI:10.5281/zenodo.4157471 <https://dx.doi.org/10.5281/zenodo.4157471>`_
Home page

View File

@ -143,7 +143,7 @@ combinations, else an error will result.
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This pair styles do not support the :doc:`pair_modify <pair_modify>`
This pair style do not support the :doc:`pair_modify <pair_modify>`
mix, shift, table, and tail options.
This pair style writes its information to :doc:`binary restart files

View File

@ -117,7 +117,7 @@ global Coulombic cutoff is allowed.
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This pair styles does not support mixing. Thus, coefficients for all
This pair style does not support mixing. Thus, coefficients for all
I,J pairs must be specified explicitly.
This pair style supports the :doc:`pair_modify <pair_modify>` shift

View File

@ -160,7 +160,7 @@ For atom type pairs I,J and I != J, the epsilon and sigma coefficients
and cutoff distance for this pair style can be mixed. The default mix
value is *geometric*\ . See the "pair_modify" command for details.
This pair styles supports the :doc:`pair_modify <pair_modify>` shift
This pair style supports the :doc:`pair_modify <pair_modify>` shift
option for the energy of the Lennard-Jones portion of the pair
interaction, but only for sphere-sphere interactions. There is no
shifting performed for ellipsoidal interactions due to the anisotropic

View File

@ -75,14 +75,15 @@ This pair style can only be used via the *pair* keyword of the
Restrictions
""""""""""""
This pair styles is part of the MANYBODY package. It is only enabled
if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
This pair style is part of the MANYBODY package. It is only enabled
if LAMMPS was built with that package.
See the :doc:`Build package <Build_package>` doc page for more info.
This pair potential requires the :doc:`newton <newton>` setting to be
"on" for pair interactions.
The C.lcbop potential file provided with LAMMPS (see the potentials
directory) is parameterized for metal :doc:`units <units>`. You can use
The ``C.lcbop`` potential file provided with LAMMPS (see the potentials
directory) is parameterized for :doc:`metal units <units>`. You can use
the LCBOP potential with any LAMMPS units, but you would need to
create your own LCBOP potential file with coefficients listed in the
appropriate units if your simulation does not use "metal" units.

View File

@ -298,7 +298,7 @@ described above. For each of the F functions, nx values are listed.
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This pair styles does not support the :doc:`pair_modify <pair_modify>`
This pair style does not support the :doc:`pair_modify <pair_modify>`
shift, table, and tail options.
This pair style does not write their information to :doc:`binary restart

View File

@ -173,7 +173,7 @@ equation for the Hamaker constant presented here. Mixing of sigma and
epsilon followed by calculation of the energy prefactors using the
equations above is recommended.
This pair styles supports the :doc:`pair_modify <pair_modify>` shift
This pair style supports the :doc:`pair_modify <pair_modify>` shift
option for the energy of the Lennard-Jones portion of the pair
interaction, but only for sphere-sphere interactions. There is no
shifting performed for ellipsoidal interactions due to the anisotropic

View File

@ -124,7 +124,7 @@ at the cutoff distance :math:`r_c`.
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This pair styles does not support mixing.
This pair style does not support mixing.
This pair style does not support the :doc:`pair_modify <pair_modify>`
shift option for the energy of the pair interaction. Note that as

View File

@ -370,6 +370,8 @@ needed to generate absolute, unscaled coordinates.
Restrictions
""""""""""""
The *native* dump file reader does not support binary .bin dump files.
To read gzipped dump files, you must compile LAMMPS with the
-DLAMMPS_GZIP option. See the :doc:`Build settings <Build_settings>`
doc page for details.

View File

@ -99,14 +99,15 @@ files do not match the specified output frequency.
----------
If more than one dump file is specified, the dump files are read one
after the other. It is assumed that snapshot timesteps will be in
ascending order. If a snapshot is encountered that is not in
ascending order, it will skip the snapshot until it reads one that is.
after the other in the order specified. It is assumed that snapshot
timesteps will be in ascending order. If a snapshot is encountered that
is not in ascending order, it will skip the snapshot until it reads one
that is.
This allows skipping of a duplicate snapshot (same timestep),
e.g. that appeared at the end of one file and beginning of the next.
However if you specify a series of dump files in an incorrect order
(with respect to the timesteps they contain), you may skip large
numbers of snapshots
numbers of snapshots.
Note that the dump files specified as part of the *dump* keyword can be
parallel files, i.e. written as multiple files either per processor
@ -118,17 +119,24 @@ and write parallel dump files.
The *first*\ , *last*\ , *every*\ , *skip* keywords determine which
snapshots are read from the dump file(s). Snapshots are skipped until
they have a timestamp >= *Nfirst*\ . When a snapshot with a timestamp >
*Nlast* is encountered, the rerun command finishes. Note below that
they have a timestep >= *Nfirst*\ . When a snapshot with a timestep >
*Nlast* is encountered, the rerun command finishes. Note that
the defaults for *first* and *last* are to read all snapshots. If the
*every* keyword is set to a value > 0, then only snapshots with
timestamps that are a multiple of *Nevery* are read (the first
timesteps that are a multiple of *Nevery* are read (the first
snapshot is always read). If *Nevery* = 0, then this criterion is
ignored, i.e. every snapshot is read that meets the other criteria.
If the *skip* keyword is used, then after the first snapshot is read,
every Nth snapshot is read, where N = *Nskip*\ . E.g. if *Nskip* = 3,
then only 1 out of every 3 snapshots is read, assuming the snapshot
timestamp is also consistent with the other criteria.
timestep is also consistent with the other criteria.
.. note::
Not all dump formats contain the timestep and not all dump readers
support reading it. In that case individual snapshots are assigned
consecutive timestep numbers starting at 1.
The *start* and *stop* keywords do not affect which snapshots are read
from the dump file(s). Rather, they have the same meaning that they
@ -205,9 +213,8 @@ thermodynamic output or new dump file output.
Restrictions
""""""""""""
To read gzipped dump files, you must compile LAMMPS with the
-DLAMMPS_GZIP option. See the :doc:`Build settings <Build_settings>`
doc page for details.
The *rerun* command is subject to all restrictions of
the :doc:`read_dump <read_dump>` command.
Related commands
""""""""""""""""

View File

@ -2,99 +2,98 @@
# 'turn' cylinder by changing direction of gravity, then rotate it.
# This simulates a rotating drum powder characterization experiment.
variable name string rotating_drum_two_types
variable name string rotating_drum_two_types
atom_style sphere
units lj
atom_style sphere
units lj
###############################################
# Geometry-related parameters
###############################################
variable boxx equal 30
variable boxy equal 30
variable boxz equal 50
variable boxx equal 30
variable boxy equal 30
variable boxz equal 50
variable drum_rad equal ${boxx}*0.5
variable drum_height equal 20
variable drum_rad equal ${boxx}*0.5
variable drum_height equal 20
variable xc equal 0.5*${boxx}
variable yc equal 0.5*${boxx}
variable zc equal 0.5*${boxz}
variable xc equal 0.5*${boxx}
variable yc equal 0.5*${boxx}
variable zc equal 0.5*${boxz}
###############################################
# Particle-related parameters
###############################################
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dhi equal 2.0*${rhi}
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dhi equal 2.0*${rhi}
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
variable dens equal 1.0
variable dens equal 1.0
variable skin equal 0.4*${rhi}
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
create_box 2 boxreg
change_box all boundary p p f
comm_modify vel yes
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
create_box 2 boxreg
change_box all boundary p p f
variable theta equal 0
pair_style granular
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
variable theta equal 0
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
fix 0 all balance 100 1.0 shift xy 5 1.1
fix 1 all nve/sphere
fix grav all gravity 10 vector 0 0 -1
fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
comm_modify vel yes
fix 0 all balance 100 1.0 shift xy 5 1.1
fix 1 all nve/sphere
fix grav all gravity 10 vector 0 0 -1
fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
neighbor ${skin} bin
neigh_modify delay 0 every 1 check yes
comm_modify vel yes
pair_style granular
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
neighbor ${skin} bin
neigh_modify delay 0 every 1 check yes
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
thermo_style custom step atoms ke v_theta
thermo_modify lost warn
thermo 100
thermo_style custom step atoms ke v_theta
thermo_modify lost warn
thermo 100
timestep 0.001
timestep 0.001
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
#For removal later
compute 1 all property/atom radius
variable zmax atom z+c_1>0.5*${drum_height}
group delgroup dynamic all var zmax every 10000
compute 1 all property/atom radius
variable zmax atom z+c_1>0.5*${drum_height}
group delgroup dynamic all var zmax every 10000
run 2000
run 2000
#Remove any particles that are above z > 0.5*drum_height
delete_atoms group delgroup
delete_atoms group delgroup
#Add top lid
region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall
region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall
# 'Turn' drum by switching the direction of gravity
unfix grav
unfix ins1
unfix ins2
fix grav all gravity 10 vector 0 -1 0
unfix grav
unfix ins1
unfix ins2
fix grav all gravity 10 vector 0 -1 0
variable theta equal 2*PI*elapsed/20000.0
run 3000
variable theta equal 2*PI*elapsed/20000.0
run 3000

View File

@ -1,67 +1,65 @@
# pour two types of particles (cohesive and non-cohesive) on flat wall
variable name string pour_two_types
variable name string pour_two_types
atom_style sphere
units lj
atom_style sphere
units lj
###############################################
# Geometry-related parameters
###############################################
variable boxx equal 20
variable boxy equal 20
variable boxz equal 30
variable boxx equal 20
variable boxy equal 20
variable boxz equal 30
variable xc1 equal 0.3*${boxx}
variable xc2 equal 0.7*${boxx}
variable yc equal 0.5*${boxy}
variable xc1 equal 0.3*${boxx}
variable xc2 equal 0.7*${boxx}
variable yc equal 0.5*${boxy}
###############################################
# Particle-related parameters
###############################################
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dhi equal 2.0*${rhi}
variable rlo equal 0.25
variable rhi equal 0.5
variable dlo equal 2.0*${rlo}
variable dhi equal 2.0*${rhi}
variable dens equal 1.0
variable dens equal 1.0
variable skin equal 0.3*${rhi}
#############
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
create_box 2 boxreg
change_box all boundary p p f
processors * * 1
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
create_box 2 boxreg
change_box all boundary p p f
comm_modify vel yes
pair_style granular
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz}
region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz}
comm_modify vel yes
fix 1 all nve/sphere
fix grav all gravity 10.0 vector 0 0 -1
fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens}
region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz}
region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz}
comm_modify vel yes
fix 1 all nve/sphere
fix grav all gravity 10.0 vector 0 0 -1
fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens}
neighbor ${skin} bin
neigh_modify delay 0 every 1 check yes
neighbor ${skin} bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
thermo_style custom step atoms ke
thermo_modify lost warn
thermo 100
thermo_style custom step cpu atoms ke
thermo_modify lost warn
thermo 100
timestep 0.001
timestep 0.001
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
run 5000
run 5000

View File

@ -1,5 +1,4 @@
LAMMPS (29 Mar 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
LAMMPS (29 Oct 2020)
using 1 OpenMP thread(s) per MPI task
# pour two types of particles (cohesive and non-cohesive) into cylinder
# 'turn' cylinder by changing direction of gravity, then rotate it.
@ -55,10 +54,14 @@ region boxreg block 0 30 0 ${boxy} 0 ${boxz}
region boxreg block 0 30 0 30 0 ${boxz}
region boxreg block 0 30 0 30 0 50
create_box 2 boxreg
Created orthogonal box = (0 0 0) to (30 30 50)
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (30.000000 30.000000 50.000000)
1 by 1 by 1 MPI processor grid
change_box all boundary p p f
comm_modify vel yes
Changing box ...
pair_style granular
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
variable theta equal 0
@ -104,10 +107,6 @@ neighbor ${skin} bin
neighbor 0.2 bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
@ -117,8 +116,7 @@ thermo 100
timestep 0.001
dump 1 all custom 100 ${name}.dump id type radius mass x y z
dump 1 all custom 100 rotating_drum_two_types.dump id type radius mass x y z
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
#For removal later
compute 1 all property/atom radius
@ -140,7 +138,7 @@ Neighbor list info ...
pair build: half/size/bin/newton
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 13.02 | 13.02 | 13.02 Mbytes
Per MPI rank memory allocation (min/avg/max) = 13.03 | 13.03 | 13.03 Mbytes
Step Atoms KinEng v_theta
0 0 -0 0
100 4000 -0 0
@ -163,32 +161,32 @@ Step Atoms KinEng v_theta
1800 4000 -0 0
1900 4000 -0 0
2000 4000 -0 0
Loop time of 3.54461 on 1 procs for 2000 steps with 4000 atoms
Loop time of 10.5178 on 1 procs for 2000 steps with 4000 atoms
Performance: 48750.057 tau/day, 564.237 timesteps/s
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
Performance: 16429.309 tau/day, 190.154 timesteps/s
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.61949 | 0.61949 | 0.61949 | 0.0 | 17.48
Neigh | 1.2492 | 1.2492 | 1.2492 | 0.0 | 35.24
Comm | 0.046404 | 0.046404 | 0.046404 | 0.0 | 1.31
Output | 0.15901 | 0.15901 | 0.15901 | 0.0 | 4.49
Modify | 1.4165 | 1.4165 | 1.4165 | 0.0 | 39.96
Other | | 0.05391 | | | 1.52
Pair | 1.0701 | 1.0701 | 1.0701 | 0.0 | 10.17
Neigh | 4.2135 | 4.2135 | 4.2135 | 0.0 | 40.06
Comm | 0.38276 | 0.38276 | 0.38276 | 0.0 | 3.64
Output | 0.0013647 | 0.0013647 | 0.0013647 | 0.0 | 0.01
Modify | 4.7076 | 4.7076 | 4.7076 | 0.0 | 44.76
Other | | 0.1424 | | | 1.35
Nlocal: 4000 ave 4000 max 4000 min
Nlocal: 4000.00 ave 4000 max 4000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 166 ave 166 max 166 min
Nghost: 171.000 ave 171 max 171 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 8195 ave 8195 max 8195 min
Neighs: 8093.00 ave 8093 max 8093 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 8195
Ave neighs/atom = 2.04875
Total # of neighbors = 8093
Ave neighs/atom = 2.0232500
Neighbor list builds = 1004
Dangerous builds = 3
Dangerous builds = 4
#Remove any particles that are above z > 0.5*drum_height
delete_atoms group delgroup
@ -205,67 +203,69 @@ fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindl
# 'Turn' drum by switching the direction of gravity
unfix grav
unfix ins1
unfix ins2
fix grav all gravity 10 vector 0 -1 0
variable theta equal 2*PI*elapsed/20000.0
run 3000
Per MPI rank memory allocation (min/avg/max) = 24.81 | 24.81 | 24.81 Mbytes
Per MPI rank memory allocation (min/avg/max) = 19.37 | 19.37 | 19.37 Mbytes
Step Atoms KinEng v_theta
2000 4000 64.333531 0
2100 4000 106.69182 0.031415927
2200 4000 121.8461 0.062831853
2300 4000 88.767952 0.09424778
2400 4000 82.850721 0.12566371
2500 4000 91.683284 0.15707963
2600 4000 31.56344 0.18849556
2700 4000 4.5697672 0.21991149
2800 4000 3.9879051 0.25132741
2900 4000 4.4394235 0.28274334
3000 4000 5.1212931 0.31415927
3100 4000 5.8608892 0.34557519
3200 4000 6.600714 0.37699112
3300 4000 7.3497851 0.40840704
3400 4000 8.0490988 0.43982297
3500 4000 8.6712396 0.4712389
3600 4000 9.1328667 0.50265482
3700 4000 9.4683561 0.53407075
3800 4000 9.5878145 0.56548668
3900 4000 9.387745 0.5969026
4000 4000 8.9117631 0.62831853
4100 4000 8.2344368 0.65973446
4200 4000 7.5335088 0.69115038
4300 4000 6.8426179 0.72256631
4400 4000 6.0567247 0.75398224
4500 4000 5.4166132 0.78539816
4600 4000 4.6012409 0.81681409
4700 4000 3.8314982 0.84823002
4800 4000 3.1916415 0.87964594
4900 4000 2.7833964 0.91106187
5000 4000 2.5051362 0.9424778
Loop time of 11.9545 on 1 procs for 3000 steps with 4000 atoms
2000 4000 65.647582 0
2100 4000 105.60001 0.031415927
2200 4000 112.27573 0.062831853
2300 4000 92.758671 0.09424778
2400 4000 88.925835 0.12566371
2500 4000 81.369163 0.15707963
2600 4000 32.046943 0.18849556
2700 4000 4.1926368 0.21991149
2800 4000 3.9933453 0.25132741
2900 4000 4.5062193 0.28274334
3000 4000 5.3409521 0.31415927
3100 4000 6.0165991 0.34557519
3200 4000 6.606767 0.37699112
3300 4000 7.3997751 0.40840704
3400 4000 8.1098807 0.43982297
3500 4000 8.6552424 0.4712389
3600 4000 9.8445204 0.50265482
3700 4000 10.098753 0.53407075
3800 4000 10.039489 0.56548668
3900 4000 9.6376278 0.5969026
4000 4000 9.2598836 0.62831853
4100 4000 8.7116037 0.65973446
4200 4000 8.1274117 0.69115038
4300 4000 7.1487627 0.72256631
4400 4000 6.2253778 0.75398224
4500 4000 5.3061398 0.78539816
4600 4000 4.4319316 0.81681409
4700 4000 4.205607 0.84823002
4800 4000 3.2112987 0.87964594
4900 4000 2.6449777 0.91106187
5000 4000 2.3475497 0.9424778
Loop time of 32.4926 on 1 procs for 3000 steps with 4000 atoms
Performance: 21682.142 tau/day, 250.951 timesteps/s
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
Performance: 7977.205 tau/day, 92.329 timesteps/s
99.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 | 4.8291 | 4.8291 | 4.8291 | 0.0 | 40.40
Neigh | 2.7489 | 2.7489 | 2.7489 | 0.0 | 22.99
Comm | 0.071249 | 0.071249 | 0.071249 | 0.0 | 0.60
Output | 0.20547 | 0.20547 | 0.20547 | 0.0 | 1.72
Modify | 4.0179 | 4.0179 | 4.0179 | 0.0 | 33.61
Other | | 0.0819 | | | 0.69
Pair | 8.0124 | 8.0124 | 8.0124 | 0.0 | 24.66
Neigh | 10.993 | 10.993 | 10.993 | 0.0 | 33.83
Comm | 0.86697 | 0.86697 | 0.86697 | 0.0 | 2.67
Output | 0.0021827 | 0.0021827 | 0.0021827 | 0.0 | 0.01
Modify | 12.367 | 12.367 | 12.367 | 0.0 | 38.06
Other | | 0.2515 | | | 0.77
Nlocal: 4000 ave 4000 max 4000 min
Nlocal: 4000.00 ave 4000 max 4000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 322 ave 322 max 322 min
Nghost: 318.000 ave 318 max 318 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 14849 ave 14849 max 14849 min
Neighs: 14807.0 ave 14807 max 14807 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 14849
Ave neighs/atom = 3.71225
Neighbor list builds = 1290
Dangerous builds = 672
Total wall time: 0:00:15
Total # of neighbors = 14807
Ave neighs/atom = 3.7017500
Neighbor list builds = 2189
Dangerous builds = 1536
Total wall time: 0:00:43

View File

@ -1,5 +1,4 @@
LAMMPS (29 Mar 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
LAMMPS (29 Oct 2020)
using 1 OpenMP thread(s) per MPI task
# pour two types of particles (cohesive and non-cohesive) into cylinder
# 'turn' cylinder by changing direction of gravity, then rotate it.
@ -55,10 +54,14 @@ region boxreg block 0 30 0 ${boxy} 0 ${boxz}
region boxreg block 0 30 0 30 0 ${boxz}
region boxreg block 0 30 0 30 0 50
create_box 2 boxreg
Created orthogonal box = (0 0 0) to (30 30 50)
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (30.000000 30.000000 50.000000)
2 by 2 by 1 MPI processor grid
change_box all boundary p p f
comm_modify vel yes
Changing box ...
pair_style granular
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
variable theta equal 0
@ -104,10 +107,6 @@ neighbor ${skin} bin
neighbor 0.2 bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
@ -117,8 +116,7 @@ thermo 100
timestep 0.001
dump 1 all custom 100 ${name}.dump id type radius mass x y z
dump 1 all custom 100 rotating_drum_two_types.dump id type radius mass x y z
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
#For removal later
compute 1 all property/atom radius
@ -163,32 +161,32 @@ Step Atoms KinEng v_theta
1800 4000 -0 0
1900 4000 -0 0
2000 4000 -0 0
Loop time of 2.0709 on 4 procs for 2000 steps with 4000 atoms
Loop time of 3.86825 on 4 procs for 2000 steps with 4000 atoms
Performance: 83442.024 tau/day, 965.764 timesteps/s
97.7% CPU use with 4 MPI tasks x 1 OpenMP threads
Performance: 44671.398 tau/day, 517.030 timesteps/s
96.7% 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.24679 | 0.26336 | 0.28853 | 3.0 | 12.72
Neigh | 0.52279 | 0.5332 | 0.53858 | 0.9 | 25.75
Comm | 0.17418 | 0.20253 | 0.23266 | 4.7 | 9.78
Output | 0.092897 | 0.093531 | 0.09515 | 0.3 | 4.52
Modify | 0.88151 | 0.89571 | 0.90582 | 0.9 | 43.25
Other | | 0.08257 | | | 3.99
Pair | 0.26114 | 0.27918 | 0.28728 | 2.0 | 7.22
Neigh | 1.2044 | 1.2414 | 1.3105 | 3.7 | 32.09
Comm | 0.38592 | 0.47065 | 0.51052 | 7.4 | 12.17
Output | 0.0007236 | 0.0013456 | 0.0024846 | 1.8 | 0.03
Modify | 1.6217 | 1.6723 | 1.7801 | 5.0 | 43.23
Other | | 0.2034 | | | 5.26
Nlocal: 1000 ave 1001 max 999 min
Nlocal: 1000.00 ave 1012 max 988 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 267.75 ave 276 max 262 min
Histogram: 1 0 1 0 1 0 0 0 0 1
Neighs: 2031.5 ave 2091 max 1958 min
Histogram: 1 0 0 0 1 0 0 1 0 1
Nghost: 269.250 ave 278 max 256 min
Histogram: 1 0 0 0 0 0 1 1 0 1
Neighs: 2060.50 ave 2156 max 1921 min
Histogram: 1 0 0 1 0 0 0 0 0 2
Total # of neighbors = 8126
Ave neighs/atom = 2.0315
Total # of neighbors = 8242
Ave neighs/atom = 2.0605000
Neighbor list builds = 1004
Dangerous builds = 3
Dangerous builds = 4
#Remove any particles that are above z > 0.5*drum_height
delete_atoms group delgroup
@ -205,67 +203,69 @@ fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindl
# 'Turn' drum by switching the direction of gravity
unfix grav
unfix ins1
unfix ins2
fix grav all gravity 10 vector 0 -1 0
variable theta equal 2*PI*elapsed/20000.0
run 3000
Per MPI rank memory allocation (min/avg/max) = 21.6 | 22.6 | 23.82 Mbytes
Per MPI rank memory allocation (min/avg/max) = 18.55 | 18.55 | 18.55 Mbytes
Step Atoms KinEng v_theta
2000 4000 64.255821 0
2100 4000 106.47082 0.031415927
2200 4000 121.52634 0.062831853
2300 4000 87.748818 0.09424778
2400 4000 82.712784 0.12566371
2500 4000 90.618713 0.15707963
2600 4000 30.096031 0.18849556
2700 4000 4.0838611 0.21991149
2800 4000 3.7485959 0.25132741
2900 4000 4.2159774 0.28274334
3000 4000 4.8730048 0.31415927
3100 4000 5.6109465 0.34557519
3200 4000 6.4290528 0.37699112
3300 4000 7.2699677 0.40840704
3400 4000 8.0895944 0.43982297
3500 4000 8.7222781 0.4712389
3600 4000 9.133205 0.50265482
3700 4000 9.3404584 0.53407075
3800 4000 9.3359844 0.56548668
3900 4000 9.0916854 0.5969026
4000 4000 8.5596424 0.62831853
4100 4000 7.9734883 0.65973446
4200 4000 7.2154383 0.69115038
4300 4000 6.7039232 0.72256631
4400 4000 6.1542738 0.75398224
4500 4000 5.4049454 0.78539816
4600 4000 4.4603192 0.81681409
4700 4000 3.6197985 0.84823002
4800 4000 2.9895571 0.87964594
4900 4000 2.5314553 0.91106187
5000 4000 2.2645533 0.9424778
Loop time of 6.64209 on 4 procs for 3000 steps with 4000 atoms
2000 4000 65.819213 0
2100 4000 105.02389 0.031415927
2200 4000 112.02469 0.062831853
2300 4000 92.271262 0.09424778
2400 4000 89.369506 0.12566371
2500 4000 80.910925 0.15707963
2600 4000 31.620722 0.18849556
2700 4000 4.3019937 0.21991149
2800 4000 3.9913967 0.25132741
2900 4000 4.5203726 0.28274334
3000 4000 5.484886 0.31415927
3100 4000 6.1085958 0.34557519
3200 4000 6.7085635 0.37699112
3300 4000 7.4787777 0.40840704
3400 4000 8.2116413 0.43982297
3500 4000 8.7979302 0.4712389
3600 4000 9.871649 0.50265482
3700 4000 10.012426 0.53407075
3800 4000 9.9067754 0.56548668
3900 4000 9.725458 0.5969026
4000 4000 9.3350056 0.62831853
4100 4000 8.8337295 0.65973446
4200 4000 8.2712493 0.69115038
4300 4000 6.9609934 0.72256631
4400 4000 6.0120294 0.75398224
4500 4000 5.0490036 0.78539816
4600 4000 4.2796544 0.81681409
4700 4000 4.1736483 0.84823002
4800 4000 3.0860106 0.87964594
4900 4000 2.6670909 0.91106187
5000 4000 2.2901814 0.9424778
Loop time of 10.7627 on 4 procs for 3000 steps with 4000 atoms
Performance: 39023.861 tau/day, 451.665 timesteps/s
96.6% CPU use with 4 MPI tasks x 1 OpenMP threads
Performance: 24083.252 tau/day, 278.741 timesteps/s
97.9% 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.8376 | 2.126 | 2.3131 | 12.6 | 32.01
Neigh | 0.97762 | 1.0518 | 1.1337 | 5.4 | 15.84
Comm | 0.53699 | 0.84265 | 1.2325 | 27.6 | 12.69
Output | 0.13922 | 0.14159 | 0.14388 | 0.4 | 2.13
Modify | 1.8815 | 2.1026 | 2.3368 | 11.2 | 31.66
Other | | 0.3774 | | | 5.68
Pair | 1.6731 | 2.0701 | 2.3327 | 18.9 | 19.23
Neigh | 2.7389 | 3.1706 | 3.5146 | 15.7 | 29.46
Comm | 0.93507 | 1.5441 | 2.1182 | 39.1 | 14.35
Output | 0.0021682 | 0.0044412 | 0.006026 | 2.2 | 0.04
Modify | 3.0031 | 3.4223 | 3.9262 | 18.3 | 31.80
Other | | 0.5511 | | | 5.12
Nlocal: 1000 ave 1256 max 744 min
Nlocal: 1000.00 ave 1277 max 723 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 579.5 ave 789 max 498 min
Histogram: 2 1 0 0 0 0 0 0 0 1
Neighs: 3696.25 ave 4853 max 2590 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Nghost: 569.750 ave 809 max 454 min
Histogram: 1 2 0 0 0 0 0 0 0 1
Neighs: 3690.50 ave 4937 max 2426 min
Histogram: 1 1 0 0 0 0 0 0 0 2
Total # of neighbors = 14785
Ave neighs/atom = 3.69625
Neighbor list builds = 1230
Dangerous builds = 676
Total wall time: 0:00:08
Total # of neighbors = 14762
Ave neighs/atom = 3.6905000
Neighbor list builds = 2187
Dangerous builds = 1610
Total wall time: 0:00:14

View File

@ -1,5 +1,4 @@
LAMMPS (29 Mar 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
LAMMPS (29 Oct 2020)
using 1 OpenMP thread(s) per MPI task
# pour two types of particles (cohesive and non-cohesive) on flat wall
@ -45,9 +44,14 @@ region boxreg block 0 20 0 ${boxy} 0 ${boxz}
region boxreg block 0 20 0 20 0 ${boxz}
region boxreg block 0 20 0 20 0 30
create_box 2 boxreg
Created orthogonal box = (0 0 0) to (20 20 30)
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (20.000000 20.000000 30.000000)
1 by 1 by 1 MPI processor grid
change_box all boundary p p f
Changing box ...
pair_style granular
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
comm_modify vel yes
@ -75,19 +79,13 @@ fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1
Particle insertion: 562 every 346 steps, 1500 by step 693
comm_modify vel yes
neighbor ${skin} bin
neighbor 0.15 bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
thermo_style custom step cpu atoms ke
thermo_style custom step atoms ke
thermo_modify lost warn
thermo 100
@ -109,26 +107,82 @@ Neighbor list info ...
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 12.22 | 12.22 | 12.22 Mbytes
Step CPU Atoms KinEng
0 0 0 -0
100 3.8153191 855 -0
200 4.195287 855 -0
300 4.5890362 855 -0
400 10.636087 1500 -0
500 11.306909 1500 -0
600 11.968198 1500 -0
700 22.631892 2288 -0
800 23.711387 2288 -0
900 24.754344 2288 -0
1000 25.811778 2288 -0
1100 35.368869 2845 -0
1200 37.149843 2845 -0
1300 39.026458 2845 -0
1400 41.757583 3000 -0
1500 45.155503 3000 -0
1600 48.570241 3000 -0
1700 52.839322 3000 -0
1800 59.772697 3000 -0
1900 69.493305 3000 -0
2000 114.61886 3000 -0
2100 152.89232 3000 -0
Step Atoms KinEng
0 0 -0
100 926 -0
200 926 -0
300 926 -0
400 1498 -0
500 1498 -0
600 1498 -0
700 2275 -0
800 2275 -0
900 2275 -0
1000 2275 -0
1100 2954 -0
1200 2954 -0
1300 2954 -0
1400 3000 -0
1500 3000 -0
1600 3000 -0
1700 3000 -0
1800 3000 -0
1900 3000 -0
2000 3000 -0
2100 3000 -0
2200 3000 -0
2300 3000 -0
2400 3000 -0
2500 3000 -0
2600 3000 -0
2700 3000 -0
2800 3000 -0
2900 3000 -0
3000 3000 -0
3100 3000 -0
3200 3000 -0
3300 3000 -0
3400 3000 -0
3500 3000 -0
3600 3000 -0
3700 3000 -0
3800 3000 -0
3900 3000 -0
4000 3000 -0
4100 3000 -0
4200 3000 -0
4300 3000 -0
4400 3000 -0
4500 3000 -0
4600 3000 -0
4700 3000 -0
4800 3000 -0
4900 3000 -0
5000 3000 -0
Loop time of 24.3889 on 1 procs for 5000 steps with 3000 atoms
Performance: 17713.003 tau/day, 205.012 timesteps/s
99.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 | 14.362 | 14.362 | 14.362 | 0.0 | 58.89
Neigh | 3.3483 | 3.3483 | 3.3483 | 0.0 | 13.73
Comm | 0.42893 | 0.42893 | 0.42893 | 0.0 | 1.76
Output | 0.0025065 | 0.0025065 | 0.0025065 | 0.0 | 0.01
Modify | 6.059 | 6.059 | 6.059 | 0.0 | 24.84
Other | | 0.1876 | | | 0.77
Nlocal: 3000.00 ave 3000 max 3000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 462.000 ave 462 max 462 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 17694.0 ave 17694 max 17694 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 17694
Ave neighs/atom = 5.8980000
Neighbor list builds = 1133
Dangerous builds = 0
Total wall time: 0:00:24

View File

@ -1,5 +1,4 @@
LAMMPS (29 Mar 2019)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
LAMMPS (29 Oct 2020)
using 1 OpenMP thread(s) per MPI task
# pour two types of particles (cohesive and non-cohesive) on flat wall
@ -45,9 +44,14 @@ region boxreg block 0 20 0 ${boxy} 0 ${boxz}
region boxreg block 0 20 0 20 0 ${boxz}
region boxreg block 0 20 0 20 0 30
create_box 2 boxreg
Created orthogonal box = (0 0 0) to (20 20 30)
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (20.000000 20.000000 30.000000)
2 by 2 by 1 MPI processor grid
change_box all boundary p p f
Changing box ...
pair_style granular
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
comm_modify vel yes
@ -75,26 +79,19 @@ fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens}
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1
Particle insertion: 562 every 346 steps, 1500 by step 693
comm_modify vel yes
neighbor ${skin} bin
neighbor 0.15 bin
neigh_modify delay 0 every 1 check yes
pair_style granular
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
thermo_style custom step cpu atoms ke
thermo_style custom step atoms ke
thermo_modify lost warn
thermo 100
timestep 0.001
dump 1 all custom 100 ${name}.dump id type radius mass x y z
dump 1 all custom 100 pour_two_types.dump id type radius mass x y z
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
run 5000
Neighbor list info ...
@ -110,82 +107,82 @@ Neighbor list info ...
stencil: half/bin/3d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 11.98 | 11.98 | 11.98 Mbytes
Step CPU Atoms KinEng
0 0 0 -0
100 0.11584234 855 -0
200 0.12743592 855 -0
300 0.13925815 855 -0
400 0.35203671 1500 -0
500 0.37055922 1500 -0
600 0.38671875 1500 -0
700 0.71736908 2288 -0
800 0.74506783 2288 -0
900 0.77112222 2288 -0
1000 0.79632139 2288 -0
1100 1.0384252 2845 -0
1200 1.08093 2845 -0
1300 1.1224561 2845 -0
1400 1.1811485 3000 -0
1500 1.2414908 3000 -0
1600 1.3105879 3000 -0
1700 1.390928 3000 -0
1800 1.4869275 3000 -0
1900 1.5958266 3000 -0
2000 1.7172487 3000 -0
2100 1.851155 3000 -0
2200 1.9957182 3000 -0
2300 2.1593764 3000 -0
2400 2.3433132 3000 -0
2500 2.532742 3000 -0
2600 2.7376895 3000 -0
2700 2.9463468 3000 -0
2800 3.1645725 3000 -0
2900 3.3879526 3000 -0
3000 3.6152103 3000 -0
3100 3.8467371 3000 -0
3200 4.0787683 3000 -0
3300 4.3097105 3000 -0
3400 4.5423617 3000 -0
3500 4.7773693 3000 -0
3600 5.0127218 3000 -0
3700 5.2519271 3000 -0
3800 5.4951298 3000 -0
3900 5.7210469 3000 -0
4000 5.9432652 3000 -0
4100 6.1687591 3000 -0
4200 6.3942792 3000 -0
4300 6.6331475 3000 -0
4400 6.8632154 3000 -0
4500 7.0979366 3000 -0
4600 7.3305347 3000 -0
4700 7.5670528 3000 -0
4800 7.8086057 3000 -0
4900 8.0407174 3000 -0
5000 8.2765219 3000 -0
Loop time of 8.27669 on 4 procs for 5000 steps with 3000 atoms
Step Atoms KinEng
0 0 -0
100 926 -0
200 926 -0
300 926 -0
400 1498 -0
500 1498 -0
600 1498 -0
700 2275 -0
800 2275 -0
900 2275 -0
1000 2275 -0
1100 2954 -0
1200 2954 -0
1300 2954 -0
1400 3000 -0
1500 3000 -0
1600 3000 -0
1700 3000 -0
1800 3000 -0
1900 3000 -0
2000 3000 -0
2100 3000 -0
2200 3000 -0
2300 3000 -0
2400 3000 -0
2500 3000 -0
2600 3000 -0
2700 3000 -0
2800 3000 -0
2900 3000 -0
3000 3000 -0
3100 3000 -0
3200 3000 -0
3300 3000 -0
3400 3000 -0
3500 3000 -0
3600 3000 -0
3700 3000 -0
3800 3000 -0
3900 3000 -0
4000 3000 -0
4100 3000 -0
4200 3000 -0
4300 3000 -0
4400 3000 -0
4500 3000 -0
4600 3000 -0
4700 3000 -0
4800 3000 -0
4900 3000 -0
5000 3000 -0
Loop time of 12.1982 on 4 procs for 5000 steps with 3000 atoms
Performance: 52194.788 tau/day, 604.106 timesteps/s
97.7% CPU use with 4 MPI tasks x 1 OpenMP threads
Performance: 35414.923 tau/day, 409.895 timesteps/s
97.0% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.6106 | 3.4073 | 5.4191 | 95.7 | 41.17
Neigh | 0.51456 | 0.64572 | 0.81542 | 16.6 | 7.80
Comm | 0.2808 | 2.5222 | 4.4998 | 121.9 | 30.47
Output | 0.15695 | 0.15919 | 0.16502 | 0.8 | 1.92
Modify | 1.3517 | 1.4192 | 1.4904 | 4.9 | 17.15
Other | | 0.123 | | | 1.49
Pair | 1.7141 | 3.8131 | 6.2143 | 107.3 | 31.26
Neigh | 0.77648 | 0.96585 | 1.1892 | 18.3 | 7.92
Comm | 0.7427 | 3.5566 | 5.9731 | 128.4 | 29.16
Output | 0.0067544 | 0.0086352 | 0.011408 | 1.8 | 0.07
Modify | 3.3476 | 3.5826 | 3.8235 | 11.5 | 29.37
Other | | 0.2715 | | | 2.23
Nlocal: 750 ave 1036 max 482 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Nghost: 429.75 ave 475 max 386 min
Nlocal: 750.000 ave 1033 max 463 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 435.000 ave 492 max 378 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 4434.50 ave 7028 max 1967 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 4051.75 ave 6274 max 2057 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Total # of neighbors = 16207
Ave neighs/atom = 5.40233
Neighbor list builds = 1165
Total # of neighbors = 17738
Ave neighs/atom = 5.9126667
Neighbor list builds = 1139
Dangerous builds = 0
Total wall time: 0:00:08
Total wall time: 0:00:12

View File

@ -1102,15 +1102,8 @@ void PairGranular::init_style()
// this is so its order in the fix list is preserved
if (use_history && fix_history == nullptr) {
char dnumstr[16];
sprintf(dnumstr,"%d",size_history);
char **fixarg = new char*[4];
fixarg[0] = (char *) "NEIGH_HISTORY_GRANULAR";
fixarg[1] = (char *) "all";
fixarg[2] = (char *) "NEIGH_HISTORY";
fixarg[3] = dnumstr;
modify->replace_fix("NEIGH_HISTORY_GRANULAR_DUMMY",4,fixarg,1);
delete [] fixarg;
modify->replace_fix("NEIGH_HISTORY_GRANULAR_DUMMY","NEIGH_HISTORY_GRANULAR"
" all NEIGH_HISTORY " + std::to_string(size_history),1);
int ifix = modify->find_fix("NEIGH_HISTORY_GRANULAR");
fix_history = (FixNeighHistory *) modify->fix[ifix];
fix_history->pair = this;
@ -1405,11 +1398,15 @@ double PairGranular::single(int i, int j, int itype, int jtype,
int *jlist;
double *history,*allhistory;
int nall = atom->nlocal + atom->nghost;
if ((i >= nall) || (j >= nall))
error->all(FLERR,"Not enough atoms for pair granular single function");
double *radius = atom->radius;
radi = radius[i];
radj = radius[j];
radsum = radi + radj;
Reff = radi*radj/radsum;
Reff = (radsum > 0.0) ? radi*radj/radsum : 0.0;
bool touchflag;
E = normal_coeffs[itype][jtype][0];
@ -1536,6 +1533,8 @@ double PairGranular::single(int i, int j, int itype, int jtype,
jlist = list->firstneigh[i];
if (use_history) {
if ((fix_history == nullptr) || (fix_history->firstvalue == nullptr))
error->one(FLERR,"Pair granular single computation needs history");
allhistory = fix_history->firstvalue[i];
for (int jj = 0; jj < jnum; jj++) {
neighprev++;

View File

@ -2710,11 +2710,15 @@ double FixRigid::compute_scalar()
void *FixRigid::extract(const char *str, int &dim)
{
dim = 0;
if (strcmp(str,"body") == 0) {
if (!setupflag) return nullptr;
dim = 1;
return body;
}
if (strcmp(str,"masstotal") == 0) {
if (!setupflag) return nullptr;
dim = 1;
return masstotal;
}

View File

@ -3424,7 +3424,10 @@ int FixRigidSmall::modify_param(int narg, char **arg)
void *FixRigidSmall::extract(const char *str, int &dim)
{
dim = 0;
if (strcmp(str,"body") == 0) {
if (!setupflag) return nullptr;
dim = 1;
return atom2body;
}
@ -3438,6 +3441,7 @@ void *FixRigidSmall::extract(const char *str, int &dim)
// used by granular pair styles, indexed by atom2body
if (strcmp(str,"masstotal") == 0) {
if (!setupflag) return nullptr;
dim = 1;
if (nmax_mass < nmax_body) {

View File

@ -533,8 +533,7 @@ void AtomVecEllipsoid::write_data_bonus(FILE *fp, int n, double *buf, int /*flag
this may create or delete entry in bonus data
------------------------------------------------------------------------- */
void AtomVecEllipsoid::
set_shape(int i, double shapex, double shapey, double shapez)
void AtomVecEllipsoid::set_shape(int i, double shapex, double shapey, double shapez)
{
if (ellipsoid[i] < 0) {
if (shapex == 0.0 && shapey == 0.0 && shapez == 0.0) return;

View File

@ -1873,6 +1873,7 @@ void Domain::set_boundary(int narg, char **arg, int flag)
else zperiodic = 0;
// record if we changed a periodic boundary to a non-periodic one
int pflag=0;
if ((periodicity[0] && !xperiodic)
|| (periodicity[1] && !yperiodic)
@ -1889,23 +1890,27 @@ void Domain::set_boundary(int narg, char **arg, int flag)
boundary[1][0] >= 2 || boundary[1][1] >= 2 ||
boundary[2][0] >= 2 || boundary[2][1] >= 2) nonperiodic = 2;
}
// force non-zero image flags to zero for non-periodic dimensions
// keep track if a change was made, so we can print a warning message
if (pflag) {
pflag = 0;
for (int i=0; i < atom->nlocal; ++i) {
int xbox = (atom->image[i] & IMGMASK) - IMGMAX;
int ybox = (atom->image[i] >> IMGBITS & IMGMASK) - IMGMAX;
int zbox = (atom->image[i] >> IMG2BITS) - IMGMAX;
if (!xperiodic) { xbox = 0; pflag = 1; }
if (!yperiodic) { ybox = 0; pflag = 1; }
if (!zperiodic) { zbox = 0; pflag = 1; }
if ((!xperiodic) && (xbox != 0)) { xbox = 0; pflag = 1; }
if ((!yperiodic) && (ybox != 0)) { ybox = 0; pflag = 1; }
if ((!zperiodic) && (zbox != 0)) { zbox = 0; pflag = 1; }
atom->image[i] = ((imageint) (xbox + IMGMAX) & IMGMASK) |
(((imageint) (ybox + IMGMAX) & IMGMASK) << IMGBITS) |
(((imageint) (zbox + IMGMAX) & IMGMASK) << IMG2BITS);
}
int flag_all;
MPI_Allreduce(&flag,&flag_all, 1, MPI_INT, MPI_SUM, world);
MPI_Allreduce(&pflag,&flag_all, 1, MPI_INT, MPI_SUM, world);
if ((flag_all > 0) && (comm->me == 0))
error->warning(FLERR,"Reset image flags for non-periodic boundary");
error->warning(FLERR,"Resetting image flags for non-periodic dimensions");
}
}

View File

@ -998,6 +998,23 @@ void Modify::replace_fix(const char *replaceID,
add_fix(narg,arg,trysuffix);
}
/* ----------------------------------------------------------------------
convenience function to allow replacing a fix from a single string
------------------------------------------------------------------------- */
void Modify::replace_fix(const std::string &oldfix,
const std::string &fixcmd, int trysuffix)
{
auto args = utils::split_words(fixcmd);
char **newarg = new char*[args.size()];
int i=0;
for (const auto &arg : args) {
newarg[i++] = (char *)arg.c_str();
}
replace_fix(oldfix.c_str(),args.size(),newarg,trysuffix);
delete[] newarg;
}
/* ----------------------------------------------------------------------
one instance per fix in style_fix.h
------------------------------------------------------------------------- */

View File

@ -101,6 +101,7 @@ class Modify : protected Pointers {
void add_fix(int, char **, int trysuffix=1);
void add_fix(const std::string &, int trysuffix=1);
void replace_fix(const char *, int, char **, int trysuffix=1);
void replace_fix(const std::string &, const std::string &, int trysuffix=1);
void modify_fix(int, char **);
void delete_fix(const std::string &);
void delete_fix(int);

View File

@ -862,6 +862,7 @@ std::string utils::get_potential_date(const std::string &path, const std::string
reader.ignore_comments = false;
char *line = reader.next_line();
if (line == nullptr) return "";
Tokenizer words(line);
while (words.has_next()) {
if (words.next() == "DATE:") {
@ -881,6 +882,7 @@ std::string utils::get_potential_units(const std::string &path, const std::strin
reader.ignore_comments = false;
char *line = reader.next_line();
if (line == nullptr) return "";
Tokenizer words(line);
while (words.has_next()) {
if (words.next() == "UNITS:") {