Made requested changes to fix propel/self. Last thing to change would be to re-introduce the types keyword into this fix if that was deemed to be best.
This commit is contained in:
@ -8,22 +8,19 @@ Syntax
|
|||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
fix ID group-ID propel/self magnitude keyword values
|
fix ID group-ID propel/self mode magnitude keyword values
|
||||||
|
|
||||||
* ID, group-ID are documented in :doc:`fix <fix>` command
|
* ID, group-ID are documented in :doc:`fix <fix>` command
|
||||||
* propel/self = style name of this fix command
|
* propel/self = style name of this fix command
|
||||||
|
* mode = *dipole* or *velocity* or *quat*
|
||||||
* magnitude = magnitude of self-propulsion force
|
* magnitude = magnitude of self-propulsion force
|
||||||
* one (and only one) keyword/value pair must be appended to args
|
* zero or one keyword/value pairs may be appended
|
||||||
* keyword = *dipole* or *velocity* or *quat*
|
* keyword = *qvector*
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
*dipole* value = none = apply force along dipole direction
|
*qvector* value = direction of force in ellipsoid frame
|
||||||
*velocity* value = none = apply force along velocity direction
|
*sx*, *sy*, *sz* = components of *qvector*
|
||||||
*quat* values = direction vector *sx* and *sy* and *sz*
|
|
||||||
*sx* = x component of force direction in ellipsoid frame
|
|
||||||
*sy* = y component of force direction in ellipsoid frame
|
|
||||||
*sz* = z component of force direction in ellipsoid frame
|
|
||||||
|
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
@ -31,9 +28,9 @@ Examples
|
|||||||
|
|
||||||
.. code-block:: LAMMPS
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
fix propel/self all 40.0 dipole
|
fix active all propel/self dipole 40.0
|
||||||
fix propel/self all 10.0 velocity
|
fix active all propel/self velocity 10.0
|
||||||
fix propel/self all 15.7 quat 1.0 0.0 0.0
|
fix active all propel/self quat 15.7 qvector 1.0 0.0 0.0
|
||||||
|
|
||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
@ -50,7 +47,7 @@ is the magnitude of the force, and :math:`e_i` is the vector direction
|
|||||||
of the force. The specification of :math:`e_i` is based on which of the
|
of the force. The specification of :math:`e_i` is based on which of the
|
||||||
three keywords (*dipole* or *velocity* or *quat*) one selects.
|
three keywords (*dipole* or *velocity* or *quat*) one selects.
|
||||||
|
|
||||||
For keyword *dipole*, :math:`e_i` is just equal to
|
For mode *dipole*, :math:`e_i` is just equal to
|
||||||
the dipole vectors of the atoms in the group. Therefore, if the dipoles
|
the dipole vectors of the atoms in the group. Therefore, if the dipoles
|
||||||
are not unit vectors, the :math:`e_i` will not be unit vectors.
|
are not unit vectors, the :math:`e_i` will not be unit vectors.
|
||||||
|
|
||||||
@ -66,21 +63,31 @@ are not unit vectors, the :math:`e_i` will not be unit vectors.
|
|||||||
all the dipole magnitudes to 1.0 unless you have a good reason not to
|
all the dipole magnitudes to 1.0 unless you have a good reason not to
|
||||||
(see the :doc:`set <set>` command on how to do this).
|
(see the :doc:`set <set>` command on how to do this).
|
||||||
|
|
||||||
For keyword *velocity*, :math:`e_i` points in the direction
|
For mode *velocity*, :math:`e_i` points in the direction
|
||||||
of the current velocity (a unit-vector). This can be interpreted as a
|
of the current velocity (a unit-vector). This can be interpreted as a
|
||||||
velocity-dependent friction, as proposed by e.g. :ref:`(Erdmann) <Erdmann1>`.
|
velocity-dependent friction, as proposed by e.g. :ref:`(Erdmann) <Erdmann1>`.
|
||||||
|
|
||||||
For keyword *quat*, :math:`e_i` points in the direction of the unit
|
For mode *quat*, :math:`e_i` points in the direction of a unit
|
||||||
vector defined by its arguments *sx*, *sy*, and *sz*, which are
|
vector, oriented in the coordinate frame of the ellipsoidal particles,
|
||||||
themselves defined within the coordinate frame of the atom's
|
which defaults to point along the x-direction. This default behaviour
|
||||||
|
can be changed by via the *quatvec* keyword.
|
||||||
|
|
||||||
|
The optional *quatvec* keyword specifies the direction of self-propulsion
|
||||||
|
via a unit vector (sx,sy,sz). The arguments *sx*, *sy*, and *sz*, are
|
||||||
|
defined within the coordinate frame of the atom's
|
||||||
ellipsoid. For instance, for an ellipsoid with long axis along
|
ellipsoid. For instance, for an ellipsoid with long axis along
|
||||||
its x-direction, if one wanted the self-propulsion force to also
|
its x-direction, if one wanted the self-propulsion force to also
|
||||||
be along this axis, set *sx* equal to 1 and *sy*, *sz* both equal
|
be along this axis, set *sx* equal to 1 and *sy*, *sz* both equal
|
||||||
to zero. For *quat*, :math:`e_i` will always be a unit vector,
|
to zero. This keyword may only be specified for mode *quat*.
|
||||||
so multiplying all three arguments *sx*, *sy*, and *sz* by a
|
|
||||||
positive scalar will not change the self-propulsion force
|
.. note::
|
||||||
(multiplying by a negative scalar will change the sign of the
|
|
||||||
force).
|
In using keyword *quatvec*, the three arguments *sx*,
|
||||||
|
*sy*, and *sz* will be automatically normalised to components
|
||||||
|
of a unit vector internally to avoid users having to explicitly
|
||||||
|
do so themselves. Therefore, in mode *quat*, the vectors :math:`e_i`
|
||||||
|
will always be of unit length.
|
||||||
|
|
||||||
|
|
||||||
Along with adding a force contribution, this fix can also
|
Along with adding a force contribution, this fix can also
|
||||||
contribute to the virial (pressure) of the system, defined as
|
contribute to the virial (pressure) of the system, defined as
|
||||||
@ -89,10 +96,10 @@ contribute to the virial (pressure) of the system, defined as
|
|||||||
boundary conditions. See :ref:`(Winkler) <Winkler1>` for a
|
boundary conditions. See :ref:`(Winkler) <Winkler1>` for a
|
||||||
discussion of this active pressure contribution.
|
discussion of this active pressure contribution.
|
||||||
|
|
||||||
For keywords *dipole* and *quat*, this fix is by default
|
For modes *dipole* and *quat*, this fix is by default
|
||||||
included in pressure computations.
|
included in pressure computations.
|
||||||
|
|
||||||
For keyword *velocity*, this fix is by default not included
|
For mode *velocity*, this fix is by default not included
|
||||||
in pressure computations.
|
in pressure computations.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,7 @@ neigh_modify every 1 delay 1 check yes
|
|||||||
pair_style none
|
pair_style none
|
||||||
|
|
||||||
fix step all brownian ${gamma_t} ${D_t} ${seed}
|
fix step all brownian ${gamma_t} ${D_t} ${seed}
|
||||||
fix vel all propel/self ${fp} velocity
|
fix vel all propel/self velocity ${fp}
|
||||||
fix 2 all enforce2d
|
fix 2 all enforce2d
|
||||||
fix_modify vel virial yes
|
fix_modify vel virial yes
|
||||||
|
|
||||||
|
|||||||
@ -41,7 +41,7 @@ pair_modify shift yes
|
|||||||
# overdamped brownian dynamics time-step
|
# overdamped brownian dynamics time-step
|
||||||
fix step all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} dipole
|
fix step all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} dipole
|
||||||
# self-propulsion force along the dipole direction
|
# self-propulsion force along the dipole direction
|
||||||
fix activity all propel/self ${fp} dipole
|
fix activity all propel/self dipole ${fp}
|
||||||
fix 2 all enforce2d
|
fix 2 all enforce2d
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -30,7 +30,7 @@ pair_style none
|
|||||||
# overdamped brownian dynamics time-step
|
# overdamped brownian dynamics time-step
|
||||||
fix step all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} dipole
|
fix step all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} dipole
|
||||||
# self-propulsion force along the dipole direction
|
# self-propulsion force along the dipole direction
|
||||||
fix activity all propel/self ${fp} dipole
|
fix activity all propel/self dipole ${fp}
|
||||||
|
|
||||||
|
|
||||||
compute press all pressure NULL virial
|
compute press all pressure NULL virial
|
||||||
|
|||||||
@ -10,10 +10,10 @@ Lattice spacing in x,y,z = 1.5811388 1.5811388 1.5811388
|
|||||||
region box block -16 16 -16 16 -0.2 0.2
|
region box block -16 16 -16 16 -0.2 0.2
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
Created orthogonal box = (-25.298221 -25.298221 -0.31622777) to (25.298221 25.298221 0.31622777)
|
Created orthogonal box = (-25.298221 -25.298221 -0.31622777) to (25.298221 25.298221 0.31622777)
|
||||||
2 by 2 by 1 MPI processor grid
|
1 by 1 by 1 MPI processor grid
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
Created 1024 atoms
|
Created 1024 atoms
|
||||||
create_atoms CPU = 0.001 seconds
|
create_atoms CPU = 0.002 seconds
|
||||||
mass * 1.0
|
mass * 1.0
|
||||||
set type * dipole/random ${seed} 1.0
|
set type * dipole/random ${seed} 1.0
|
||||||
set type * dipole/random 1974019 1.0
|
set type * dipole/random 1974019 1.0
|
||||||
@ -41,8 +41,8 @@ fix step all brownian/sphere 1 1 1 ${D_r} ${seed} dipole
|
|||||||
fix step all brownian/sphere 1 1 1 3 ${seed} dipole
|
fix step all brownian/sphere 1 1 1 3 ${seed} dipole
|
||||||
fix step all brownian/sphere 1 1 1 3 1974019 dipole
|
fix step all brownian/sphere 1 1 1 3 1974019 dipole
|
||||||
# self-propulsion force along the dipole direction
|
# self-propulsion force along the dipole direction
|
||||||
fix activity all propel/self ${fp} dipole
|
fix activity all propel/self dipole ${fp}
|
||||||
fix activity all propel/self 4 dipole
|
fix activity all propel/self dipole 4
|
||||||
fix 2 all enforce2d
|
fix 2 all enforce2d
|
||||||
|
|
||||||
|
|
||||||
@ -66,34 +66,34 @@ Neighbor list info ...
|
|||||||
pair build: half/bin/newtoff
|
pair build: half/bin/newtoff
|
||||||
stencil: half/bin/2d/newtoff
|
stencil: half/bin/2d/newtoff
|
||||||
bin: standard
|
bin: standard
|
||||||
Per MPI rank memory allocation (min/avg/max) = 5.052 | 5.052 | 5.052 Mbytes
|
Per MPI rank memory allocation (min/avg/max) = 5.066 | 5.066 | 5.066 Mbytes
|
||||||
Step Temp E_pair c_press
|
Step Temp E_pair c_press
|
||||||
0 1 0 -0.53979198
|
0 1 0 -0.53979198
|
||||||
50000 1.0371295e+10 0 -0.542818
|
50000 1.0902879e+10 0 -0.53710405
|
||||||
Loop time of 2.25396 on 4 procs for 50000 steps with 1024 atoms
|
Loop time of 6.3887 on 1 procs for 50000 steps with 1024 atoms
|
||||||
|
|
||||||
Performance: 0.192 tau/day, 22183.200 timesteps/s
|
Performance: 0.068 tau/day, 7826.319 timesteps/s
|
||||||
99.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
MPI task timing breakdown:
|
MPI task timing breakdown:
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
---------------------------------------------------------------
|
---------------------------------------------------------------
|
||||||
Pair | 0.1034 | 0.10382 | 0.10438 | 0.1 | 4.61
|
Pair | 0.34323 | 0.34323 | 0.34323 | 0.0 | 5.37
|
||||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Comm | 0.26698 | 0.26833 | 0.26924 | 0.2 | 11.90
|
Comm | 0.070232 | 0.070232 | 0.070232 | 0.0 | 1.10
|
||||||
Output | 2.2284e-05 | 2.4926e-05 | 3.2332e-05 | 0.0 | 0.00
|
Output | 2.5077e-05 | 2.5077e-05 | 2.5077e-05 | 0.0 | 0.00
|
||||||
Modify | 1.7222 | 1.7237 | 1.727 | 0.1 | 76.48
|
Modify | 5.8232 | 5.8232 | 5.8232 | 0.0 | 91.15
|
||||||
Other | | 0.1581 | | | 7.01
|
Other | | 0.152 | | | 2.38
|
||||||
|
|
||||||
Nlocal: 256.000 ave 256 max 256 min
|
Nlocal: 1024.00 ave 1024 max 1024 min
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
Nghost: 105.000 ave 105 max 105 min
|
Nghost: 201.000 ave 201 max 201 min
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
Neighs: 544.000 ave 544 max 544 min
|
Neighs: 2112.00 ave 2112 max 2112 min
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
Total # of neighbors = 2176
|
Total # of neighbors = 2112
|
||||||
Ave neighs/atom = 2.1250000
|
Ave neighs/atom = 2.0625000
|
||||||
Neighbor list builds = 0
|
Neighbor list builds = 0
|
||||||
Dangerous builds = 0
|
Dangerous builds = 0
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
@ -111,53 +111,53 @@ thermo 10000
|
|||||||
|
|
||||||
# main run
|
# main run
|
||||||
run 200000
|
run 200000
|
||||||
Per MPI rank memory allocation (min/avg/max) = 5.427 | 5.427 | 5.427 Mbytes
|
Per MPI rank memory allocation (min/avg/max) = 5.441 | 5.441 | 5.441 Mbytes
|
||||||
Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press
|
Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press
|
||||||
0 1.0371295e+10 0 0 0 0 0 -0.542818
|
0 1.0902879e+10 0 0 0 0 0 -0.53710405
|
||||||
10000 107356.09 0.079828495 0.19584264 0.19679822 0 0.39264086 0.00078740793
|
10000 103498.6 0.087662767 0.18719065 0.2007338 0 0.38792445 0.16080254
|
||||||
20000 101692.44 0.11317533 0.40847364 0.42097802 0 0.82945167 0.74111888
|
20000 104785.56 0.12719481 0.4197551 0.40722743 0 0.82698253 0.5007164
|
||||||
30000 105763.55 0.10261852 0.68303669 0.66125751 0 1.3442942 0.71112533
|
30000 103183.73 0.1126518 0.67800477 0.67921667 0 1.3572214 0.36634317
|
||||||
40000 105127.29 0.12371743 0.97990144 0.94005552 0 1.919957 1.0574552
|
40000 102912.87 0.092584777 0.96234448 0.97188884 0 1.9342333 0.46170129
|
||||||
50000 101579.58 0.12771813 1.3059069 1.2364468 0 2.5423537 1.059263
|
50000 103516.68 0.12761757 1.2381642 1.3203398 0 2.558504 0.85712805
|
||||||
60000 104914.36 0.12055843 1.6215593 1.525488 0 3.1470473 0.79873537
|
60000 104999.77 0.14482924 1.5437166 1.6177103 0 3.1614269 1.1403162
|
||||||
70000 106629.18 0.1278745 1.9639958 1.8682794 0 3.8322752 0.91950208
|
70000 103925.7 0.11302021 1.886 1.9262949 0 3.8122949 1.1056086
|
||||||
80000 103286.54 0.13927689 2.3201565 2.2373383 0 4.5574948 1.1875034
|
80000 105000.14 0.14502228 2.205833 2.2668945 0 4.4727275 1.0757792
|
||||||
90000 106451.61 0.093479681 2.6287902 2.5753347 0 5.2041249 1.0861163
|
90000 105980.8 0.12089413 2.515801 2.647111 0 5.162912 1.1160525
|
||||||
100000 102199.72 0.13269425 2.9127976 2.9369237 0 5.8497214 1.4841998
|
100000 106557.86 0.10934038 2.7977098 2.8965145 0 5.6942242 0.56901933
|
||||||
110000 105229.73 0.10594209 3.1798718 3.3495317 0 6.5294035 1.5444784
|
110000 104241.46 0.12719985 3.1612652 3.2283956 0 6.3896608 0.95100999
|
||||||
120000 106262.36 0.11902575 3.6267452 3.7188125 0 7.3455578 1.3366518
|
120000 101910.56 0.12002691 3.5844099 3.5366227 0 7.1210326 1.2526653
|
||||||
130000 109388.12 0.10562576 3.929973 4.0226942 0 7.9526672 1.324534
|
130000 104435.28 0.10695039 3.8328815 3.8286503 0 7.6615318 1.6198184
|
||||||
140000 107697.35 0.13028752 4.231893 4.3780995 0 8.6099925 1.7406167
|
140000 104864.99 0.11226471 4.1822059 4.285915 0 8.4681209 1.5190757
|
||||||
150000 103928.72 0.12278994 4.5826286 4.7578662 0 9.3404948 1.3024003
|
150000 103209.43 0.11229036 4.430069 4.5491143 0 8.9791833 1.1568204
|
||||||
160000 103370.23 0.11391216 4.8767011 5.1181189 0 9.99482 1.4325241
|
160000 106692.61 0.11151476 4.7593714 5.0322819 0 9.7916533 1.2337266
|
||||||
170000 103821.53 0.11163256 5.153318 5.3785963 0 10.531914 1.4569115
|
170000 105232.19 0.12039818 5.0665907 5.3612901 0 10.427881 1.3881139
|
||||||
180000 106824.99 0.13225083 5.4080929 5.7399804 0 11.148073 1.334984
|
180000 107126.86 0.10793969 5.4129878 5.6391008 0 11.052089 1.6691607
|
||||||
190000 101794.6 0.10632938 5.7384925 6.080955 0 11.819448 0.81285422
|
190000 103814.36 0.096916503 5.7355093 5.9557837 0 11.691293 1.3863335
|
||||||
200000 102128.67 0.13703498 6.0414673 6.4511058 0 12.492573 0.42904128
|
200000 103976.84 0.10928015 6.1871603 6.3393786 0 12.526539 1.1687077
|
||||||
Loop time of 9.60419 on 4 procs for 200000 steps with 1024 atoms
|
Loop time of 27.4513 on 1 procs for 200000 steps with 1024 atoms
|
||||||
|
|
||||||
Performance: 17992.140 tau/day, 20824.236 timesteps/s
|
Performance: 6294.793 tau/day, 7285.640 timesteps/s
|
||||||
100.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
MPI task timing breakdown:
|
MPI task timing breakdown:
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
---------------------------------------------------------------
|
---------------------------------------------------------------
|
||||||
Pair | 0.71756 | 0.75121 | 0.79008 | 3.0 | 7.82
|
Pair | 3.2525 | 3.2525 | 3.2525 | 0.0 | 11.85
|
||||||
Neigh | 0.018158 | 0.018773 | 0.019357 | 0.3 | 0.20
|
Neigh | 0.054678 | 0.054678 | 0.054678 | 0.0 | 0.20
|
||||||
Comm | 1.0469 | 1.0597 | 1.0738 | 1.2 | 11.03
|
Comm | 0.26582 | 0.26582 | 0.26582 | 0.0 | 0.97
|
||||||
Output | 0.00051435 | 0.00057078 | 0.00070838 | 0.0 | 0.01
|
Output | 0.0006103 | 0.0006103 | 0.0006103 | 0.0 | 0.00
|
||||||
Modify | 6.8012 | 6.9883 | 7.1513 | 4.9 | 72.76
|
Modify | 23.265 | 23.265 | 23.265 | 0.0 | 84.75
|
||||||
Other | | 0.7857 | | | 8.18
|
Other | | 0.6131 | | | 2.23
|
||||||
|
|
||||||
Nlocal: 256.000 ave 265 max 240 min
|
Nlocal: 1024.00 ave 1024 max 1024 min
|
||||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
Nghost: 88.5000 ave 91 max 87 min
|
Nghost: 166.000 ave 166 max 166 min
|
||||||
Histogram: 1 0 2 0 0 0 0 0 0 1
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
Neighs: 678.500 ave 713 max 597 min
|
Neighs: 2634.00 ave 2634 max 2634 min
|
||||||
Histogram: 1 0 0 0 0 0 0 0 1 2
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
Total # of neighbors = 2714
|
Total # of neighbors = 2634
|
||||||
Ave neighs/atom = 2.6503906
|
Ave neighs/atom = 2.5722656
|
||||||
Neighbor list builds = 241
|
Neighbor list builds = 238
|
||||||
Dangerous builds = 0
|
Dangerous builds = 0
|
||||||
Total wall time: 0:00:11
|
Total wall time: 0:00:33
|
||||||
|
|||||||
@ -10,10 +10,10 @@ Lattice spacing in x,y,z = 1.3572088 1.3572088 1.3572088
|
|||||||
region box block -8 8 -8 8 -8 8
|
region box block -8 8 -8 8 -8 8
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
Created orthogonal box = (-10.857670 -10.857670 -10.857670) to (10.857670 10.857670 10.857670)
|
Created orthogonal box = (-10.857670 -10.857670 -10.857670) to (10.857670 10.857670 10.857670)
|
||||||
2 by 1 by 2 MPI processor grid
|
1 by 1 by 1 MPI processor grid
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
Created 4096 atoms
|
Created 4096 atoms
|
||||||
create_atoms CPU = 0.002 seconds
|
create_atoms CPU = 0.003 seconds
|
||||||
mass * 1.0
|
mass * 1.0
|
||||||
set type * dipole/random ${seed} 1.0
|
set type * dipole/random ${seed} 1.0
|
||||||
set type * dipole/random 1974019 1.0
|
set type * dipole/random 1974019 1.0
|
||||||
@ -31,8 +31,8 @@ fix step all brownian/sphere 1 1 1 ${D_r} ${seed} dipole
|
|||||||
fix step all brownian/sphere 1 1 1 3 ${seed} dipole
|
fix step all brownian/sphere 1 1 1 3 ${seed} dipole
|
||||||
fix step all brownian/sphere 1 1 1 3 1974019 dipole
|
fix step all brownian/sphere 1 1 1 3 1974019 dipole
|
||||||
# self-propulsion force along the dipole direction
|
# self-propulsion force along the dipole direction
|
||||||
fix activity all propel/self ${fp} dipole
|
fix activity all propel/self dipole ${fp}
|
||||||
fix activity all propel/self 4 dipole
|
fix activity all propel/self dipole 4
|
||||||
|
|
||||||
|
|
||||||
compute press all pressure NULL virial
|
compute press all pressure NULL virial
|
||||||
@ -45,31 +45,31 @@ thermo 50001
|
|||||||
run 50000
|
run 50000
|
||||||
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2118)
|
WARNING: No pairwise cutoff or binsize set. Atom sorting therefore disabled. (src/atom.cpp:2118)
|
||||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167)
|
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167)
|
||||||
Per MPI rank memory allocation (min/avg/max) = 4.319 | 4.319 | 4.319 Mbytes
|
Per MPI rank memory allocation (min/avg/max) = 4.362 | 4.362 | 4.362 Mbytes
|
||||||
Step Temp E_pair c_press
|
Step Temp E_pair c_press
|
||||||
0 1 0 0.068021726
|
0 1 0 0.068021726
|
||||||
50000 1.046425e+10 0 0.067505633
|
50000 1.0486812e+10 0 0.068203091
|
||||||
Loop time of 7.83903 on 4 procs for 50000 steps with 4096 atoms
|
Loop time of 25.3706 on 1 procs for 50000 steps with 4096 atoms
|
||||||
|
|
||||||
Performance: 0.055 tau/day, 6378.340 timesteps/s
|
Performance: 0.017 tau/day, 1970.786 timesteps/s
|
||||||
97.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
MPI task timing breakdown:
|
MPI task timing breakdown:
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
---------------------------------------------------------------
|
---------------------------------------------------------------
|
||||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Comm | 0.50238 | 0.51891 | 0.53617 | 1.7 | 6.62
|
Comm | 0.31005 | 0.31005 | 0.31005 | 0.0 | 1.22
|
||||||
Output | 2.6343e-05 | 3.6075e-05 | 4.6997e-05 | 0.0 | 0.00
|
Output | 3.2633e-05 | 3.2633e-05 | 3.2633e-05 | 0.0 | 0.00
|
||||||
Modify | 6.9536 | 6.9732 | 7.0105 | 0.8 | 88.95
|
Modify | 24.471 | 24.471 | 24.471 | 0.0 | 96.45
|
||||||
Other | | 0.3469 | | | 4.43
|
Other | | 0.5897 | | | 2.32
|
||||||
|
|
||||||
Nlocal: 1024.00 ave 1024 max 1024 min
|
Nlocal: 4096.00 ave 4096 max 4096 min
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
Nghost: 353.000 ave 353 max 353 min
|
Nghost: 817.000 ave 817 max 817 min
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
Neighs: 0.00000 ave 0 max 0 min
|
Neighs: 0.00000 ave 0 max 0 min
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
Total # of neighbors = 0
|
Total # of neighbors = 0
|
||||||
Ave neighs/atom = 0.0000000
|
Ave neighs/atom = 0.0000000
|
||||||
@ -96,46 +96,46 @@ thermo 10000
|
|||||||
# main run
|
# main run
|
||||||
run 120000
|
run 120000
|
||||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167)
|
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:167)
|
||||||
Per MPI rank memory allocation (min/avg/max) = 4.694 | 4.694 | 4.694 Mbytes
|
Per MPI rank memory allocation (min/avg/max) = 4.737 | 4.737 | 4.737 Mbytes
|
||||||
Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press
|
Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press
|
||||||
0 1.046425e+10 0 0 0 0 0 0.067505633
|
0 1.0486812e+10 0 0 0 0 0 0.068203091
|
||||||
10000 106340.56 0 0.2469318 0.23662295 0.2441413 0.72769605 0.19939966
|
10000 104209.87 0 0.25428952 0.2512451 0.23617807 0.74171269 0.1910208
|
||||||
20000 104620.27 0 0.55429324 0.5231436 0.54976641 1.6272032 0.26601423
|
20000 104433.46 0 0.55611319 0.57499464 0.54362634 1.6747342 0.27977792
|
||||||
30000 106130.45 0 0.87562668 0.84813496 0.89321299 2.6169746 0.30836996
|
30000 104615.53 0 0.88377871 0.8933002 0.88683731 2.6639162 0.31709969
|
||||||
40000 105773.31 0 1.2262635 1.1899278 1.2626926 3.6788838 0.35392219
|
40000 105930.5 0 1.2301515 1.262995 1.2479624 3.7411089 0.26149988
|
||||||
50000 103804.88 0 1.5851624 1.5645815 1.6434185 4.7931624 0.33326997
|
50000 105556.39 0 1.5798848 1.6402779 1.6392277 4.8593905 0.34401188
|
||||||
60000 105746.45 0 1.9928016 1.9347072 1.9837329 5.9112417 0.2550878
|
60000 104644.58 0 1.9782384 1.9902061 2.0327974 6.0012419 0.26709167
|
||||||
70000 104500.3 0 2.3269429 2.2774077 2.3368821 6.9412326 0.25218225
|
70000 104314.31 0 2.3681872 2.3695505 2.4241916 7.1619294 0.24191407
|
||||||
80000 105381.46 0 2.7114959 2.6937299 2.7171132 8.122339 0.36940892
|
80000 105700 0 2.7109374 2.7434271 2.8309194 8.2852839 0.28355159
|
||||||
90000 104542.79 0 3.0828648 3.084417 3.0783207 9.2456025 0.36106481
|
90000 103411.61 0 3.1023448 3.0881218 3.1599155 9.350382 0.3070844
|
||||||
100000 104246.75 0 3.4635513 3.5105066 3.4545226 10.42858 0.3712313
|
100000 105432.12 0 3.4853878 3.4372177 3.5153198 10.437925 0.28141015
|
||||||
110000 103099.55 0 3.8471061 3.9389997 3.8220676 11.608173 0.38466185
|
110000 105723.04 0 3.8405786 3.7967805 3.8738332 11.511192 0.33248553
|
||||||
120000 103098.45 0 4.2014598 4.3456831 4.1888659 12.736009 0.36710217
|
120000 104734.31 0 4.2454301 4.1714561 4.2234474 12.640334 0.3603781
|
||||||
Loop time of 22.8893 on 4 procs for 120000 steps with 4096 atoms
|
Loop time of 63.7803 on 1 procs for 120000 steps with 4096 atoms
|
||||||
|
|
||||||
Performance: 4529.619 tau/day, 5242.615 timesteps/s
|
Performance: 1625.581 tau/day, 1881.459 timesteps/s
|
||||||
100.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
MPI task timing breakdown:
|
MPI task timing breakdown:
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
---------------------------------------------------------------
|
---------------------------------------------------------------
|
||||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Neigh | 0.0049489 | 0.0050479 | 0.0050978 | 0.1 | 0.02
|
Neigh | 0.013032 | 0.013032 | 0.013032 | 0.0 | 0.02
|
||||||
Comm | 0.082752 | 0.084491 | 0.085332 | 0.4 | 0.37
|
Comm | 0.093045 | 0.093045 | 0.093045 | 0.0 | 0.15
|
||||||
Output | 0.00054352 | 0.0006034 | 0.00064793 | 0.0 | 0.00
|
Output | 0.00069845 | 0.00069845 | 0.00069845 | 0.0 | 0.00
|
||||||
Modify | 21.069 | 21.521 | 21.964 | 7.0 | 94.02
|
Modify | 62.279 | 62.279 | 62.279 | 0.0 | 97.65
|
||||||
Other | | 1.278 | | | 5.58
|
Other | | 1.394 | | | 2.19
|
||||||
|
|
||||||
Nlocal: 1024.00 ave 1050 max 1010 min
|
Nlocal: 4096.00 ave 4096 max 4096 min
|
||||||
Histogram: 2 0 0 1 0 0 0 0 0 1
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
Nghost: 0.00000 ave 0 max 0 min
|
Nghost: 0.00000 ave 0 max 0 min
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
Neighs: 0.00000 ave 0 max 0 min
|
Neighs: 0.00000 ave 0 max 0 min
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
Total # of neighbors = 0
|
Total # of neighbors = 0
|
||||||
Ave neighs/atom = 0.0000000
|
Ave neighs/atom = 0.0000000
|
||||||
Neighbor list builds = 2169
|
Neighbor list builds = 2174
|
||||||
Dangerous builds = 0
|
Dangerous builds = 0
|
||||||
|
|
||||||
# if you want to check that rotational diffusion is behaving as expected,
|
# if you want to check that rotational diffusion is behaving as expected,
|
||||||
@ -147,4 +147,4 @@ Dangerous builds = 0
|
|||||||
#dump_modify 1 first yes sort id
|
#dump_modify 1 first yes sort id
|
||||||
|
|
||||||
#run 120000
|
#run 120000
|
||||||
Total wall time: 0:00:30
|
Total wall time: 0:01:29
|
||||||
|
|||||||
@ -16,8 +16,7 @@
|
|||||||
|
|
||||||
Thanks to Liesbeth Janssen @ Eindhoven University for useful discussions!
|
Thanks to Liesbeth Janssen @ Eindhoven University for useful discussions!
|
||||||
|
|
||||||
Current maintainer: Sam Cameron @ University of Bristol
|
Current maintainer: Sam Cameron @ University of Bristol
|
||||||
|
|
||||||
----------------------------------------------------------------------- */
|
----------------------------------------------------------------------- */
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
@ -49,44 +48,47 @@ FixPropelSelf::FixPropelSelf(LAMMPS *lmp, int narg, char **arg) :
|
|||||||
|
|
||||||
virial_flag = 1;
|
virial_flag = 1;
|
||||||
|
|
||||||
if (narg < 5)
|
if (narg != 5 && narg != 9)
|
||||||
error->all(FLERR,"Illegal fix propel/self command");
|
error->all(FLERR,"Illegal fix propel/self command");
|
||||||
|
|
||||||
|
|
||||||
magnitude = utils::numeric(FLERR,arg[3],false,lmp);
|
|
||||||
|
|
||||||
if (strcmp(arg[4],"velocity") == 0) {
|
if (strcmp(arg[3],"velocity") == 0) {
|
||||||
mode = VELOCITY;
|
mode = VELOCITY;
|
||||||
thermo_virial = 0;
|
thermo_virial = 0;
|
||||||
if (narg != 5) {
|
} else if (strcmp(arg[3],"dipole") == 0) {
|
||||||
error->all(FLERR,"Illegal fix propel/self command");
|
|
||||||
}
|
|
||||||
} else if (strcmp(arg[4],"dipole") == 0) {
|
|
||||||
mode = DIPOLE;
|
mode = DIPOLE;
|
||||||
thermo_virial = 1;
|
thermo_virial = 1;
|
||||||
if (narg != 5) {
|
} else if (strcmp(arg[3],"quat") == 0) {
|
||||||
error->all(FLERR,"Illegal fix propel/self command");
|
|
||||||
}
|
|
||||||
} else if (strcmp(arg[4],"quat") == 0) {
|
|
||||||
mode = QUAT;
|
mode = QUAT;
|
||||||
thermo_virial = 1;
|
thermo_virial = 1;
|
||||||
if (narg != 8) {
|
|
||||||
error->all(FLERR,"Illegal fix propel/self command");
|
|
||||||
} else {
|
|
||||||
sx = utils::numeric(FLERR,arg[5],false,lmp);
|
|
||||||
sy = utils::numeric(FLERR,arg[6],false,lmp);
|
|
||||||
sz = utils::numeric(FLERR,arg[7],false,lmp);
|
|
||||||
double qnorm = sqrt(sx*sx + sy*sy + sz*sz);
|
|
||||||
sx = sx/qnorm;
|
|
||||||
sy = sy/qnorm;
|
|
||||||
sz = sz/qnorm;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
error->all(FLERR,"Illegal fix propel/self command");
|
error->all(FLERR,"Illegal fix propel/self command");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
magnitude = utils::numeric(FLERR,arg[4],false,lmp);
|
||||||
|
|
||||||
|
// check for keyword
|
||||||
|
|
||||||
|
if (narg == 9) {
|
||||||
|
if (mode != QUAT) {
|
||||||
|
error->all(FLERR,"Illegal fix propel/self command");
|
||||||
|
}
|
||||||
|
if (strcmp(arg[5],"qvector") == 0) {
|
||||||
|
sx = utils::numeric(FLERR,arg[6],false,lmp);
|
||||||
|
sy = utils::numeric(FLERR,arg[7],false,lmp);
|
||||||
|
sz = utils::numeric(FLERR,arg[8],false,lmp);
|
||||||
|
double snorm = sqrt(sx*sx + sy*sy + sz*sz);
|
||||||
|
sx = sx/snorm;
|
||||||
|
sy = sy/snorm;
|
||||||
|
sz = sz/snorm;
|
||||||
|
} else {
|
||||||
|
error->all(FLERR,"Illegal fix propel/self command");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sx = 1.0;
|
||||||
|
sy = 0.0;
|
||||||
|
sz = 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user