Merge pull request #2471 from akohlmey/collected-small-changes
Collected small fixes and updates
This commit is contained in:
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
""""""""""""""""
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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++;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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:") {
|
||||
|
||||
Reference in New Issue
Block a user