Rename sphere/bpm, remove bond instance, add smooth option

This commit is contained in:
Joel Thomas Clemmer
2022-03-23 11:41:27 -06:00
parent 67a7764086
commit 9417e41676
30 changed files with 4988 additions and 1574 deletions

View File

@ -143,7 +143,7 @@ OPT.
* :doc:`nve/manifold/rattle <fix_nve_manifold_rattle>`
* :doc:`nve/noforce <fix_nve_noforce>`
* :doc:`nve/sphere (ko) <fix_nve_sphere>`
* :doc:`nve/sphere/bpm <fix_nve_sphere_bpm>`
* :doc:`nve/bpm/sphere <fix_nve_bpm_sphere>`
* :doc:`nve/spin <fix_nve_spin>`
* :doc:`nve/tri <fix_nve_tri>`
* :doc:`nvk <fix_nvk>`

View File

@ -54,7 +54,7 @@ Lowercase directories
+-------------+------------------------------------------------------------------+
| body | body particles, 2d system |
+-------------+------------------------------------------------------------------+
| bpm | bonded particle models of pouring, crushing, and fracture |
| bpm | BPM simulations of pouring elastic grains and plate impact |
+-------------+------------------------------------------------------------------+
| cmap | CMAP 5-body contributions to CHARMM force field |
+-------------+------------------------------------------------------------------+

View File

@ -90,10 +90,10 @@ tangential forces and torques arising with the shearing, bending, and
twisting of the bond due to rotation or displacement of particles.
Particles are similar to those used in the :doc:`granular package
<Howto_granular>`, :doc:`atom style sphere <atom_style>`. However,
they must also track the current orientation of particles and
therefore use a derived :doc:`atom style sphere/bpm <atom_style>`.
This also requires a unique integrator :doc:`fix nve/sphere/bpm
<fix_nve_sphere_bpm>` which numerically integrates orientation similar
they must also track the current orientation of particles and store bonds
and therefore use a :doc:`bpm/sphere atom style <atom_style>`.
This also requires a unique integrator :doc:`fix nve/bpm/sphere
<fix_nve_bpm_sphere>` which numerically integrates orientation similar
to :doc:`fix nve/asphere <fix_nve_asphere>`.
To monitor the fracture of bonds in the system, all BPM bond styles

View File

@ -302,11 +302,11 @@ models for mesoscale simulations of solids and fracture. See the
* src/BPM filenames -> commands
* :doc:`Howto_bpm <Howto_bpm>`
* :doc:`atom_style sphere/bpm <atom_style>`
* :doc:`atom_style bpm/sphere <atom_style>`
* :doc:`bond_style bpm/rotational <bond_bpm_rotational>`
* :doc:`bond_style bpm/spring <bond_bpm_spring>`
* :doc:`compute nbonds/atom <compute_nbonds_atom>`
* :doc:`fix nve/sphere/bpm <fix_nve_sphere_bpm>`
* :doc:`fix nve/bpm/sphere <fix_nve_bpm_sphere>`
* :doc:`pair_style bpm/spring <pair_bpm_spring>`
* examples/bpm

View File

@ -10,7 +10,7 @@ Syntax
atom_style style args
* style = *angle* or *atomic* or *body* or *bond* or *charge* or *dipole* or *dpd* or *edpd* or *electron* or *ellipsoid* or *full* or *line* or *mdpd* or *molecular* or *oxdna* or *peri* or *smd* or *sph* or *sphere* or *sphere/bpm* or *spin* or *tdpd* or *tri* or *template* or *hybrid*
* style = *angle* or *atomic* or *body* or *bond* or *charge* or *dipole* or *dpd* or *edpd* or *electron* or *ellipsoid* or *full* or *line* or *mdpd* or *molecular* or *oxdna* or *peri* or *smd* or *sph* or *sphere* or *bpm/sphere* or *spin* or *tdpd* or *tri* or *template* or *hybrid*
.. parsed-literal::
@ -21,7 +21,7 @@ Syntax
see the :doc:`Howto body <Howto_body>` doc
page for details
*sphere* arg = 0/1 (optional) for static/dynamic particle radii
*sphere/bpm* arg = 0/1 (optional) for static/dynamic particle radii
*bpm/sphere* arg = 0/1 (optional) for static/dynamic particle radii
*tdpd* arg = Nspecies
Nspecies = # of chemical species
*template* arg = template-ID
@ -121,7 +121,7 @@ quantities.
+--------------+-----------------------------------------------------+--------------------------------------+
| *sphere* | diameter, mass, angular velocity | granular models |
+--------------+-----------------------------------------------------+--------------------------------------+
| *sphere/bpm* | diameter, mass, angular velocity, quaternion | granular bonded particle models (bpm)|
| *bpm/sphere* | diameter, mass, angular velocity, quaternion | granular bonded particle models (BPM)|
+--------------+-----------------------------------------------------+--------------------------------------+
| *spin* | magnetic moment | system with magnetic particles |
+--------------+-----------------------------------------------------+--------------------------------------+
@ -144,7 +144,7 @@ quantities.
output the custom values.
All of the above styles define point particles, except the *sphere*,
*sphere/bpm*, *ellipsoid*, *electron*, *peri*, *wavepacket*, *line*,
*bpm/sphere*, *ellipsoid*, *electron*, *peri*, *wavepacket*, *line*,
*tri*, and *body* styles, which define finite-size particles. See the
:doc:`Howto spherical <Howto_spherical>` page for an overview of using
finite-size particle models with LAMMPS.
@ -154,7 +154,7 @@ per-type basis, using the :doc:`mass <mass>` command, The finite-size
particle styles assign mass to individual particles on a per-particle
basis.
For the *sphere* and *sphere/bpm* styles, the particles are spheres and each stores a
For the *sphere* and *bpm/sphere* styles, the particles are spheres and each stores a
per-particle diameter and mass. If the diameter > 0.0, the particle
is a finite-size sphere. If the diameter = 0.0, it is a point
particle. Note that by use of the *disc* keyword with the :doc:`fix
@ -162,7 +162,7 @@ nve/sphere <fix_nve_sphere>`, :doc:`fix nvt/sphere <fix_nvt_sphere>`,
:doc:`fix nph/sphere <fix_nph_sphere>`, :doc:`fix npt/sphere
<fix_npt_sphere>` commands for the *sphere* style, spheres can be effectively treated as 2d
discs for a 2d simulation if desired. See also the :doc:`set
density/disc <set>` command. The *sphere* and *sphere/bpm* styles take an optional 0
density/disc <set>` command. The *sphere* and *bpm/sphere* styles take an optional 0
or 1 argument. A value of 0 means the radius of each sphere is
constant for the duration of the simulation. A value of 1 means the
radii may vary dynamically during the simulation, e.g. due to use of
@ -199,7 +199,7 @@ position, which is represented by the eradius = electron size.
For the *peri* style, the particles are spherical and each stores a
per-particle mass and volume.
The *sphere/bpm* style is part of the BPM package.
The *bpm/sphere* style is part of the BPM package.
The *oxdna* style is for coarse-grained nucleotides and stores the
3'-to-5' polarity of the nucleotide strand, which is set through

View File

@ -10,7 +10,7 @@ Syntax
bond_style bpm/rotational keyword value attribute1 attribute2 ...
* optional keyword = *overlay/pair* or *store/local*
* optional keyword = *overlay/pair* or *store/local* or *smooth*
.. parsed-literal::
@ -27,6 +27,9 @@ Syntax
*overlay/pair* value = none
bonded particles will still interact with pair forces
*smooth* value = *yes* or *no*
smooths bond forces near the breaking point
Examples
""""""""
@ -87,9 +90,10 @@ is done by setting by setting its type to 0 such that forces and
torques are no longer computed.
After computing the base magnitudes of the forces and torques, they
are all multiplied by an extra factor :math:`w` to smoothly
can be optionally multiplied by an extra factor :math:`w` to smoothly
interpolate forces and torques to zero as the bond breaks. This term
is calculated as :math:`w = (1.0 - B^4)`.
is calculated as :math:`w = (1.0 - B^4)`. This smoothing factor can be
added or removed using the *smooth* keyword.
Finally, additional damping forces and torques are applied to the two
particles. A force is applied proportional to the difference in the
@ -219,17 +223,17 @@ setting
special_bonds lj/coul 1 1 1
The *bpm/rotational* style requires :doc:`atom style sphere/bpm <atom_style>`.
The *bpm/rotational* style requires :doc:`atom style bpm/sphere <atom_style>`.
Related commands
""""""""""""""""
:doc:`bond_coeff <bond_coeff>`, :doc:`fix nve/sphere/bpm <fix_nve_sphere_bpm>`
:doc:`bond_coeff <bond_coeff>`, :doc:`fix nve/bpm/sphere <fix_nve_bpm_sphere>`
Default
"""""""
none
The option defaults are *smooth* = *yes*
----------

View File

@ -10,7 +10,7 @@ Syntax
bond_style bpm/spring keyword value attribute1 attribute2 ...
* optional keyword = *overlay/pair* or *store/local*
* optional keyword = *overlay/pair* or *store/local* or *smooth*
.. parsed-literal::
@ -27,6 +27,9 @@ Syntax
*overlay/pair* value = none
bonded particles will still interact with pair forces
*smooth* value = *yes* or *no*
smooths bond forces near the breaking point
Examples
""""""""
@ -59,17 +62,11 @@ particles. The force has a magnitude of
where :math:`k_r` is a stiffness, :math:`r` is the current distance
and :math:`r_0` is the initial distance between the two particles, and
:math:`w` is a smoothing factor. Bonds will break at a strain of
:math:`\epsilon_c`. This is done by setting by setting its type to 0
such that forces are no longer computed. The smoothing factor
:math:`w` is constructed such that forces smoothly go to zero,
avoiding discontinuities, as bonds approach the critical strain
:math:`w` is an optional smoothing factor discussed below. Bonds will
break at a strain of :math:`\epsilon_c`. This is done by setting by
setting its type to 0 such that forces are no longer computed.
.. math::
w = 1.0 - \left( \frac{r - r_0}{r_0 \epsilon_c} \right)^8 .
Finally, an additional damping force is applied to the bonded
An additional damping force is applied to the bonded
particles. This forces is proportional to the difference in the
normal velocity of particles using a similar construction as
dissipative particle dynamics (:ref:`(Groot) <Groot1>`):
@ -82,6 +79,14 @@ where :math:`\gamma` is the damping strength, :math:`\hat{r}` is the
radial normal vector, and :math:`\vec{v}` is the velocity difference
between the two particles.
The smoothing factor :math:`w` can be added or removed using the
*smooth* keyword. It is constructed such that forces smoothly go
to zero, avoiding discontinuities, as bonds approach the critical strain
.. math::
w = 1.0 - \left( \frac{r - r_0}{r_0 \epsilon_c} \right)^8 .
The following coefficients must be defined for each bond type via the
:doc:`bond_coeff <bond_coeff>` command as in the example above, or in
the data file or restart files read by the :doc:`read_data
@ -188,7 +193,7 @@ Related commands
Default
"""""""
none
The option defaults are *smooth* = *yes*
----------

View File

@ -286,7 +286,7 @@ accelerated styles exist.
* :doc:`nve/manifold/rattle <fix_nve_manifold_rattle>` -
* :doc:`nve/noforce <fix_nve_noforce>` - NVE without forces (v only)
* :doc:`nve/sphere <fix_nve_sphere>` - NVE for spherical particles
* :doc:`nve/sphere/bpm <fix_nve_sphere_bpm>` - NVE for spherical particles used in the BPM package
* :doc:`nve/bpm/sphere <fix_nve_bpm_sphere>` - NVE for spherical particles used in the BPM package
* :doc:`nve/spin <fix_nve_spin>` - NVE for a spin or spin-lattice system
* :doc:`nve/tri <fix_nve_tri>` - NVE for triangles
* :doc:`nvk <fix_nvk>` - constant kinetic energy time integration

View File

@ -1,6 +1,6 @@
.. index:: fix nve/sphere/bpm
.. index:: fix nve/bpm/sphere
fix nve/sphere/bpm command
fix nve/bpm/sphere command
======================
Syntax
@ -8,10 +8,10 @@ Syntax
.. parsed-literal::
fix ID group-ID nve/sphere/bpm
fix ID group-ID nve/bpm/sphere
* ID, group-ID are documented in :doc:`fix <fix>` command
* nve/sphere/bpm = style name of this fix command
* nve/bpm/sphere = style name of this fix command
* zero or more keyword/value pairs may be appended
* keyword = *disc*
@ -24,8 +24,8 @@ Examples
.. code-block:: LAMMPS
fix 1 all nve/sphere/bpm
fix 1 all nve/sphere/bpm disc
fix 1 all nve/bpm/sphere
fix 1 all nve/bpm/sphere disc
Description
"""""""""""
@ -66,7 +66,7 @@ Restrictions
""""""""""""
This fix requires that atoms store torque, angular velocity (omega), a
radius, and a quaternion as defined by the :doc:`atom_style sphere/bpm
radius, and a quaternion as defined by the :doc:`atom_style bpm/sphere
<atom_style>` command.
All particles in the group must be finite-size spheres with

View File

@ -650,7 +650,7 @@ of analysis.
- atom-ID atom-type rho esph cv x y z
* - sphere
- atom-ID atom-type diameter density x y z
* - sphere/bpm
* - bpm/sphere
- atom-ID molecule-ID atom-type diameter density x y z
* - spin
- atom-ID atom-type x y z spx spy spz sp

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
units lj
dimension 3
boundary f f f
atom_style sphere/bpm
atom_style bpm/sphere
special_bonds lj 0.0 1.0 1.0 coul 0.0 1.0 1.0
newton on off
comm_modify vel yes cutoff 2.6
@ -23,17 +23,17 @@ neighbor 1.0 bin
pair_style gran/hooke/history 1.0 NULL 0.5 NULL 0.1 1
pair_coeff 1 1
fix 1 all nve/sphere/bpm
fix 1 all nve/bpm/sphere
create_bonds many plate plate 1 0.0 1.5
create_bonds many plate plate 1 0.0 1.5
create_bonds many projectile projectile 2 0.0 1.5
neighbor 0.3 bin
special_bonds lj 0.0 1.0 1.0 coul 1.0 1.0 1.0
bond_style bpm/rotational store/local brkbond 100 time id1 id2
bond_coeff 1 1.0 0.2 0.02 0.02 0.05 0.01 0.01 0.01 0.1 0.02 0.002 0.002
bond_coeff 2 1.0 0.2 0.02 0.02 0.20 0.04 0.04 0.04 0.1 0.02 0.002 0.002
bond_coeff 1 1.0 0.2 0.02 0.02 0.05 0.01 0.01 0.01 0.1 0.2 0.002 0.002
bond_coeff 2 1.0 0.2 0.02 0.02 0.20 0.04 0.04 0.04 0.1 0.2 0.002 0.002
velocity projectile set -0.05 0.0 0.0
compute nbond all nbond/atom

View File

@ -0,0 +1,219 @@
LAMMPS (17 Feb 2022)
units lj
dimension 3
boundary f f f
atom_style bpm/sphere
special_bonds lj 0.0 1.0 1.0 coul 0.0 1.0 1.0
newton on off
comm_modify vel yes cutoff 2.6
lattice fcc 1.0
Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011
region box block -25 15 -22 22 -22 22
create_box 1 box bond/types 2 extra/bond/per/atom 20 extra/special/per/atom 50
Created orthogonal box = (-39.685026 -34.922823 -34.922823) to (23.811016 34.922823 34.922823)
1 by 2 by 2 MPI processor grid
region disk cylinder x 0.0 0.0 20.0 -0.5 0.5
create_atoms 1 region disk
Created 7529 atoms
using lattice units in orthogonal box = (-39.685026 -34.922823 -34.922823) to (23.811016 34.922823 34.922823)
create_atoms CPU = 0.002 seconds
group plate region disk
7529 atoms in group plate
region ball sphere 8.0 0.0 0.0 6.0
create_atoms 1 region ball
Created 3589 atoms
using lattice units in orthogonal box = (-39.685026 -34.922823 -34.922823) to (23.811016 34.922823 34.922823)
create_atoms CPU = 0.001 seconds
group projectile region ball
3589 atoms in group projectile
displace_atoms all random 0.1 0.1 0.1 134598738
Displacing atoms ...
neighbor 1.0 bin
pair_style gran/hooke/history 1.0 NULL 0.5 NULL 0.1 1
pair_coeff 1 1
fix 1 all nve/bpm/sphere
create_bonds many plate plate 1 0.0 1.5
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 2
ghost atom cutoff = 2.6
binsize = 1, bins = 64 70 70
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command create_bonds, occasional
attributes: full, newton on
pair build: full/bin
stencil: full/bin/3d
bin: standard
(2) pair gran/hooke/history, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d
bin: standard
Added 38559 bonds, new total = 38559
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 1 1
special bond factors coul: 0 1 1
15 = max # of 1-2 neighbors
101 = max # of special neighbors
special bonds CPU = 0.001 seconds
create_bonds many projectile projectile 2 0.0 1.5
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
WARNING: Bonds are defined but no bond style is set (../force.cpp:192)
WARNING: Likewise 1-2 special neighbor interactions != 1.0 (../force.cpp:194)
Added 21869 bonds, new total = 60428
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 1 1
special bond factors coul: 0 1 1
16 = max # of 1-2 neighbors
101 = max # of special neighbors
special bonds CPU = 0.001 seconds
neighbor 0.3 bin
special_bonds lj 0.0 1.0 1.0 coul 1.0 1.0 1.0
bond_style bpm/rotational store/local brkbond 100 time id1 id2
bond_coeff 1 1.0 0.2 0.02 0.02 0.05 0.01 0.01 0.01 0.1 0.2 0.002 0.002
bond_coeff 2 1.0 0.2 0.02 0.02 0.20 0.04 0.04 0.04 0.1 0.2 0.002 0.002
velocity projectile set -0.05 0.0 0.0
compute nbond all nbond/atom
compute tbond all reduce sum c_nbond
timestep 0.05
thermo_style custom step ke pe pxx pyy pzz c_tbond
thermo 100
thermo_modify lost ignore lost/bond ignore
#dump 1 all custom 100 atomDump id radius x y z c_nbond
dump 2 all local 100 brokenDump f_brkbond[1] f_brkbond[2] f_brkbond[3]
dump_modify 2 header no
run 7500
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.3
ghost atom cutoff = 2.6
binsize = 0.65, bins = 98 108 108
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair gran/hooke/history, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 33.34 | 33.34 | 33.35 Mbytes
Step KinEng PotEng Pxx Pyy Pzz c_tbond
0 0.00053238861 0 3.8217307e-05 0 0 10.8703
100 0.00053238861 0 3.8217307e-05 1.2166373e-20 1.2308212e-20 10.8703
200 0.00053238861 0 3.8217307e-05 1.2454467e-20 1.2479589e-20 10.8703
300 0.00053238861 0 3.8217307e-05 1.2256702e-20 1.2621091e-20 10.8703
400 0.00053238861 0 3.8217307e-05 1.2170534e-20 1.2751666e-20 10.8703
500 0.00053093549 0 3.8484194e-05 7.645531e-08 1.4861825e-07 10.8703
600 0.00051485902 0 4.0340751e-05 3.8615876e-07 4.8663463e-07 10.869221
700 0.00049942978 0 3.8684008e-05 4.5363318e-07 4.4560229e-07 10.85501
800 0.00049465262 0 3.6604612e-05 1.4755468e-07 2.0062093e-07 10.820651
900 0.00048784775 0 3.5333139e-05 3.5118328e-07 6.6697625e-07 10.769563
1000 0.00048345699 0 3.4702137e-05 7.0312998e-07 4.0218318e-07 10.730347
1100 0.00047945073 0 3.5065961e-05 6.2813891e-07 7.4640359e-07 10.703184
1200 0.00047512604 0 3.4833144e-05 8.5208604e-07 8.7277583e-07 10.686634
1300 0.00047401428 0 3.4236869e-05 1.0321827e-06 7.4545242e-07 10.678
1400 0.00047619121 0 3.4416549e-05 8.7518021e-07 7.3979503e-07 10.671704
1500 0.0004668728 0 3.4495751e-05 1.4077823e-06 1.517373e-06 10.666127
1600 0.00045088371 0 3.3264301e-05 1.8499661e-06 1.9842415e-06 10.66073
1700 0.00044275099 0 3.2471064e-05 1.9028747e-06 2.2248947e-06 10.6458
1800 0.0004424362 0 3.1846336e-05 1.6208492e-06 1.9291602e-06 10.620615
1900 0.00043678957 0 3.1260936e-05 1.4673956e-06 1.6120523e-06 10.603166
2000 0.00042747562 0 3.0652107e-05 1.6455486e-06 1.53127e-06 10.576003
2100 0.0004214344 0 3.0240727e-05 1.8873967e-06 1.5258622e-06 10.539845
2200 0.00041712779 0 3.0329566e-05 1.8846152e-06 1.4971471e-06 10.49937
2300 0.00041095769 0 3.0000572e-05 2.3585924e-06 1.6773177e-06 10.471668
2400 0.00040883568 0 2.9625158e-05 1.9105554e-06 1.8720763e-06 10.45116
2500 0.00040762685 0 2.9441541e-05 1.6848938e-06 1.8877532e-06 10.437309
2600 0.00040579873 0 2.9255988e-05 1.7523874e-06 1.636423e-06 10.422378
2700 0.00040340975 0 2.9035693e-05 1.673158e-06 1.9038932e-06 10.410505
2800 0.00040170914 0 2.8829361e-05 1.6711978e-06 1.9776001e-06 10.400792
2900 0.00040015113 0 2.8614186e-05 1.5982427e-06 1.7994733e-06 10.393416
3000 0.00040029253 0 2.8470718e-05 1.5589166e-06 1.6682302e-06 10.385321
3100 0.00040037329 0 2.8483376e-05 1.2831526e-06 1.4788005e-06 10.378485
3200 0.00040142612 0 2.8481287e-05 1.1577988e-06 1.3495778e-06 10.373988
3300 0.00040105092 0 2.8547009e-05 1.2155138e-06 1.2633439e-06 10.370031
3400 0.00039950673 0 2.8340939e-05 1.1182251e-06 1.1624668e-06 10.364274
3500 0.00039715236 0 2.824813e-05 1.3086462e-06 1.2029185e-06 10.360496
3600 0.00039446552 0 2.8112283e-05 1.1232321e-06 1.0077217e-06 10.353121
3700 0.00039263296 0 2.7927975e-05 1.1083636e-06 1.2091857e-06 10.346645
3800 0.00039061341 0 2.7819957e-05 1.1836841e-06 1.3566272e-06 10.341069
3900 0.00038985051 0 2.7681947e-05 1.3588359e-06 1.4099727e-06 10.329196
4000 0.00038815347 0 2.7492102e-05 1.1111719e-06 1.1700718e-06 10.318043
4100 0.00038651302 0 2.7444105e-05 9.9563429e-07 1.4085969e-06 10.311027
4200 0.00038565809 0 2.7177341e-05 9.5736307e-07 1.0404482e-06 10.299155
4300 0.0003847255 0 2.7029216e-05 9.6204756e-07 1.140804e-06 10.292319
4400 0.0003844421 0 2.6841047e-05 9.6570404e-07 1.2319818e-06 10.286203
4500 0.0003842788 0 2.6633558e-05 9.6452478e-07 1.1954945e-06 10.278287
4600 0.00038365139 0 2.6514403e-05 9.6185846e-07 1.2002452e-06 10.270732
4700 0.00038271503 0 2.6374349e-05 9.4061833e-07 1.1774211e-06 10.264796
4800 0.00038233688 0 2.638398e-05 1.1644119e-06 1.3746239e-06 10.25742
4900 0.00038223496 0 2.6279821e-05 1.1345508e-06 1.4709213e-06 10.246987
5000 0.00038219402 0 2.6188871e-05 1.0115151e-06 1.2024203e-06 10.240511
5100 0.00038195153 0 2.6137945e-05 1.009856e-06 1.1961088e-06 10.236014
5200 0.00038170903 0 2.6103563e-05 1.0046761e-06 1.1881008e-06 10.232236
5300 0.00038194303 0 2.6111938e-05 1.0533375e-06 1.2621634e-06 10.230617
5400 0.00038147407 0 2.6078641e-05 1.082228e-06 1.2915223e-06 10.230098
5500 0.00038156894 0 2.6084488e-05 1.1395485e-06 1.3592644e-06 10.227759
5600 0.00038169434 0 2.6085704e-05 1.1173618e-06 1.3003599e-06 10.2256
5700 0.00038219734 0 2.6095279e-05 1.1026614e-06 1.280455e-06 10.223621
5800 0.00038268758 0 2.6113437e-05 1.1096198e-06 1.2565503e-06 10.222902
5900 0.00038300658 0 2.6131709e-05 1.1123595e-06 1.235992e-06 10.222182
6000 0.00038250316 0 2.606995e-05 1.1590744e-06 1.2888416e-06 10.221123
6100 0.0003821526 0 2.6025605e-05 1.1434025e-06 1.3141861e-06 10.219503
6200 0.00038185711 0 2.5991255e-05 1.1471391e-06 1.3427373e-06 10.219503
6300 0.00038197679 0 2.5996965e-05 1.1338082e-06 1.3315258e-06 10.218604
6400 0.00038232311 0 2.6035805e-05 1.1353407e-06 1.3306683e-06 10.217884
6500 0.00038255543 0 2.6091572e-05 1.1768703e-06 1.3629611e-06 10.217704
6600 0.00038251887 0 2.6068968e-05 1.1808094e-06 1.3969697e-06 10.217344
6700 0.00038177389 0 2.6004288e-05 1.1659866e-06 1.423638e-06 10.218084
6800 0.00038096291 0 2.5969494e-05 1.1377343e-06 1.4348787e-06 10.218103
6900 0.00038090601 0 2.5951546e-05 1.1327767e-06 1.4311663e-06 10.217024
7000 0.00038088094 0 2.5946255e-05 1.1652568e-06 1.4567559e-06 10.215944
7100 0.00038094624 0 2.5972593e-05 1.1558871e-06 1.4692935e-06 10.214684
7200 0.00038168738 0 2.6002e-05 1.1562707e-06 1.4881081e-06 10.212705
7300 0.00038200854 0 2.6038768e-05 1.1339903e-06 1.4808455e-06 10.212345
7400 0.00038187543 0 2.6044759e-05 1.101743e-06 1.4758679e-06 10.213084
7500 0.00038165297 0 2.6004536e-05 1.0892731e-06 1.4872621e-06 10.214742
Loop time of 28.804 on 4 procs for 7500 steps with 11111 atoms
Performance: 1124843.305 tau/day, 260.380 timesteps/s
97.5% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.26977 | 0.28058 | 0.2866 | 1.3 | 0.97
Bond | 22.742 | 23.598 | 24.671 | 16.6 | 81.92
Neigh | 0.54555 | 0.5728 | 0.60272 | 3.2 | 1.99
Comm | 1.4024 | 2.5619 | 3.5079 | 54.8 | 8.89
Output | 0.025307 | 0.025833 | 0.027022 | 0.4 | 0.09
Modify | 1.592 | 1.6506 | 1.7059 | 4.0 | 5.73
Other | | 0.1147 | | | 0.40
Nlocal: 2777.75 ave 2887 max 2682 min
Histogram: 1 0 0 0 2 0 0 0 0 1
Nghost: 1152.5 ave 1189 max 1125 min
Histogram: 1 0 1 0 0 1 0 0 0 1
Neighs: 11515.5 ave 12520 max 10831 min
Histogram: 1 1 0 0 1 0 0 0 0 1
Total # of neighbors = 46062
Ave neighs/atom = 4.1456215
Ave special neighs/atom = 10.214742
Neighbor list builds = 408
Dangerous builds = 0
Total wall time: 0:00:28

View File

@ -0,0 +1,221 @@
LAMMPS (17 Feb 2022)
units lj
dimension 3
boundary f f f
atom_style bond
special_bonds lj 0.0 1.0 1.0 coul 0.0 1.0 1.0
newton on off
comm_modify vel yes cutoff 2.6
lattice fcc 1.0
Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011
region box block -25 15 -22 22 -22 22
create_box 1 box bond/types 2 extra/bond/per/atom 20 extra/special/per/atom 50
Created orthogonal box = (-39.685026 -34.922823 -34.922823) to (23.811016 34.922823 34.922823)
1 by 2 by 2 MPI processor grid
region disk cylinder x 0.0 0.0 20.0 -0.5 0.5
create_atoms 1 region disk
Created 7529 atoms
using lattice units in orthogonal box = (-39.685026 -34.922823 -34.922823) to (23.811016 34.922823 34.922823)
create_atoms CPU = 0.001 seconds
group plate region disk
7529 atoms in group plate
region ball sphere 8.0 0.0 0.0 6.0
create_atoms 1 region ball
Created 3589 atoms
using lattice units in orthogonal box = (-39.685026 -34.922823 -34.922823) to (23.811016 34.922823 34.922823)
create_atoms CPU = 0.000 seconds
group projectile region ball
3589 atoms in group projectile
displace_atoms all random 0.1 0.1 0.1 134598738
Displacing atoms ...
mass 1 1.0
neighbor 1.0 bin
pair_style bpm/spring
pair_coeff 1 1 1.0 1.0 1.0
fix 1 all nve
create_bonds many plate plate 1 0.0 1.5
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 2
ghost atom cutoff = 2.6
binsize = 1, bins = 64 70 70
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command create_bonds, occasional
attributes: full, newton on
pair build: full/bin
stencil: full/bin/3d
bin: standard
(2) pair bpm/spring, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
Added 38559 bonds, new total = 38559
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 1 1
special bond factors coul: 0 1 1
15 = max # of 1-2 neighbors
101 = max # of special neighbors
special bonds CPU = 0.001 seconds
create_bonds many projectile projectile 2 0.0 1.5
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
WARNING: Bonds are defined but no bond style is set (../force.cpp:192)
WARNING: Likewise 1-2 special neighbor interactions != 1.0 (../force.cpp:194)
Added 21869 bonds, new total = 60428
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 1 1
special bond factors coul: 0 1 1
16 = max # of 1-2 neighbors
101 = max # of special neighbors
special bonds CPU = 0.001 seconds
neighbor 0.3 bin
special_bonds lj 0.0 1.0 1.0 coul 1.0 1.0 1.0
bond_style bpm/spring store/local brkbond 100 time id1 id2
bond_coeff 1 1.0 0.04 1.0
bond_coeff 2 1.0 0.20 1.0
velocity projectile set -0.05 0.0 0.0
compute nbond all nbond/atom
compute tbond all reduce sum c_nbond
timestep 0.1
thermo_style custom step ke pe pxx pyy pzz c_tbond
thermo 100
thermo_modify lost ignore lost/bond ignore
#dump 1 all custom 100 atomDump id x y z c_nbond
dump 2 all local 100 brokenDump f_brkbond[1] f_brkbond[2] f_brkbond[3]
dump_modify 2 header no
run 7500
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.3
ghost atom cutoff = 2.6
binsize = 0.65, bins = 98 108 108
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair bpm/spring, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 17.74 | 17.74 | 17.74 Mbytes
Step KinEng PotEng Pxx Pyy Pzz c_tbond
0 0.0010167873 0 7.298968e-05 0 0 10.8703
100 0.0010167873 0 7.298968e-05 -8.7429897e-20 -8.8470837e-20 10.8703
200 0.0010167873 0 7.298968e-05 -7.2809565e-20 -8.0915788e-20 10.8703
300 0.0009951439 0 9.9273671e-05 8.1569216e-06 8.0922512e-06 10.868142
400 0.00095142792 0 0.00012669557 -1.3413721e-05 -1.4800745e-05 10.849793
500 0.00092272662 0 8.1708784e-05 -9.7488701e-06 -1.3603634e-05 10.819752
600 0.00088967612 0 6.2587266e-05 -5.1954127e-06 -6.781587e-06 10.797985
700 0.00086070919 0 8.8529902e-05 -9.9431205e-06 -7.9905211e-06 10.776579
800 0.00083543943 0 7.5920357e-05 3.6381024e-07 3.7747551e-06 10.759309
900 0.00081190799 0 6.3678219e-05 5.4158243e-06 1.2751247e-05 10.744199
1000 0.00078828988 0 7.3079869e-05 -6.6410613e-06 -1.198683e-06 10.728368
1100 0.00075664718 0 6.2976995e-05 -4.7863299e-06 -3.9814556e-06 10.711819
1200 0.00072472205 0 4.9680233e-05 9.3093553e-06 4.4426393e-06 10.69401
1300 0.00070176532 0 5.4048176e-05 1.3051954e-05 7.5448558e-06 10.671164
1400 0.00068599319 0 5.4062404e-05 9.9930199e-06 1.0353154e-05 10.650117
1500 0.0006786164 0 4.5038593e-05 8.067571e-06 9.8825461e-06 10.636266
1600 0.00067466823 0 4.6733251e-05 9.8595584e-06 1.1551081e-05 10.621335
1700 0.00066847126 0 5.1472453e-05 2.1569974e-07 6.0070599e-06 10.6127
1800 0.00065711827 0 5.0355189e-05 -8.030203e-06 -3.1395588e-06 10.599568
1900 0.00063882539 0 4.7146888e-05 -2.0596242e-05 -1.6494542e-05 10.581939
2000 0.00061717894 0 4.6698781e-05 -2.5473048e-05 -2.7703615e-05 10.567188
2100 0.00059261327 0 3.7701055e-05 -2.4637803e-05 -3.3919162e-05 10.552617
2200 0.00056527158 0 3.2239421e-05 -1.8786685e-05 -2.4202734e-05 10.538406
2300 0.00054054919 0 2.7410334e-05 -6.701111e-06 -7.4354974e-06 10.520777
2400 0.00051820065 0 2.2997206e-05 1.5623767e-05 1.8687824e-05 10.501889
2500 0.00049647925 0 1.746693e-05 2.8814144e-05 3.5569425e-05 10.487498
2600 0.00047837258 0 1.4127067e-05 3.4245611e-05 4.0208577e-05 10.472387
2700 0.00046626924 0 1.3714876e-05 3.7922196e-05 4.1550346e-05 10.456377
2800 0.0004560167 0 1.5260976e-05 3.5632577e-05 3.7885738e-05 10.440007
2900 0.00045331059 0 1.5194832e-05 3.1036124e-05 2.8633755e-05 10.427955
3000 0.00045227799 0 1.4877378e-05 1.9327028e-05 2.1189487e-05 10.414283
3100 0.00044866178 0 2.0424612e-05 -2.7242288e-06 7.7121438e-06 10.40349
3200 0.00044336453 0 2.3276121e-05 -1.979069e-05 -4.2311089e-06 10.395575
3300 0.00043526526 0 2.3338132e-05 -2.834945e-05 -1.7302033e-05 10.389998
3400 0.00042817758 0 2.4374527e-05 -2.9870076e-05 -3.0623264e-05 10.382803
3500 0.00042182658 0 2.6120627e-05 -2.9449521e-05 -3.787776e-05 10.378126
3600 0.00041794291 0 2.4736957e-05 -2.4098172e-05 -3.0529166e-05 10.373628
3700 0.0004156005 0 2.7543305e-05 -1.2431749e-05 -1.8626096e-05 10.37075
3800 0.0004141461 0 2.4630482e-05 -6.345489e-06 -1.7375803e-05 10.368771
3900 0.00041328832 0 2.2220142e-05 4.1471034e-07 -1.3339476e-05 10.366972
4000 0.00041121725 0 2.3491321e-05 1.1284551e-05 -5.8651834e-06 10.364634
4100 0.00040761876 0 2.6688248e-05 1.9721625e-05 3.7536871e-06 10.362655
4200 0.00040301362 0 2.7601916e-05 1.9212118e-05 9.7175996e-06 10.359417
4300 0.00040001545 0 2.7243769e-05 1.6889359e-05 1.1857147e-05 10.3551
4400 0.00039654521 0 2.561083e-05 1.3863551e-05 1.0593597e-05 10.351142
4500 0.00039435924 0 2.4366458e-05 1.2545563e-05 1.1323962e-05 10.348804
4600 0.00039250006 0 2.3719127e-05 1.1015167e-05 8.5964046e-06 10.348444
4700 0.00039145496 0 2.2943915e-05 8.7824224e-06 5.0397129e-06 10.346825
4800 0.00039105331 0 2.4005757e-05 7.5899773e-06 9.033741e-07 10.344846
4900 0.0003898798 0 2.3819433e-05 4.9673894e-06 -2.3466459e-06 10.343587
5000 0.00038747508 0 2.3605028e-05 -1.1717437e-06 -6.1096657e-06 10.343047
5100 0.00038549022 0 2.3453798e-05 -9.9256693e-06 -9.3584148e-06 10.341788
5200 0.00038283936 0 2.5243567e-05 -1.5877598e-05 -9.9474447e-06 10.340169
5300 0.00038140888 0 2.5522223e-05 -1.9331435e-05 -1.1067039e-05 10.33873
5400 0.00037916674 0 2.5181488e-05 -2.1581255e-05 -1.1252641e-05 10.336931
5500 0.00037782932 0 2.691805e-05 -1.5768241e-05 -5.6704695e-06 10.334952
5600 0.00037628832 0 2.5851445e-05 -1.4239811e-05 -1.9122536e-06 10.333153
5700 0.00037451913 0 2.4758416e-05 -1.3252284e-05 -1.9222041e-06 10.331714
5800 0.00037328662 0 2.2507032e-05 -9.6704092e-06 -7.5470215e-06 10.330095
5900 0.00037253111 0 2.3303086e-05 -4.2828034e-06 -7.888056e-06 10.328476
6000 0.00037171133 0 2.4042456e-05 -4.7684985e-06 -6.5164336e-06 10.327397
6100 0.00036986726 0 2.4938695e-05 -4.8738316e-06 -4.5380007e-06 10.327037
6200 0.0003675822 0 2.3322229e-05 -4.6333093e-06 -5.7086464e-06 10.327037
6300 0.00036552389 0 2.1435354e-05 -4.8971566e-06 -3.5935426e-06 10.327037
6400 0.00036488091 0 2.0813994e-05 -3.8333319e-06 -3.6595059e-06 10.327037
6500 0.00036447973 0 2.2241876e-05 8.7797361e-08 -4.141203e-06 10.327037
6600 0.00036383343 0 2.269485e-05 4.9364593e-06 1.3062133e-06 10.326677
6700 0.00036305076 0 2.1838759e-05 6.4587048e-06 4.7758772e-06 10.326318
6800 0.00036226601 0 2.2916622e-05 6.044926e-06 5.0291597e-06 10.325598
6900 0.00036175279 0 2.2691667e-05 6.9998847e-06 5.8988637e-06 10.324699
7000 0.00036143633 0 2.1725813e-05 8.1268152e-06 5.0390503e-06 10.324519
7100 0.0003610248 0 2.1799675e-05 8.65795e-06 3.1360368e-06 10.323439
7200 0.00036086259 0 2.2198029e-05 5.1764734e-06 5.4798783e-07 10.32308
7300 0.00036099757 0 2.4160496e-05 1.0310325e-06 -5.115075e-07 10.32254
7400 0.00036129334 0 2.5325018e-05 -9.4918158e-07 -1.7064957e-06 10.32218
7500 0.00036136655 0 2.3513198e-05 -3.8618451e-06 -4.4344772e-06 10.321281
Loop time of 4.51074 on 4 procs for 7500 steps with 11118 atoms
Performance: 14365719.597 tau/day, 1662.699 timesteps/s
93.8% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.25733 | 0.26952 | 0.28068 | 1.6 | 5.98
Bond | 1.9391 | 2.0128 | 2.0851 | 3.7 | 44.62
Neigh | 0.56308 | 0.5941 | 0.62077 | 2.8 | 13.17
Comm | 0.68282 | 0.80856 | 0.94406 | 10.7 | 17.93
Output | 0.19287 | 0.1933 | 0.19426 | 0.1 | 4.29
Modify | 0.53239 | 0.55343 | 0.57349 | 2.0 | 12.27
Other | | 0.07902 | | | 1.75
Nlocal: 2779.5 ave 2862 max 2686 min
Histogram: 1 0 0 0 0 1 1 0 0 1
Nghost: 1183.25 ave 1220 max 1134 min
Histogram: 1 0 0 0 1 0 0 0 1 1
Neighs: 11828.8 ave 12387 max 11053 min
Histogram: 1 0 0 0 1 0 0 0 1 1
Total # of neighbors = 47315
Ave neighs/atom = 4.2557115
Ave special neighs/atom = 10.321461
Neighbor list builds = 421
Dangerous builds = 11
Total wall time: 0:00:04

View File

@ -1,217 +0,0 @@
LAMMPS (27 Oct 2021)
units lj
dimension 3
boundary f f f
atom_style sphere/bpm
special_bonds lj 0.0 1.0 1.0 coul 0.0 1.0 1.0
newton on off
comm_modify vel yes cutoff 2.6
lattice fcc 1.0
Lattice spacing in x,y,z = 1.5874011 1.5874011 1.5874011
region box block -25 15 -22 22 -22 22
create_box 1 box bond/types 2 extra/bond/per/atom 20 extra/special/per/atom 50
Created orthogonal box = (-39.685026 -34.922823 -34.922823) to (23.811016 34.922823 34.922823)
1 by 2 by 2 MPI processor grid
region disk cylinder x 0.0 0.0 20.0 -0.5 0.5
create_atoms 1 region disk
Created 7529 atoms
using lattice units in orthogonal box = (-39.685026 -34.922823 -34.922823) to (23.811016 34.922823 34.922823)
create_atoms CPU = 0.006 seconds
group plate region disk
7529 atoms in group plate
region ball sphere 8.0 0.0 0.0 6.0
create_atoms 1 region ball
Created 3589 atoms
using lattice units in orthogonal box = (-39.685026 -34.922823 -34.922823) to (23.811016 34.922823 34.922823)
create_atoms CPU = 0.001 seconds
group projectile region ball
3589 atoms in group projectile
displace_atoms all random 0.1 0.1 0.1 134598738
Displacing atoms ...
neighbor 1.0 bin
pair_style gran/hooke/history 1.0 NULL 0.5 NULL 0.1 1
pair_coeff 1 1
fix 1 all nve/sphere/bpm
create_bonds many plate plate 1 0.0 1.5
Neighbor list info ...
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 2
ghost atom cutoff = 2.6
binsize = 1, bins = 64 70 70
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command create_bonds, occasional
attributes: full, newton on
pair build: full/bin
stencil: full/bin/3d
bin: standard
(2) pair gran/hooke/history, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d
bin: standard
Added 38559 bonds, new total = 38559
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 1 1
special bond factors coul: 0 1 1
15 = max # of 1-2 neighbors
101 = max # of special neighbors
special bonds CPU = 0.002 seconds
create_bonds many projectile projectile 2 0.0 1.5
WARNING: Bonds are defined but no bond style is set (../force.cpp:191)
WARNING: Likewise 1-2 special neighbor interactions != 1.0 (../force.cpp:193)
Added 21869 bonds, new total = 60428
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 1 1
special bond factors coul: 0 1 1
16 = max # of 1-2 neighbors
101 = max # of special neighbors
special bonds CPU = 0.002 seconds
neighbor 0.3 bin
special_bonds lj 0.0 1.0 1.0 coul 1.0 1.0 1.0
bond_style bpm/rotational store/local brkbond 100 time id1 id2
bond_coeff 1 1.0 0.2 0.02 0.02 0.05 0.01 0.01 0.01 0.1 0.02 0.002 0.002
bond_coeff 2 1.0 0.2 0.02 0.02 0.20 0.04 0.04 0.04 0.1 0.02 0.002 0.002
velocity projectile set -0.05 0.0 0.0
compute nbond all nbond/atom
compute tbond all reduce sum c_nbond
timestep 0.05
thermo_style custom step ke pe pxx pyy pzz c_tbond
thermo 100
thermo_modify lost ignore lost/bond ignore
#dump 1 all custom 100 atomDump id radius x y z c_nbond
dump 2 all local 100 brokenDump f_brkbond[1] f_brkbond[2] f_brkbond[3]
dump_modify 2 header no
run 7500
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Neighbor list info ...
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.3
ghost atom cutoff = 2.6
binsize = 0.65, bins = 98 108 108
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair gran/hooke/history, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 33.34 | 33.34 | 33.35 Mbytes
Step KinEng PotEng Pxx Pyy Pzz c_tbond
0 0.00053238861 0 3.8217307e-05 0 0 10.8703
100 0.00053238861 0 3.8217307e-05 2.0196245e-19 2.0291801e-19 10.8703
200 0.00053238861 0 3.8217307e-05 3.0246341e-19 2.9178664e-19 10.8703
300 0.00053238861 0 3.8217307e-05 3.3428362e-19 3.2669661e-19 10.8703
400 0.00053238861 0 3.8217307e-05 3.5002919e-19 3.3516777e-19 10.8703
500 0.00053102278 0 3.8469829e-05 7.3311547e-08 1.4473347e-07 10.8703
600 0.00051549609 0 4.0342929e-05 3.87734e-07 4.9640786e-07 10.868322
700 0.00050121532 0 3.8778736e-05 4.6411496e-07 4.3149467e-07 10.850333
800 0.00049869661 0 3.6779398e-05 4.748259e-07 3.5191586e-07 10.803202
900 0.00049580923 0 3.5608764e-05 9.3667316e-07 5.0139078e-07 10.737363
1000 0.00049478796 0 3.5573518e-05 7.9599489e-07 6.7732416e-07 10.683396
1100 0.00048712204 0 3.5843955e-05 1.1345563e-06 1.4066243e-06 10.662169
1200 0.00048265244 0 3.5288538e-05 1.7434542e-06 1.6555952e-06 10.642921
1300 0.00047982046 0 3.4929699e-05 1.5116612e-06 1.1824842e-06 10.62925
1400 0.00048024672 0 3.4696478e-05 1.0219046e-06 9.6017582e-07 10.619716
1500 0.0004721757 0 3.4671814e-05 1.7623303e-06 1.6904391e-06 10.608023
1600 0.00045691175 0 3.3618706e-05 2.0127313e-06 2.2294075e-06 10.599208
1700 0.00044846472 0 3.2628068e-05 2.1732651e-06 2.6125725e-06 10.586796
1800 0.00044916668 0 3.2074126e-05 1.713271e-06 2.2306226e-06 10.562691
1900 0.00044434475 0 3.1841489e-05 1.4069412e-06 1.6739368e-06 10.540025
2000 0.00044011236 0 3.1535369e-05 1.8850064e-06 1.966093e-06 10.508365
2100 0.00043343658 0 3.1327313e-05 1.7877497e-06 1.9031224e-06 10.466271
2200 0.00043076716 0 3.1141775e-05 2.260934e-06 1.7405179e-06 10.428135
2300 0.0004252247 0 3.065038e-05 1.8685672e-06 1.6444209e-06 10.398993
2400 0.00042502327 0 3.0356508e-05 1.8748934e-06 1.3329686e-06 10.380644
2500 0.00042142831 0 3.0164965e-05 2.1119049e-06 1.7118338e-06 10.366433
2600 0.00042131885 0 3.0065244e-05 1.6092748e-06 1.5373156e-06 10.35456
2700 0.00042303607 0 3.0011813e-05 1.7496254e-06 1.77836e-06 10.327937
2800 0.00042148119 0 2.9849777e-05 1.5035087e-06 1.5374543e-06 10.314085
2900 0.00042092112 0 2.9766439e-05 1.2512363e-06 1.417453e-06 10.302572
3000 0.00042298628 0 2.985456e-05 1.030367e-06 1.2706193e-06 10.297536
3100 0.00042098731 0 2.9773119e-05 1.1020439e-06 1.3236711e-06 10.293938
3200 0.00042190155 0 2.975807e-05 1.0825659e-06 1.207615e-06 10.2907
3300 0.00041840008 0 2.9573071e-05 1.0027126e-06 1.0591685e-06 10.286562
3400 0.00041726315 0 2.9629012e-05 1.3206781e-06 1.0694496e-06 10.280986
3500 0.00041553548 0 2.9393577e-05 1.4604125e-06 1.2547784e-06 10.27361
3600 0.00041551693 0 2.9122892e-05 1.0944373e-06 9.6499513e-07 10.271632
3700 0.00041351569 0 2.8943889e-05 9.6203862e-07 8.3123719e-07 10.270192
3800 0.00041419735 0 2.9031969e-05 1.1893061e-06 7.9832166e-07 10.267494
3900 0.0004142108 0 2.8912904e-05 1.0049279e-06 9.0628823e-07 10.255442
4000 0.00041253668 0 2.8794779e-05 8.3301821e-07 8.2348634e-07 10.250045
4100 0.00041245029 0 2.8626953e-05 1.0440229e-06 9.7296445e-07 10.239971
4200 0.00041239868 0 2.8576872e-05 8.5677759e-07 9.4929241e-07 10.235114
4300 0.0004105539 0 2.845078e-05 7.9007545e-07 9.4314698e-07 10.227559
4400 0.00041038071 0 2.8447842e-05 8.3506095e-07 9.403948e-07 10.220363
4500 0.0004094738 0 2.8385536e-05 7.4474323e-07 8.9167115e-07 10.214247
4600 0.00040931891 0 2.8293128e-05 6.9842277e-07 8.7986292e-07 10.211189
4700 0.00040935826 0 2.832743e-05 7.7312621e-07 8.6571149e-07 10.208491
4800 0.00040894424 0 2.8290022e-05 7.560957e-07 7.8478084e-07 10.202195
4900 0.00040771373 0 2.8211024e-05 8.8835691e-07 7.6981867e-07 10.196816
5000 0.0004075835 0 2.8242057e-05 7.9265659e-07 8.5594679e-07 10.18854
5100 0.00040629886 0 2.8147996e-05 8.29922e-07 8.2991198e-07 10.186938
5200 0.00040615587 0 2.8075206e-05 7.9676977e-07 8.3313535e-07 10.183699
5300 0.00040623905 0 2.8061445e-05 8.5454501e-07 8.3464967e-07 10.18154
5400 0.00040639649 0 2.8095492e-05 9.219289e-07 8.8970884e-07 10.180281
5500 0.00040632069 0 2.8146737e-05 9.5125536e-07 9.2967258e-07 10.179741
5600 0.00040615846 0 2.8095814e-05 9.4628277e-07 9.4475909e-07 10.179201
5700 0.00040661759 0 2.8056252e-05 9.1418005e-07 9.3869835e-07 10.177942
5800 0.00040636342 0 2.7980285e-05 8.7191961e-07 9.4296893e-07 10.177042
5900 0.00040517906 0 2.7876934e-05 8.3277579e-07 9.2807515e-07 10.178694
6000 0.00040392762 0 2.7828073e-05 8.3950266e-07 9.4521092e-07 10.180166
6100 0.00040367162 0 2.7800472e-05 8.720166e-07 1.0332147e-06 10.179806
6200 0.00040335119 0 2.7762148e-05 8.5284463e-07 9.3150721e-07 10.179086
6300 0.00040340642 0 2.7769051e-05 8.3428098e-07 8.7041896e-07 10.178546
6400 0.0004030719 0 2.7741943e-05 7.952126e-07 8.3664709e-07 10.179282
6500 0.00040347682 0 2.7744595e-05 7.8058438e-07 8.4639064e-07 10.178382
6600 0.00040257759 0 2.7667961e-05 7.8150592e-07 8.5501519e-07 10.179298
6700 0.00040217981 0 2.7649415e-05 8.1293625e-07 9.4727792e-07 10.178938
6800 0.00040191405 0 2.7693195e-05 8.0894279e-07 1.1604089e-06 10.178938
6900 0.00040208358 0 2.7773245e-05 7.9264674e-07 1.1927033e-06 10.178758
7000 0.00040239724 0 2.782978e-05 8.330894e-07 1.2084905e-06 10.178758
7100 0.00040269303 0 2.7728862e-05 8.1375466e-07 1.0779344e-06 10.178758
7200 0.00040227155 0 2.7654709e-05 8.3101678e-07 9.7757461e-07 10.17969
7300 0.00040115701 0 2.7604211e-05 8.07161e-07 9.4401828e-07 10.181376
7400 0.00039998681 0 2.7528309e-05 7.8970732e-07 9.3464728e-07 10.182703
7500 0.00039916281 0 2.7432547e-05 7.9446882e-07 8.9887681e-07 10.182949
Loop time of 34.6948 on 4 procs for 7500 steps with 11096 atoms
Performance: 933857.672 tau/day, 216.171 timesteps/s
98.4% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.32481 | 0.33445 | 0.34816 | 1.6 | 0.96
Bond | 26.728 | 28.076 | 29.753 | 23.9 | 80.92
Neigh | 0.68094 | 0.72261 | 0.7747 | 4.8 | 2.08
Comm | 1.5266 | 3.3654 | 4.8309 | 75.3 | 9.70
Output | 0.018332 | 0.018804 | 0.019756 | 0.4 | 0.05
Modify | 1.9305 | 2.0147 | 2.1302 | 6.0 | 5.81
Other | | 0.1631 | | | 0.47
Nlocal: 2774.00 ave 2898 max 2701 min
Histogram: 1 1 0 1 0 0 0 0 0 1
Nghost: 1165.25 ave 1208 max 1142 min
Histogram: 2 0 0 1 0 0 0 0 0 1
Neighs: 11425.0 ave 12539 max 10556 min
Histogram: 1 0 1 0 1 0 0 0 0 1
Total # of neighbors = 45700
Ave neighs/atom = 4.1186013
Ave special neighs/atom = 10.184841
Neighbor list builds = 451
Dangerous builds = 0
Total wall time: 0:00:35

View File

@ -2,7 +2,7 @@ LAMMPS (27 Oct 2021)
units lj
dimension 3
boundary f f f
atom_style bond
atom_style sphere/bpm
special_bonds lj 0.0 1.0 1.0 coul 0.0 1.0 1.0
newton on off
comm_modify vel yes cutoff 2.6
@ -17,7 +17,7 @@ region disk cylinder x 0.0 0.0 20.0 -0.5 0.5
create_atoms 1 region disk
Created 7529 atoms
using lattice units in orthogonal box = (-39.685026 -34.922823 -34.922823) to (23.811016 34.922823 34.922823)
create_atoms CPU = 0.002 seconds
create_atoms CPU = 0.006 seconds
group plate region disk
7529 atoms in group plate
@ -32,13 +32,11 @@ group projectile region ball
displace_atoms all random 0.1 0.1 0.1 134598738
Displacing atoms ...
mass 1 1.0
neighbor 1.0 bin
pair_style bpm/spring
pair_coeff 1 1 1.0 1.0 1.0
pair_style gran/hooke/history 1.0 NULL 0.5 NULL 0.1 1
pair_coeff 1 1
fix 1 all nve
fix 1 all nve/sphere/bpm
create_bonds many plate plate 1 0.0 1.5
Neighbor list info ...
@ -53,9 +51,9 @@ Neighbor list info ...
pair build: full/bin
stencil: full/bin/3d
bin: standard
(2) pair bpm/spring, perpetual
attributes: half, newton on
pair build: half/bin/newton
(2) pair gran/hooke/history, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d
bin: standard
Added 38559 bonds, new total = 38559
@ -79,19 +77,19 @@ Finding 1-2 1-3 1-4 neighbors ...
neighbor 0.3 bin
special_bonds lj 0.0 1.0 1.0 coul 1.0 1.0 1.0
bond_style bpm/spring store/local brkbond 100 time id1 id2
bond_coeff 1 1.0 0.04 1.0
bond_coeff 2 1.0 0.20 1.0
bond_style bpm/rotational store/local brkbond 100 time id1 id2
bond_coeff 1 1.0 0.2 0.02 0.02 0.05 0.01 0.01 0.01 0.1 0.02 0.002 0.002
bond_coeff 2 1.0 0.2 0.02 0.02 0.20 0.04 0.04 0.04 0.1 0.02 0.002 0.002
velocity projectile set -0.05 0.0 0.0
compute nbond all nbond/atom
compute tbond all reduce sum c_nbond
timestep 0.1
timestep 0.05
thermo_style custom step ke pe pxx pyy pzz c_tbond
thermo 100
thermo_modify lost ignore lost/bond ignore
#dump 1 all custom 100 atomDump id x y z c_nbond
#dump 1 all custom 100 atomDump id radius x y z c_nbond
dump 2 all local 100 brokenDump f_brkbond[1] f_brkbond[2] f_brkbond[3]
dump_modify 2 header no
@ -105,115 +103,115 @@ Neighbor list info ...
ghost atom cutoff = 2.6
binsize = 0.65, bins = 98 108 108
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair bpm/spring, perpetual
attributes: half, newton on
pair build: half/bin/newton
(1) pair gran/hooke/history, perpetual
attributes: half, newton on, size, history
pair build: half/size/bin/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 17.74 | 17.74 | 17.74 Mbytes
Per MPI rank memory allocation (min/avg/max) = 33.34 | 33.34 | 33.35 Mbytes
Step KinEng PotEng Pxx Pyy Pzz c_tbond
0 0.0010167873 0 7.298968e-05 0 0 10.8703
100 0.0010167873 0 7.298968e-05 -8.7429897e-20 -8.8470837e-20 10.8703
200 0.0010167873 0 7.298968e-05 -7.2809565e-20 -8.0915788e-20 10.8703
300 0.0009951439 0 9.9273671e-05 8.1569216e-06 8.0922512e-06 10.868142
400 0.00095142792 0 0.00012669557 -1.3413721e-05 -1.4800745e-05 10.849793
500 0.00092272662 0 8.1708784e-05 -9.7488701e-06 -1.3603634e-05 10.819752
600 0.00088967612 0 6.2587266e-05 -5.1954127e-06 -6.781587e-06 10.797985
700 0.00086070919 0 8.8529902e-05 -9.9431205e-06 -7.9905211e-06 10.776579
800 0.00083543943 0 7.5920357e-05 3.6381024e-07 3.7747551e-06 10.759309
900 0.00081190799 0 6.3678219e-05 5.4158243e-06 1.2751247e-05 10.744199
1000 0.00078828988 0 7.3079869e-05 -6.6410613e-06 -1.198683e-06 10.728368
1100 0.00075664718 0 6.2976995e-05 -4.7863299e-06 -3.9814556e-06 10.711819
1200 0.00072472205 0 4.9680233e-05 9.3093553e-06 4.4426393e-06 10.69401
1300 0.00070176532 0 5.4048176e-05 1.3051954e-05 7.5448558e-06 10.671164
1400 0.00068599319 0 5.4062404e-05 9.9930199e-06 1.0353154e-05 10.650117
1500 0.0006786164 0 4.5038593e-05 8.067571e-06 9.8825461e-06 10.636266
1600 0.00067466823 0 4.6733251e-05 9.8595584e-06 1.1551081e-05 10.621335
1700 0.00066847126 0 5.1472453e-05 2.1569974e-07 6.0070599e-06 10.6127
1800 0.00065711827 0 5.0355189e-05 -8.030203e-06 -3.1395588e-06 10.599568
1900 0.00063882539 0 4.7146888e-05 -2.0596242e-05 -1.6494542e-05 10.581939
2000 0.00061717894 0 4.6698781e-05 -2.5473048e-05 -2.7703615e-05 10.567188
2100 0.00059261327 0 3.7701055e-05 -2.4637803e-05 -3.3919162e-05 10.552617
2200 0.00056527158 0 3.2239421e-05 -1.8786685e-05 -2.4202734e-05 10.538406
2300 0.00054054919 0 2.7410334e-05 -6.701111e-06 -7.4354974e-06 10.520777
2400 0.00051820065 0 2.2997206e-05 1.5623767e-05 1.8687824e-05 10.501889
2500 0.00049647925 0 1.746693e-05 2.8814144e-05 3.5569425e-05 10.487498
2600 0.00047837258 0 1.4127067e-05 3.4245611e-05 4.0208577e-05 10.472387
2700 0.00046626924 0 1.3714876e-05 3.7922196e-05 4.1550346e-05 10.456377
2800 0.0004560167 0 1.5260976e-05 3.5632577e-05 3.7885738e-05 10.440007
2900 0.00045331059 0 1.5194832e-05 3.1036124e-05 2.8633755e-05 10.427955
3000 0.00045227799 0 1.4877378e-05 1.9327028e-05 2.1189487e-05 10.414283
3100 0.00044866178 0 2.0424612e-05 -2.7242288e-06 7.7121438e-06 10.40349
3200 0.00044336453 0 2.3276121e-05 -1.979069e-05 -4.2311089e-06 10.395575
3300 0.00043526526 0 2.3338132e-05 -2.834945e-05 -1.7302033e-05 10.389998
3400 0.00042817758 0 2.4374527e-05 -2.9870076e-05 -3.0623264e-05 10.382803
3500 0.00042182658 0 2.6120627e-05 -2.9449521e-05 -3.787776e-05 10.378126
3600 0.00041794291 0 2.4736957e-05 -2.4098172e-05 -3.0529166e-05 10.373628
3700 0.0004156005 0 2.7543305e-05 -1.2431749e-05 -1.8626096e-05 10.37075
3800 0.0004141461 0 2.4630482e-05 -6.345489e-06 -1.7375803e-05 10.368771
3900 0.00041328832 0 2.2220142e-05 4.1471034e-07 -1.3339476e-05 10.366972
4000 0.00041121725 0 2.3491321e-05 1.1284551e-05 -5.8651834e-06 10.364634
4100 0.00040761876 0 2.6688248e-05 1.9721625e-05 3.7536871e-06 10.362655
4200 0.00040301362 0 2.7601916e-05 1.9212118e-05 9.7175996e-06 10.359417
4300 0.00040001545 0 2.7243769e-05 1.6889359e-05 1.1857147e-05 10.3551
4400 0.00039654521 0 2.561083e-05 1.3863551e-05 1.0593597e-05 10.351142
4500 0.00039435924 0 2.4366458e-05 1.2545563e-05 1.1323962e-05 10.348804
4600 0.00039250006 0 2.3719127e-05 1.1015167e-05 8.5964046e-06 10.348444
4700 0.00039145496 0 2.2943915e-05 8.7824224e-06 5.0397129e-06 10.346825
4800 0.00039105331 0 2.4005757e-05 7.5899773e-06 9.033741e-07 10.344846
4900 0.0003898798 0 2.3819433e-05 4.9673894e-06 -2.3466459e-06 10.343587
5000 0.00038747508 0 2.3605028e-05 -1.1717437e-06 -6.1096657e-06 10.343047
5100 0.00038549022 0 2.3453798e-05 -9.9256693e-06 -9.3584148e-06 10.341788
5200 0.00038283936 0 2.5243567e-05 -1.5877598e-05 -9.9474447e-06 10.340169
5300 0.00038140888 0 2.5522223e-05 -1.9331435e-05 -1.1067039e-05 10.33873
5400 0.00037916674 0 2.5181488e-05 -2.1581255e-05 -1.1252641e-05 10.336931
5500 0.00037782932 0 2.691805e-05 -1.5768241e-05 -5.6704695e-06 10.334952
5600 0.00037628832 0 2.5851445e-05 -1.4239811e-05 -1.9122536e-06 10.333153
5700 0.00037451913 0 2.4758416e-05 -1.3252284e-05 -1.9222041e-06 10.331714
5800 0.00037328662 0 2.2507032e-05 -9.6704092e-06 -7.5470215e-06 10.330095
5900 0.00037253111 0 2.3303086e-05 -4.2828034e-06 -7.888056e-06 10.328476
6000 0.00037171133 0 2.4042456e-05 -4.7684985e-06 -6.5164336e-06 10.327397
6100 0.00036986726 0 2.4938695e-05 -4.8738316e-06 -4.5380007e-06 10.327037
6200 0.0003675822 0 2.3322229e-05 -4.6333093e-06 -5.7086464e-06 10.327037
6300 0.00036552389 0 2.1435354e-05 -4.8971566e-06 -3.5935426e-06 10.327037
6400 0.00036488091 0 2.0813994e-05 -3.8333319e-06 -3.6595059e-06 10.327037
6500 0.00036447973 0 2.2241876e-05 8.7797361e-08 -4.141203e-06 10.327037
6600 0.00036383343 0 2.269485e-05 4.9364593e-06 1.3062133e-06 10.326677
6700 0.00036305076 0 2.1838759e-05 6.4587048e-06 4.7758772e-06 10.326318
6800 0.00036226601 0 2.2916622e-05 6.044926e-06 5.0291597e-06 10.325598
6900 0.00036175279 0 2.2691667e-05 6.9998847e-06 5.8988637e-06 10.324699
7000 0.00036143633 0 2.1725813e-05 8.1268152e-06 5.0390503e-06 10.324519
7100 0.0003610248 0 2.1799675e-05 8.65795e-06 3.1360368e-06 10.323439
7200 0.00036086259 0 2.2198029e-05 5.1764734e-06 5.4798783e-07 10.32308
7300 0.00036099757 0 2.4160496e-05 1.0310325e-06 -5.115075e-07 10.32254
7400 0.00036129334 0 2.5325018e-05 -9.4918158e-07 -1.7064957e-06 10.32218
7500 0.00036136655 0 2.3513198e-05 -3.8618451e-06 -4.4344772e-06 10.321281
Loop time of 5.76963 on 4 procs for 7500 steps with 11118 atoms
0 0.00053238861 0 3.8217307e-05 0 0 10.8703
100 0.00053238861 0 3.8217307e-05 2.0196245e-19 2.0291801e-19 10.8703
200 0.00053238861 0 3.8217307e-05 3.0246341e-19 2.9178664e-19 10.8703
300 0.00053238861 0 3.8217307e-05 3.3428362e-19 3.2669661e-19 10.8703
400 0.00053238861 0 3.8217307e-05 3.5002919e-19 3.3516777e-19 10.8703
500 0.00053102278 0 3.8469829e-05 7.3311547e-08 1.4473347e-07 10.8703
600 0.00051549609 0 4.0342929e-05 3.87734e-07 4.9640786e-07 10.868322
700 0.00050121532 0 3.8778736e-05 4.6411496e-07 4.3149467e-07 10.850333
800 0.00049869661 0 3.6779398e-05 4.748259e-07 3.5191586e-07 10.803202
900 0.00049580923 0 3.5608764e-05 9.3667316e-07 5.0139078e-07 10.737363
1000 0.00049478796 0 3.5573518e-05 7.9599489e-07 6.7732416e-07 10.683396
1100 0.00048712204 0 3.5843955e-05 1.1345563e-06 1.4066243e-06 10.662169
1200 0.00048265244 0 3.5288538e-05 1.7434542e-06 1.6555952e-06 10.642921
1300 0.00047982046 0 3.4929699e-05 1.5116612e-06 1.1824842e-06 10.62925
1400 0.00048024672 0 3.4696478e-05 1.0219046e-06 9.6017582e-07 10.619716
1500 0.0004721757 0 3.4671814e-05 1.7623303e-06 1.6904391e-06 10.608023
1600 0.00045691175 0 3.3618706e-05 2.0127313e-06 2.2294075e-06 10.599208
1700 0.00044846472 0 3.2628068e-05 2.1732651e-06 2.6125725e-06 10.586796
1800 0.00044916668 0 3.2074126e-05 1.713271e-06 2.2306226e-06 10.562691
1900 0.00044434475 0 3.1841489e-05 1.4069412e-06 1.6739368e-06 10.540025
2000 0.00044011236 0 3.1535369e-05 1.8850064e-06 1.966093e-06 10.508365
2100 0.00043343658 0 3.1327313e-05 1.7877497e-06 1.9031224e-06 10.466271
2200 0.00043076716 0 3.1141775e-05 2.260934e-06 1.7405179e-06 10.428135
2300 0.0004252247 0 3.065038e-05 1.8685672e-06 1.6444209e-06 10.398993
2400 0.00042502327 0 3.0356508e-05 1.8748934e-06 1.3329686e-06 10.380644
2500 0.00042142831 0 3.0164965e-05 2.1119049e-06 1.7118338e-06 10.366433
2600 0.00042131885 0 3.0065244e-05 1.6092748e-06 1.5373156e-06 10.35456
2700 0.00042303607 0 3.0011813e-05 1.7496254e-06 1.77836e-06 10.327937
2800 0.00042148119 0 2.9849777e-05 1.5035087e-06 1.5374543e-06 10.314085
2900 0.00042092112 0 2.9766439e-05 1.2512363e-06 1.417453e-06 10.302572
3000 0.00042298628 0 2.985456e-05 1.030367e-06 1.2706193e-06 10.297536
3100 0.00042098731 0 2.9773119e-05 1.1020439e-06 1.3236711e-06 10.293938
3200 0.00042190155 0 2.975807e-05 1.0825659e-06 1.207615e-06 10.2907
3300 0.00041840008 0 2.9573071e-05 1.0027126e-06 1.0591685e-06 10.286562
3400 0.00041726315 0 2.9629012e-05 1.3206781e-06 1.0694496e-06 10.280986
3500 0.00041553548 0 2.9393577e-05 1.4604125e-06 1.2547784e-06 10.27361
3600 0.00041551693 0 2.9122892e-05 1.0944373e-06 9.6499513e-07 10.271632
3700 0.00041351569 0 2.8943889e-05 9.6203862e-07 8.3123719e-07 10.270192
3800 0.00041419735 0 2.9031969e-05 1.1893061e-06 7.9832166e-07 10.267494
3900 0.0004142108 0 2.8912904e-05 1.0049279e-06 9.0628823e-07 10.255442
4000 0.00041253668 0 2.8794779e-05 8.3301821e-07 8.2348634e-07 10.250045
4100 0.00041245029 0 2.8626953e-05 1.0440229e-06 9.7296445e-07 10.239971
4200 0.00041239868 0 2.8576872e-05 8.5677759e-07 9.4929241e-07 10.235114
4300 0.0004105539 0 2.845078e-05 7.9007545e-07 9.4314698e-07 10.227559
4400 0.00041038071 0 2.8447842e-05 8.3506095e-07 9.403948e-07 10.220363
4500 0.0004094738 0 2.8385536e-05 7.4474323e-07 8.9167115e-07 10.214247
4600 0.00040931891 0 2.8293128e-05 6.9842277e-07 8.7986292e-07 10.211189
4700 0.00040935826 0 2.832743e-05 7.7312621e-07 8.6571149e-07 10.208491
4800 0.00040894424 0 2.8290022e-05 7.560957e-07 7.8478084e-07 10.202195
4900 0.00040771373 0 2.8211024e-05 8.8835691e-07 7.6981867e-07 10.196816
5000 0.0004075835 0 2.8242057e-05 7.9265659e-07 8.5594679e-07 10.18854
5100 0.00040629886 0 2.8147996e-05 8.29922e-07 8.2991198e-07 10.186938
5200 0.00040615587 0 2.8075206e-05 7.9676977e-07 8.3313535e-07 10.183699
5300 0.00040623905 0 2.8061445e-05 8.5454501e-07 8.3464967e-07 10.18154
5400 0.00040639649 0 2.8095492e-05 9.219289e-07 8.8970884e-07 10.180281
5500 0.00040632069 0 2.8146737e-05 9.5125536e-07 9.2967258e-07 10.179741
5600 0.00040615846 0 2.8095814e-05 9.4628277e-07 9.4475909e-07 10.179201
5700 0.00040661759 0 2.8056252e-05 9.1418005e-07 9.3869835e-07 10.177942
5800 0.00040636342 0 2.7980285e-05 8.7191961e-07 9.4296893e-07 10.177042
5900 0.00040517906 0 2.7876934e-05 8.3277579e-07 9.2807515e-07 10.178694
6000 0.00040392762 0 2.7828073e-05 8.3950266e-07 9.4521092e-07 10.180166
6100 0.00040367162 0 2.7800472e-05 8.720166e-07 1.0332147e-06 10.179806
6200 0.00040335119 0 2.7762148e-05 8.5284463e-07 9.3150721e-07 10.179086
6300 0.00040340642 0 2.7769051e-05 8.3428098e-07 8.7041896e-07 10.178546
6400 0.0004030719 0 2.7741943e-05 7.952126e-07 8.3664709e-07 10.179282
6500 0.00040347682 0 2.7744595e-05 7.8058438e-07 8.4639064e-07 10.178382
6600 0.00040257759 0 2.7667961e-05 7.8150592e-07 8.5501519e-07 10.179298
6700 0.00040217981 0 2.7649415e-05 8.1293625e-07 9.4727792e-07 10.178938
6800 0.00040191405 0 2.7693195e-05 8.0894279e-07 1.1604089e-06 10.178938
6900 0.00040208358 0 2.7773245e-05 7.9264674e-07 1.1927033e-06 10.178758
7000 0.00040239724 0 2.782978e-05 8.330894e-07 1.2084905e-06 10.178758
7100 0.00040269303 0 2.7728862e-05 8.1375466e-07 1.0779344e-06 10.178758
7200 0.00040227155 0 2.7654709e-05 8.3101678e-07 9.7757461e-07 10.17969
7300 0.00040115701 0 2.7604211e-05 8.07161e-07 9.4401828e-07 10.181376
7400 0.00039998681 0 2.7528309e-05 7.8970732e-07 9.3464728e-07 10.182703
7500 0.00039916281 0 2.7432547e-05 7.9446882e-07 8.9887681e-07 10.182949
Loop time of 34.6948 on 4 procs for 7500 steps with 11096 atoms
Performance: 11231223.476 tau/day, 1299.910 timesteps/s
96.3% CPU use with 4 MPI tasks x no OpenMP threads
Performance: 933857.672 tau/day, 216.171 timesteps/s
98.4% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.29183 | 0.31143 | 0.32961 | 2.4 | 5.40
Bond | 2.76 | 2.9181 | 3.0698 | 7.2 | 50.58
Neigh | 0.6247 | 0.6775 | 0.71319 | 4.5 | 11.74
Comm | 0.76389 | 0.98813 | 1.2487 | 19.2 | 17.13
Output | 0.1312 | 0.13162 | 0.13257 | 0.2 | 2.28
Modify | 0.60526 | 0.63574 | 0.66339 | 2.6 | 11.02
Other | | 0.1071 | | | 1.86
Pair | 0.32481 | 0.33445 | 0.34816 | 1.6 | 0.96
Bond | 26.728 | 28.076 | 29.753 | 23.9 | 80.92
Neigh | 0.68094 | 0.72261 | 0.7747 | 4.8 | 2.08
Comm | 1.5266 | 3.3654 | 4.8309 | 75.3 | 9.70
Output | 0.018332 | 0.018804 | 0.019756 | 0.4 | 0.05
Modify | 1.9305 | 2.0147 | 2.1302 | 6.0 | 5.81
Other | | 0.1631 | | | 0.47
Nlocal: 2779.50 ave 2862 max 2686 min
Histogram: 1 0 0 0 0 1 1 0 0 1
Nghost: 1183.25 ave 1220 max 1134 min
Histogram: 1 0 0 0 1 0 0 0 1 1
Neighs: 11828.8 ave 12387 max 11053 min
Histogram: 1 0 0 0 1 0 0 0 1 1
Nlocal: 2774.00 ave 2898 max 2701 min
Histogram: 1 1 0 1 0 0 0 0 0 1
Nghost: 1165.25 ave 1208 max 1142 min
Histogram: 2 0 0 1 0 0 0 0 0 1
Neighs: 11425.0 ave 12539 max 10556 min
Histogram: 1 0 1 0 1 0 0 0 0 1
Total # of neighbors = 47315
Ave neighs/atom = 4.2557115
Ave special neighs/atom = 10.321461
Neighbor list builds = 421
Dangerous builds = 11
Total wall time: 0:00:05
Total # of neighbors = 45700
Ave neighs/atom = 4.1186013
Ave special neighs/atom = 10.184841
Neighbor list builds = 451
Dangerous builds = 0
Total wall time: 0:00:35

View File

@ -1,7 +1,7 @@
units lj
dimension 3
boundary m m m
atom_style sphere/bpm
atom_style bpm/sphere
special_bonds lj 0.0 1.0 1.0 coul 1.0 1.0 1.0
newton on off
comm_modify vel yes cutoff 3.3
@ -25,7 +25,7 @@ fix 1 all wall/gran hertz/history 1.0 NULL 0.5 NULL 0.1 1 zplane 0.0
fix 2 all wall/gran/region hertz/history 1.0 NULL 0.5 NULL 0.1 1 region wall_cyl
fix 3 all gravity 1e-4 vector 0 0 -1
fix 4 all deposit 40 0 1500 712511343 mol my_mol region dropzone near 2.0 vz -0.05 -0.05
fix 5 all nve/sphere/bpm
fix 5 all nve/bpm/sphere
timestep 0.05
thermo_style custom step ke pe pxx pyy pzz c_tbond

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

8
src/.gitignore vendored
View File

@ -253,8 +253,8 @@
/pair_mesont_tpm.cpp
/pair_mesont_tpm.h
/atom_vec_sphere_bpm.cpp
/atom_vec_sphere_bpm.h
/atom_vec_bpm_sphere.cpp
/atom_vec_bpm_sphere.h
/bond_bpm.cpp
/bond_bpm.h
/bond_bpm_rotational.cpp
@ -263,8 +263,8 @@
/bond_bpm_spring.h
/compute_nbond_atom.cpp
/compute_nbond_atom.h
/fix_nve_sphere_bpm.cpp
/fix_nve_sphere_bpm.h
/fix_nve_bpm_sphere.cpp
/fix_nve_bpm_sphere.h
/pair_bpm_spring.cpp
/pair_bpm_spring.h

View File

@ -12,7 +12,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
#include "atom_vec_sphere_bpm.h"
#include "atom_vec_bpm_sphere.h"
#include "atom.h"
#include "error.h"
@ -29,7 +29,7 @@ using namespace MathConst;
/* ---------------------------------------------------------------------- */
AtomVecSphereBPM::AtomVecSphereBPM(LAMMPS *lmp) : AtomVec(lmp)
AtomVecBPMSphere::AtomVecBPMSphere(LAMMPS *lmp) : AtomVec(lmp)
{
mass_type = PER_ATOM;
molecular = Atom::MOLECULAR;
@ -72,16 +72,16 @@ AtomVecSphereBPM::AtomVecSphereBPM(LAMMPS *lmp) : AtomVec(lmp)
optional arg = 0/1 for static/dynamic particle radii
------------------------------------------------------------------------- */
void AtomVecSphereBPM::process_args(int narg, char **arg)
void AtomVecBPMSphere::process_args(int narg, char **arg)
{
if (narg != 0 && narg != 1)
error->all(FLERR,"Illegal atom_style sphere/bpm command");
error->all(FLERR,"Illegal atom_style bpm/sphere command");
radvary = 0;
if (narg == 1) {
radvary = utils::numeric(FLERR,arg[0],true,lmp);
if (radvary < 0 || radvary > 1)
error->all(FLERR,"Illegal atom_style sphere/bpm command");
error->all(FLERR,"Illegal atom_style bpm/sphere command");
}
// dynamic particle radius and mass must be communicated every step
@ -98,7 +98,7 @@ void AtomVecSphereBPM::process_args(int narg, char **arg)
/* ---------------------------------------------------------------------- */
void AtomVecSphereBPM::init()
void AtomVecBPMSphere::init()
{
AtomVec::init();
@ -109,7 +109,7 @@ void AtomVecSphereBPM::init()
FixAdapt *fix = (FixAdapt *) modify->fix[i];
if (fix->diamflag && radvary == 0)
error->all(FLERR,"Fix adapt changes particle radii "
"but atom_style sphere is not dynamic");
"but atom_style bpm/sphere is not dynamic");
}
}
@ -118,7 +118,7 @@ void AtomVecSphereBPM::init()
needed in replicate when 2 atom classes exist and it calls pack_restart()
------------------------------------------------------------------------- */
void AtomVecSphereBPM::grow_pointers()
void AtomVecBPMSphere::grow_pointers()
{
radius = atom->radius;
rmass = atom->rmass;
@ -135,7 +135,7 @@ void AtomVecSphereBPM::grow_pointers()
initialize non-zero atom quantities
------------------------------------------------------------------------- */
void AtomVecSphereBPM::create_atom_post(int ilocal)
void AtomVecBPMSphere::create_atom_post(int ilocal)
{
radius[ilocal] = 0.5;
rmass[ilocal] = 4.0*MY_PI/3.0 * 0.5*0.5*0.5;
@ -151,7 +151,7 @@ void AtomVecSphereBPM::create_atom_post(int ilocal)
modify values for AtomVec::pack_restart() to pack
------------------------------------------------------------------------- */
void AtomVecSphereBPM::pack_restart_pre(int ilocal)
void AtomVecBPMSphere::pack_restart_pre(int ilocal)
{
// insure bond_negative vector is needed length
@ -177,7 +177,7 @@ void AtomVecSphereBPM::pack_restart_pre(int ilocal)
unmodify values packed by AtomVec::pack_restart()
------------------------------------------------------------------------- */
void AtomVecSphereBPM::pack_restart_post(int ilocal)
void AtomVecBPMSphere::pack_restart_post(int ilocal)
{
// restore the flagged types to their negative values
@ -191,7 +191,7 @@ void AtomVecSphereBPM::pack_restart_post(int ilocal)
initialize other atom quantities after AtomVec::unpack_restart()
------------------------------------------------------------------------- */
void AtomVecSphereBPM::unpack_restart_init(int ilocal)
void AtomVecBPMSphere::unpack_restart_init(int ilocal)
{
nspecial[ilocal][0] = 0;
nspecial[ilocal][1] = 0;
@ -203,7 +203,7 @@ void AtomVecSphereBPM::unpack_restart_init(int ilocal)
or initialize other atom quantities
------------------------------------------------------------------------- */
void AtomVecSphereBPM::data_atom_post(int ilocal)
void AtomVecBPMSphere::data_atom_post(int ilocal)
{
radius_one = 0.5 * atom->radius[ilocal];
radius[ilocal] = radius_one;
@ -232,7 +232,7 @@ void AtomVecSphereBPM::data_atom_post(int ilocal)
modify values for AtomVec::pack_data() to pack
------------------------------------------------------------------------- */
void AtomVecSphereBPM::pack_data_pre(int ilocal)
void AtomVecBPMSphere::pack_data_pre(int ilocal)
{
radius_one = radius[ilocal];
rmass_one = rmass[ilocal];
@ -247,7 +247,7 @@ void AtomVecSphereBPM::pack_data_pre(int ilocal)
unmodify values packed by AtomVec::pack_data()
------------------------------------------------------------------------- */
void AtomVecSphereBPM::pack_data_post(int ilocal)
void AtomVecBPMSphere::pack_data_post(int ilocal)
{
radius[ilocal] = radius_one;
rmass[ilocal] = rmass_one;

View File

@ -13,20 +13,20 @@
#ifdef ATOM_CLASS
// clang-format off
AtomStyle(sphere/bpm,AtomVecSphereBPM)
AtomStyle(bpm/sphere,AtomVecBPMSphere)
// clang-format on
#else
#ifndef LMP_ATOM_VEC_SPHERE_BPM_H
#define LMP_ATOM_VEC_SPHERE_BPM_H
#ifndef LMP_ATOM_VEC_BPM_SPHERE_H
#define LMP_ATOM_VEC_BPM_SPHERE_H
#include "atom_vec.h"
namespace LAMMPS_NS {
class AtomVecSphereBPM : public AtomVec {
class AtomVecBPMSphere : public AtomVec {
public:
AtomVecSphereBPM(class LAMMPS *);
AtomVecBPMSphere(class LAMMPS *);
void process_args(int, char **) override;
void init() override;

View File

@ -56,11 +56,11 @@ BondBPM::BondBPM(LAMMPS *lmp) : Bond(lmp)
// this is so final order of Modify:fix will conform to input script
// BondHistory technically only needs this if updateflag = 1
id_fix_dummy = utils::strdup("BPM_DUMMY_" + std::to_string(instance_me));
id_fix_dummy = utils::strdup("BPM_DUMMY");
modify->add_fix(fmt::format("{} all DUMMY ", id_fix_dummy));
id_fix_dummy2 = utils::strdup("BPM_DUMMY2_" + std::to_string(instance_me));
modify->add_fix(fmt::format("{} all DUMMY ", id_fix_dummy2));
id_fix_dummy2 = utils::strdup("BPM_DUMMY2");
modify->add_fix(fmt::format("{} all DUMMY ", id_fix_dummy2));
}
/* ---------------------------------------------------------------------- */
@ -126,7 +126,7 @@ void BondBPM::init_style()
error->all(FLERR,"Without overlay/pair, BPM bond sytles requires special Coulomb weights = 1,1,1");
if (id_fix_dummy) {
id_fix_update = utils::strdup("BPM_UPDATE_SPECIAL_BONDS_" + std::to_string(instance_me));
id_fix_update = utils::strdup("BPM_UPDATE_SPECIAL_BONDS");
fix_update_special_bonds = (FixUpdateSpecialBonds *) modify->replace_fix(id_fix_dummy,
fmt::format("{} all UPDATE_SPECIAL_BONDS", id_fix_update),1);
delete [] id_fix_dummy;
@ -222,10 +222,10 @@ void BondBPM::settings(int narg, char **arg)
// a reference state isn't well defined
if (prop_atom_flag == 1) {
id_fix_prop_atom = utils::strdup("BPM_property_atom" + std::to_string(instance_me));
char *x_ref_id = utils::strdup("BPM_X_REF" + std::to_string(instance_me));
char *y_ref_id = utils::strdup("BPM_Y_REF" + std::to_string(instance_me));
char *z_ref_id = utils::strdup("BPM_Z_REF" + std::to_string(instance_me));
id_fix_prop_atom = utils::strdup("BPM_property_atom");
char *x_ref_id = utils::strdup("BPM_X_REF");
char *y_ref_id = utils::strdup("BPM_Y_REF");
char *z_ref_id = utils::strdup("BPM_Z_REF");
ifix = modify->find_fix(id_fix_prop_atom);
if (ifix < 0) {

View File

@ -50,6 +50,7 @@ BondBPMRotational::BondBPMRotational(LAMMPS *lmp) : BondBPM(lmp)
groll = nullptr;
gtwist = nullptr;
partial_flag = 1;
smooth_flag = 1;
}
/* ---------------------------------------------------------------------- */
@ -531,8 +532,12 @@ void BondBPMRotational::compute(int eflag, int vflag)
damping_forces(i1, i2, type, Fr, rhat, r, force1on2, torque1on2, torque2on1);
smooth = breaking*breaking;
smooth = 1.0 - smooth*smooth;
if (smooth_flag) {
smooth = breaking*breaking;
smooth = 1.0 - smooth*smooth;
} else {
smooth = 1.0;
}
// ------------------------------------------------------//
// Apply forces and torques to particles
@ -635,7 +640,7 @@ void BondBPMRotational::coeff(int narg, char **arg)
}
/* ----------------------------------------------------------------------
check for correct settings and create fix
check for correct settings and create fix
------------------------------------------------------------------------- */
void BondBPMRotational::init_style()
@ -643,7 +648,7 @@ void BondBPMRotational::init_style()
BondBPM::init_style();
if (!atom->quat_flag || !atom->sphere_flag)
error->all(FLERR,"Bond bpm/rotational requires atom style sphere/bpm");
error->all(FLERR,"Bond bpm/rotational requires atom style bpm/sphere");
if (comm->ghost_velocity == 0)
error->all(FLERR,"Bond bpm/rotational requires ghost atoms store velocity");
@ -651,7 +656,7 @@ void BondBPMRotational::init_style()
error->warning(FLERR, "Bond style bpm/rotational not intended for 2d use");
if (!id_fix_bond_history) {
id_fix_bond_history = utils::strdup("HISTORY_BPM_ROTATIONAL" + std::to_string(instance_me));
id_fix_bond_history = utils::strdup("HISTORY_BPM_ROTATIONAL");
fix_bond_history = (FixBondHistory *) modify->replace_fix(id_fix_dummy2,
fmt::format("{} all BOND_HISTORY 0 4", id_fix_bond_history),1);
delete [] id_fix_dummy2;
@ -665,8 +670,16 @@ void BondBPMRotational::settings(int narg, char **arg)
{
BondBPM::settings(narg, arg);
for (int iarg : leftover_iarg) {
error->all(FLERR, "Illegal bond_style command");
int iarg;
for (int i = 0; i < leftover_iarg.size(); i++) {
iarg = leftover_iarg[i];
if (strcmp(arg[iarg], "smooth") == 0) {
if (iarg+1 > narg) error->all(FLERR,"Illegal bond bpm command");
smooth_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
i += 1;
} else {
error->all(FLERR, "Illegal bond_style command");
}
}
}
@ -782,8 +795,10 @@ double BondBPMRotational::single(int type, double rsq, int i, int j,
damping_forces(i, j, type, Fr, rhat, r, force1on2, torque1on2, torque2on1);
fforce += Fr;
smooth = breaking*breaking;
smooth = 1.0 - smooth*smooth;
fforce *= smooth;
if (smooth_flag) {
smooth = breaking*breaking;
smooth = 1.0 - smooth*smooth;
fforce *= smooth;
}
return 0.0;
}

View File

@ -40,6 +40,8 @@ class BondBPMRotational : public BondBPM {
protected:
double *Kr, *Ks, *Kt, *Kb, *gnorm, *gslide, *groll, *gtwist;
double *Fcr, *Fcs, *Tct, *Tcb;
int smooth_flag;
double acos_limit(double);
double elastic_forces(int, int, int, double &, double, double, double,
@ -67,7 +69,7 @@ E: Incorrect args for bond coefficients
Self-explanatory. Check the input script or data file.
E: Bond bpm/rotational requires atom style sphere/bpm
E: Bond bpm/rotational requires atom style bpm/sphere
Self-explanatory.

View File

@ -36,6 +36,7 @@ BondBPMSpring::BondBPMSpring(LAMMPS *lmp) : BondBPM(lmp)
ecrit = nullptr;
gamma = nullptr;
partial_flag = 1;
smooth_flag = 1;
}
/* ---------------------------------------------------------------------- */
@ -197,14 +198,16 @@ void BondBPMSpring::compute(int eflag, int vflag)
delvz = v[i1][2] - v[i2][2];
dot = delx*delvx + dely*delvy + delz*delvz;
fbond -= gamma[type]*dot*rinv;
fbond *= rinv;
smooth = (r-r0)/(r0*ecrit[type]);
smooth *= smooth;
smooth *= smooth;
smooth *= smooth;
smooth = 1 - smooth;
fbond *= rinv*smooth;
if (smooth_flag) {
smooth = (r-r0)/(r0*ecrit[type]);
smooth *= smooth;
smooth *= smooth;
smooth *= smooth;
smooth = 1 - smooth;
fbond *= smooth;
}
if (newton_bond || i1 < nlocal) {
f[i1][0] += delx*fbond;
@ -279,12 +282,12 @@ void BondBPMSpring::init_style()
error->all(FLERR,"Bond bpm/spring requires ghost atoms store velocity");
if (!id_fix_bond_history) {
id_fix_bond_history = utils::strdup("HISTORY_BPM_SPRING" + std::to_string(instance_me));
id_fix_bond_history = utils::strdup("HISTORY_BPM_SPRING");
fix_bond_history = (FixBondHistory *) modify->replace_fix(id_fix_dummy2,
fmt::format("{} all BOND_HISTORY 0 1", id_fix_bond_history),1);
delete [] id_fix_dummy2;
id_fix_dummy2 = nullptr;
}
}
}
/* ---------------------------------------------------------------------- */
@ -293,8 +296,16 @@ void BondBPMSpring::settings(int narg, char **arg)
{
BondBPM::settings(narg, arg);
for (int iarg : leftover_iarg) {
error->all(FLERR, "Illegal bond_style command");
int iarg;
for (int i = 0; i < leftover_iarg.size(); i++) {
iarg = leftover_iarg[i];
if (strcmp(arg[iarg], "smooth") == 0) {
if (iarg+1 > narg) error->all(FLERR,"Illegal bond bpm command");
smooth_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
i += 1;
} else {
error->all(FLERR, "Illegal bond_style command");
}
}
}
@ -368,13 +379,16 @@ double BondBPMSpring::single(int type, double rsq, int i, int j,
double delvz = v[i][2] - v[j][2];
double dot = delx*delvx + dely*delvy + delz*delvz;
fforce -= gamma[type]*dot*rinv;
fforce *= rinv;
double smooth = (r-r0)/(r0*ecrit[type]);
smooth *= smooth;
smooth *= smooth;
smooth *= smooth;
smooth = 1 - smooth;
if (smooth_flag) {
double smooth = (r-r0)/(r0*ecrit[type]);
smooth *= smooth;
smooth *= smooth;
smooth *= smooth;
smooth = 1 - smooth;
fforce *= smooth;
}
fforce *= rinv*smooth;
return 0.0;
}

View File

@ -39,6 +39,7 @@ class BondBPMSpring : public BondBPM {
protected:
double *k, *ecrit, *gamma;
int smooth_flag;
void allocate();
void store_data();

View File

@ -12,7 +12,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
#include "fix_nve_sphere_bpm.h"
#include "fix_nve_bpm_sphere.h"
#include "atom.h"
#include "atom_vec.h"
@ -31,10 +31,10 @@ using namespace MathExtra;
/* ---------------------------------------------------------------------- */
FixNVESphereBPM::FixNVESphereBPM(LAMMPS *lmp, int narg, char **arg) :
FixNVEBPMSphere::FixNVEBPMSphere(LAMMPS *lmp, int narg, char **arg) :
FixNVE(lmp, narg, arg)
{
if (narg < 3) error->all(FLERR,"Illegal fix nve/sphere/bpm command");
if (narg < 3) error->all(FLERR,"Illegal fix nve/bpm/sphere command");
time_integrate = 1;
@ -48,10 +48,10 @@ FixNVESphereBPM::FixNVESphereBPM(LAMMPS *lmp, int narg, char **arg) :
if (strcmp(arg[iarg],"disc")==0) {
inertia = 0.5;
if (domain->dimension != 2)
error->all(FLERR,"Fix nve/sphere/bpm disc requires 2d simulation");
error->all(FLERR,"Fix nve/bpm/sphere disc requires 2d simulation");
iarg++;
}
else error->all(FLERR,"Illegal fix nve/sphere/bpm command");
else error->all(FLERR,"Illegal fix nve/bpm/sphere command");
}
inv_inertia = 1.0/inertia;
@ -59,12 +59,12 @@ FixNVESphereBPM::FixNVESphereBPM(LAMMPS *lmp, int narg, char **arg) :
// error checks
if (!atom->quat_flag || !atom->sphere_flag)
error->all(FLERR,"Fix nve/sphere/bpm requires atom style sphere/bpm");
error->all(FLERR,"Fix nve/bpm/sphere requires atom style bpm/sphere");
}
/* ---------------------------------------------------------------------- */
void FixNVESphereBPM::init()
void FixNVEBPMSphere::init()
{
FixNVE::init();
@ -78,12 +78,12 @@ void FixNVESphereBPM::init()
for (int i = 0; i < nlocal; i++)
if (mask[i] & groupbit)
if (radius[i] == 0.0)
error->one(FLERR,"Fix nve/sphere/bpm requires extended particles");
error->one(FLERR,"Fix nve/bpm/sphere requires extended particles");
}
/* ---------------------------------------------------------------------- */
void FixNVESphereBPM::initial_integrate(int /*vflag*/)
void FixNVEBPMSphere::initial_integrate(int /*vflag*/)
{
double dtq,dtfm,dtirotate,particle_inertia;
@ -128,7 +128,7 @@ void FixNVESphereBPM::initial_integrate(int /*vflag*/)
/* ---------------------------------------------------------------------- */
void FixNVESphereBPM::final_integrate()
void FixNVEBPMSphere::final_integrate()
{
double dtfm,dtirotate,particle_inertia;

View File

@ -13,20 +13,20 @@
#ifdef FIX_CLASS
// clang-format off
FixStyle(nve/sphere/bpm,FixNVESphereBPM)
FixStyle(nve/bpm/sphere,FixNVEBPMSphere)
// clang-format on
#else
#ifndef LMP_FIX_NVE_SPHERE_BPM_H
#define LMP_FIX_NVE_SPHERE_BPM_H
#ifndef LMP_FIX_NVE_BPM_SPHERE_H
#define LMP_FIX_NVE_BPM_SPHERE_H
#include "fix_nve.h"
namespace LAMMPS_NS {
class FixNVESphereBPM : public FixNVE {
class FixNVEBPMSphere : public FixNVE {
public:
FixNVESphereBPM(class LAMMPS *, int, char **);
FixNVEBPMSphere(class LAMMPS *, int, char **);
void init() override;
void initial_integrate(int) override;
@ -51,19 +51,19 @@ Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: Fix nve/sphere/bpm disc requires 2d simulation
E: Fix nve/bpm/sphere disc requires 2d simulation
UNDOCUMENTED
E: Fix nve/sphere/bpm requires atom style sphere/bpm
E: Fix nve/bpm/sphere requires atom style bpm/sphere
Self-explanatory.
E: Fix nve/sphere/bpm update dipole requires atom attribute mu
E: Fix nve/bpm/sphere update dipole requires atom attribute mu
An atom style with this attribute is needed.
E: Fix nve/sphere/bpm requires extended particles
E: Fix nve/bpm/sphere requires extended particles
This fix can only be used for particles of a finite size.

View File

@ -1333,27 +1333,6 @@ void Input::bond_style()
if (narg < 1) error->all(FLERR,"Illegal bond_style command");
if (atom->avec->bonds_allow == 0)
error->all(FLERR,"Bond_style command when no bonds allowed");
if (force->bond) {
std::string style = arg[0];
int match = 0;
if (style == force->bond_style) match = 1;
if (!match && lmp->suffix_enable) {
if (lmp->suffixp)
if (style + "/" + lmp->suffixp == force->bond_style) match = 1;
if (lmp->suffix && !lmp->suffixp)
if (style + "/" + lmp->suffix == force->bond_style) match = 1;
if (lmp->suffix2)
if (style + "/" + lmp->suffix2 == force->bond_style) match = 1;
}
if (match) {
force->bond->settings(narg-1,&arg[1]);
return;
}
}
force->create_bond(arg[0],1);
if (force->bond) force->bond->settings(narg-1,&arg[1]);
}