Updated examples and docs, and added basic brownian dynamics integrator (no rotational degrees of freedom).
This commit is contained in:
@ -39,6 +39,7 @@ OPT.
|
||||
* :doc:`ave/time <fix_ave_time>`
|
||||
* :doc:`aveforce <fix_aveforce>`
|
||||
* :doc:`balance <fix_balance>`
|
||||
* :doc:`brownian <fix_brownian>`
|
||||
* :doc:`brownian/asphere <fix_brownian_asphere>`
|
||||
* :doc:`brownian/sphere <fix_brownian_sphere>`
|
||||
* :doc:`bocs <fix_bocs>`
|
||||
|
||||
@ -182,8 +182,9 @@ accelerated styles exist.
|
||||
* :doc:`ave/time <fix_ave_time>` - compute/output global time-averaged quantities
|
||||
* :doc:`aveforce <fix_aveforce>` - add an averaged force to each atom
|
||||
* :doc:`balance <fix_balance>` - perform dynamic load-balancing
|
||||
* :doc:`brownian/asphere <fix_brownian_asphere>` - overdamped translational and rotational brownian for ellipsoids
|
||||
* :doc:`brownian/sphere <fix_brownian_sphere>` - overdamped translational and rotational brownian for spheres
|
||||
* :doc:`brownian <fix_brownian>` - overdamped translational brownian motion
|
||||
* :doc:`brownian/asphere <fix_brownian_asphere>` - overdamped translational and rotational brownian motion for ellipsoids
|
||||
* :doc:`brownian/sphere <fix_brownian_sphere>` - overdamped translational and rotational brownian motion for spheres
|
||||
* :doc:`bocs <fix_bocs>` - NPT style time integration with pressure correction
|
||||
* :doc:`bond/break <fix_bond_break>` - break bonds on the fly
|
||||
* :doc:`bond/create <fix_bond_create>` - create bonds on the fly
|
||||
|
||||
151
doc/src/fix_brownian.rst
Normal file
151
doc/src/fix_brownian.rst
Normal file
@ -0,0 +1,151 @@
|
||||
.. index:: fix brownian
|
||||
|
||||
fix brownian command
|
||||
====================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
fix ID group-ID brownian gamma_t diff_t seed keyword args
|
||||
|
||||
* ID, group-ID are documented in :doc:`fix <fix>` command
|
||||
* brownian/sphere = style name of this fix command
|
||||
* gamma_t = translational friction coefficient
|
||||
* diff_t = translational diffusion coefficient
|
||||
* zero or more keyword/value pairs may be appended
|
||||
* keyword = *rng*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*rng* value = *uniform* or *gaussian* or *none*
|
||||
*uniform* = use uniform random number generator
|
||||
*gaussian* = use gaussian random number generator
|
||||
*none* = turn off noise
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix 1 all brownian 1.0 3.0 1294019
|
||||
fix 1 all brownian 1.0 3.0 19581092 rng none
|
||||
fix 1 all brownian 1.0 3.0 19581092 rng uniform
|
||||
fix 1 all brownian 1.0 3.0 19581092 rng gaussian
|
||||
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Perform Brownian Dynamics integration to update position and velocity
|
||||
of atoms in the group each timestep. Brownian Dynamics uses Newton's laws of
|
||||
motion in the limit that inertial forces are negligible compared to
|
||||
viscous forces. The stochastic equation of motion is
|
||||
|
||||
.. math::
|
||||
|
||||
dr = \frac{F}{\gamma_t}dt+\sqrt{2D_t}dW_t, \\
|
||||
|
||||
where :math:`dW_t` is a Wiener processes (see e.g. :ref:`(Gardiner) <GardinerC1>`).
|
||||
|
||||
.. note::
|
||||
This integrator is designed for generic non-equilibrium
|
||||
simulations with additive noise. There are two important cases which
|
||||
(conceptually) reduce the number of free parameters in this fix.
|
||||
(a) In equilibrium simulations
|
||||
(where fluctuation dissipation theorems are obeyed), one can define
|
||||
the thermal energy :math:`k_bT=D_t\gamma_t`.
|
||||
|
||||
---------
|
||||
|
||||
.. note::
|
||||
Temperature computation using the :doc:`compute temp <compute_temp>`
|
||||
will not correctly compute temperature of these overdamped dynamics
|
||||
since we are explicitly neglecting inertial effects.
|
||||
See e.g. chapter 6 of :ref:`(Doi) <Doi1>` for more details on this.
|
||||
Temperature is instead defined in terms of the note above (for
|
||||
equilibrium systems).
|
||||
|
||||
---------
|
||||
|
||||
.. note::
|
||||
The diffusion coefficient :math:`D_t` is measured
|
||||
in units of (length*length)/time, where time and length
|
||||
are in the units specified on the :doc:`units <units>` page.
|
||||
Similarly, :math:`\gamma_t` is measured in
|
||||
units of mass/time.
|
||||
|
||||
---------
|
||||
|
||||
If the *rng* keyword is used with the *uniform* value, then the noise
|
||||
is generated from a uniform distribution (see
|
||||
:ref:`(Dunweg) <Dunweg6>` for why this works). This is the same method
|
||||
of noise generation as used in :doc:`fix_langevin <fix_langevin>`.
|
||||
|
||||
If the *rng* keyword is used with the *gaussian* value, then the noise
|
||||
is generated from a gaussian distribution. Typically this added
|
||||
complexity is unnecessary, and one should be fine using the *uniform*
|
||||
value for reasons argued in :ref:`(Dunweg) <Dunweg6>`.
|
||||
|
||||
If the *rng* keyword is used with the *none* value, then the noise
|
||||
terms are set to zero.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
|
||||
----------
|
||||
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
No information about this fix is written to :doc:`binary restart files <restart>`.
|
||||
No global or per-atom quantities are stored
|
||||
by this fix for access by various :doc:`output commands <Howto_output>`.
|
||||
|
||||
The :doc:`fix_modify <fix_modify>` *virial* option is supported by this
|
||||
fix to add the contribution due to the added forces on atoms to the
|
||||
system's virial as part of :doc:`thermodynamic output <thermo_style>`.
|
||||
The default is *virial no*.
|
||||
|
||||
No parameter of this fix can be used with the *start/stop* keywords of
|
||||
the :doc:`run <run>` command. This fix is not invoked during
|
||||
:doc:`energy minimization <minimize>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This fix is part of the USER-BROWNIAN package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>`
|
||||
doc page for more info.
|
||||
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`fix langevin <fix_langevin>`, :doc:`fix nve/sphere <fix_nve_sphere>`,
|
||||
:doc:`fix brownian/sphere <fix_brownian_sphere>`,
|
||||
:doc:`fix brownian/asphere <fix_brownian_asphere>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The default for *rng* is *uniform*.
|
||||
|
||||
----------
|
||||
|
||||
.. _GardinerC1:
|
||||
|
||||
**(Gardiner)** Gardiner, A Handbook for the Natural and Social Sciences 4th Ed. (2009).
|
||||
|
||||
.. _Doi1:
|
||||
|
||||
**(Doi)** Doi, Soft Matter Physics (2013).
|
||||
|
||||
.. _Dunweg6:
|
||||
|
||||
**(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).
|
||||
|
||||
|
||||
@ -54,8 +54,8 @@ viscous forces. The stochastic equations of motion are
|
||||
d\Omega = \frac{T}{\gamma_r}dt + \sqrt{2D_r}dW_r,
|
||||
|
||||
where :math:`d\Omega` is an infinitesimal rotation vector (see e.g.
|
||||
Chapter 4 of :ref:`(Goldstein) <GoldsteinCM1>`), :math:`dW_t` and
|
||||
:math:`dW_r` are Wiener processes (see e.g. :ref:`(Gardiner) <GardinerC1>`).
|
||||
Chapter 4 of :ref:`(Goldstein) <GoldsteinCM2>`), :math:`dW_t` and
|
||||
:math:`dW_r` are Wiener processes (see e.g. :ref:`(Gardiner) <GardinerC3>`).
|
||||
The quaternions :math:`q` of the ellipsoid are updated each timestep from
|
||||
the angular velocity vector.
|
||||
|
||||
@ -66,13 +66,13 @@ values of :math:`\gamma_t`, :math:`\gamma_r`, :math:`D_t`,
|
||||
|
||||
If the *rng* keyword is used with the *uniform* value, then the noise
|
||||
is generated from a uniform distribution (see
|
||||
:ref:`(Dunweg) <Dunweg7>` for why this works). This is the same method
|
||||
:ref:`(Dunweg) <Dunweg8>` for why this works). This is the same method
|
||||
of noise generation as used in :doc:`fix_langevin <fix_langevin>`.
|
||||
|
||||
If the *rng* keyword is used with the *gaussian* value, then the noise
|
||||
is generated from a gaussian distribution. Typically this added
|
||||
complexity is unnecessary, and one should be fine using the *uniform*
|
||||
value for reasons argued in :ref:`(Dunweg) <Dunweg7>`.
|
||||
value for reasons argued in :ref:`(Dunweg) <Dunweg8>`.
|
||||
|
||||
If the *rng* keyword is used with the *none* value, then the noise
|
||||
terms are set to zero.
|
||||
@ -114,7 +114,7 @@ as atoms which have a definite orientation as defined by the
|
||||
Optionally, they can also store a dipole moment as defined by the
|
||||
:doc:`atom_style dipole <atom_style>` command.
|
||||
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
This fix is part of the USER-BROWNIAN package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>`
|
||||
doc page for more info.
|
||||
|
||||
@ -124,8 +124,9 @@ be point particles.
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`fix brownian/sphere <fix_brownian_sphere>`, :doc:`fix langevin <fix_langevin>`,
|
||||
:doc:`fix nve/asphere <fix_nve_asphere>`, :doc:`atom style <atom_style>`
|
||||
:doc:`fix brownian <fix_brownian>`, :doc:`fix brownian/sphere <fix_brownian_sphere>`,
|
||||
:doc:`fix propel/self <fix_propel_self>`, :doc:`fix langevin <fix_langevin>`,
|
||||
:doc:`fix nve/asphere <fix_nve_asphere>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
@ -134,15 +135,15 @@ The default for *rng* is *uniform*.
|
||||
|
||||
----------
|
||||
|
||||
.. _GoldsteinCM1:
|
||||
.. _GoldsteinCM2:
|
||||
|
||||
**(Goldstein)** Goldstein, Poole, and Safko, Classical Mechanics, 3rd Ed. (2001).
|
||||
|
||||
.. _GardinerC1:
|
||||
.. _GardinerC3:
|
||||
|
||||
**(Gardiner)** Gardiner, A Handbook for the Natural and Social Sciences 4th Ed. (2009).
|
||||
|
||||
.. _Dunweg7:
|
||||
.. _Dunweg8:
|
||||
|
||||
**(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).
|
||||
|
||||
|
||||
@ -53,8 +53,8 @@ viscous forces. The stochastic equations of motion are
|
||||
d\Omega = \frac{T}{\gamma_r}dt + \sqrt{2D_r}dW_r,
|
||||
|
||||
where :math:`d\Omega` is an infinitesimal rotation vector (see e.g.
|
||||
Chapter 4 of :ref:`(Goldstein) <GoldsteinCM>`), :math:`dW_t` and
|
||||
:math:`dW_r` are Wiener processes (see e.g. :ref:`(Gardiner) <GardinerC>`).
|
||||
Chapter 4 of :ref:`(Goldstein) <GoldsteinCM1>`), :math:`dW_t` and
|
||||
:math:`dW_r` are Wiener processes (see e.g. :ref:`(Gardiner) <GardinerC2>`).
|
||||
The dipole vectors :math:`e_i` are updated using the rotation matrix
|
||||
|
||||
.. math::
|
||||
@ -85,35 +85,31 @@ section 7.4).
|
||||
|
||||
---------
|
||||
|
||||
.. note::
|
||||
Temperature computation using the :doc:`compute temp <compute_temp>`
|
||||
will not correctly compute temperature of these overdamped dynamics
|
||||
since we are explicitly neglecting inertial effects.
|
||||
See e.g. chapter 6 of :ref:`(Doi) <Doi1>` for more details on this.
|
||||
Temperature is instead defined in terms of the note above (for
|
||||
equilibrium systems).
|
||||
See note on the unphysical result of using :doc:`compute temp <compute_temp>`
|
||||
with this fix in :doc:`fix brownian <fix_brownian>`.
|
||||
|
||||
---------
|
||||
|
||||
.. note::
|
||||
The diffusion coefficient :math:`D_t` is measured
|
||||
in units of (length*length)/time and the diffusion coefficient
|
||||
:math:`D_r` is measured in units of 1/time, where time and length
|
||||
are in the units specified on the :doc:`units <units>` page. Similarly,
|
||||
:math:`\gamma_t` and :math:`\gamma_r` are measured in
|
||||
The diffusion coefficient :math:`D_t` and the translational
|
||||
drag coefficient :math:`\gamma_t` are discussed in
|
||||
:doc:`fix brownian <fix_brownian>`. The diffusion coefficient
|
||||
:math:`D_r` is measured in units of 1/time, where time is in the
|
||||
units specified on the :doc:`units <units>` page. Similarly,
|
||||
and :math:`\gamma_r` is measured in
|
||||
units of mass/time and (mass*length*length)/(time).
|
||||
|
||||
---------
|
||||
|
||||
If the *rng* keyword is used with the *uniform* value, then the noise
|
||||
is generated from a uniform distribution (see
|
||||
:ref:`(Dunweg) <Dunweg6>` for why this works). This is the same method
|
||||
:ref:`(Dunweg) <Dunweg7>` for why this works). This is the same method
|
||||
of noise generation as used in :doc:`fix_langevin <fix_langevin>`.
|
||||
|
||||
If the *rng* keyword is used with the *gaussian* value, then the noise
|
||||
is generated from a gaussian distribution. Typically this added
|
||||
complexity is unnecessary, and one should be fine using the *uniform*
|
||||
value for reasons argued in :ref:`(Dunweg) <Dunweg6>`.
|
||||
value for reasons argued in :ref:`(Dunweg) <Dunweg7>`.
|
||||
|
||||
If the *rng* keyword is used with the *none* value, then the noise
|
||||
terms are set to zero.
|
||||
@ -151,7 +147,7 @@ as defined by the :doc:`atom_style sphere <atom_style>` command.
|
||||
If the *dipole* keyword is used, they must also store a dipole moment
|
||||
as defined by the :doc:`atom_style dipole <atom_style>` command.
|
||||
|
||||
This fix is part of the USER-MISC package. It is only enabled if
|
||||
This fix is part of the USER-BROWNIAN package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>`
|
||||
doc page for more info.
|
||||
|
||||
@ -159,8 +155,9 @@ doc page for more info.
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`fix brownian <fix_brownian>`, :doc:`fix brownian/asphere <fix_brownian_asphere>`,
|
||||
:doc:`fix propel/self <fix_propel_self>`,
|
||||
:doc:`fix langevin <fix_langevin>`, :doc:`fix nve/sphere <fix_nve_sphere>`,
|
||||
:doc:`atom style <atom_style>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
@ -169,11 +166,11 @@ The default for *rng* is *uniform*.
|
||||
|
||||
----------
|
||||
|
||||
.. _GoldsteinCM:
|
||||
.. _GoldsteinCM1:
|
||||
|
||||
**(Goldstein)** Goldstein, Poole, and Safko, Classical Mechanics, 3rd Ed. (2001).
|
||||
|
||||
.. _GardinerC:
|
||||
.. _GardinerC2:
|
||||
|
||||
**(Gardiner)** Gardiner, A Handbook for the Natural and Social Sciences 4th Ed. (2009).
|
||||
|
||||
@ -182,11 +179,7 @@ The default for *rng* is *uniform*.
|
||||
**(Callegari)** Callegari and Volpe, *Numerical Simulations of Active Brownian
|
||||
Particles*, Flowing Matter, 211-238 (2019).
|
||||
|
||||
.. _Doi1:
|
||||
|
||||
**(Doi)** Doi, Soft Matter Physics (2013).
|
||||
|
||||
.. _Dunweg6:
|
||||
.. _Dunweg7:
|
||||
|
||||
**(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).
|
||||
|
||||
|
||||
@ -21,10 +21,9 @@ Syntax
|
||||
*dipole* value = none = apply force along dipole direction
|
||||
*velocity* value = none = apply force along velocity direction
|
||||
*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
|
||||
|
||||
*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
|
||||
|
||||
64
examples/USER/brownian/2d_velocity/in.2d_velocity
Normal file
64
examples/USER/brownian/2d_velocity/in.2d_velocity
Normal file
@ -0,0 +1,64 @@
|
||||
# 2d overdamped brownian dynamics with self-propulsion
|
||||
# force in direction of velocity.
|
||||
|
||||
variable gamma_t equal 1.0
|
||||
variable D_t equal 1.0
|
||||
variable seed equal 1974019
|
||||
variable fp equal 4.0
|
||||
|
||||
variable params string ${gamma_t}_${D_t}_${fp}
|
||||
|
||||
|
||||
log log_${params}_2d.lammps.log
|
||||
units lj
|
||||
dimension 2
|
||||
newton off
|
||||
|
||||
|
||||
lattice sq 0.4
|
||||
region box block -16 16 -16 16 -0.2 0.2
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
mass * 1.0
|
||||
velocity all create 1.0 1 loop geom
|
||||
|
||||
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 1 check yes
|
||||
|
||||
|
||||
|
||||
pair_style none
|
||||
|
||||
fix step all brownian ${gamma_t} ${D_t} ${seed}
|
||||
fix vel all propel/self ${fp} velocity
|
||||
fix 2 all enforce2d
|
||||
fix_modify vel virial yes
|
||||
|
||||
compute press all pressure NULL virial
|
||||
|
||||
thermo_style custom step temp epair c_press
|
||||
|
||||
#equilibration
|
||||
timestep 0.0000000001
|
||||
thermo 50001
|
||||
run 50000
|
||||
reset_timestep 0
|
||||
|
||||
|
||||
#initialisation for the main run
|
||||
|
||||
# MSD
|
||||
compute msd all msd
|
||||
|
||||
|
||||
thermo_style custom step temp epair c_msd[*] c_press
|
||||
|
||||
|
||||
timestep 0.00001
|
||||
thermo 1000
|
||||
|
||||
# main run
|
||||
run 120000
|
||||
|
||||
|
||||
248
examples/USER/brownian/2d_velocity/log_1_1_4_2d.lammps.log
Normal file
248
examples/USER/brownian/2d_velocity/log_1_1_4_2d.lammps.log
Normal file
@ -0,0 +1,248 @@
|
||||
units lj
|
||||
dimension 2
|
||||
newton off
|
||||
|
||||
|
||||
lattice sq 0.4
|
||||
Lattice spacing in x,y,z = 1.5811388 1.5811388 1.5811388
|
||||
region box block -16 16 -16 16 -0.2 0.2
|
||||
create_box 1 box
|
||||
Created orthogonal box = (-25.298221 -25.298221 -0.31622777) to (25.298221 25.298221 0.31622777)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 1024 atoms
|
||||
create_atoms CPU = 0.001 seconds
|
||||
mass * 1.0
|
||||
velocity all create 1.0 1 loop geom
|
||||
|
||||
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 1 check yes
|
||||
|
||||
|
||||
|
||||
pair_style none
|
||||
|
||||
|
||||
|
||||
#compute d all property/atom mux muy muz
|
||||
|
||||
fix step all brownian ${gamma_t} ${D_t} ${seed}
|
||||
fix step all brownian 1 ${D_t} ${seed}
|
||||
fix step all brownian 1 1 ${seed}
|
||||
fix step all brownian 1 1 1974019
|
||||
fix vel all propel/self ${fp} velocity
|
||||
fix vel all propel/self 4 velocity
|
||||
fix 2 all enforce2d
|
||||
fix_modify vel virial yes
|
||||
|
||||
compute press all pressure NULL virial
|
||||
|
||||
thermo_style custom step temp epair c_press
|
||||
|
||||
#equilibration
|
||||
timestep 0.0000000001
|
||||
thermo 50001
|
||||
run 50000
|
||||
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)
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.289 | 2.289 | 2.289 Mbytes
|
||||
Step Temp E_pair c_press
|
||||
0 1 0 -0.18336111
|
||||
50000 1.9663098e+10 0 -0.75033044
|
||||
Loop time of 2.45902 on 1 procs for 50000 steps with 1024 atoms
|
||||
|
||||
Performance: 0.176 tau/day, 20333.276 timesteps/s
|
||||
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.0078395 | 0.0078395 | 0.0078395 | 0.0 | 0.32
|
||||
Output | 2.2947e-05 | 2.2947e-05 | 2.2947e-05 | 0.0 | 0.00
|
||||
Modify | 2.332 | 2.332 | 2.332 | 0.0 | 94.83
|
||||
Other | | 0.1192 | | | 4.85
|
||||
|
||||
Nlocal: 1024.00 ave 1024 max 1024 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 65.0000 ave 65 max 65 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0.0000000
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
reset_timestep 0
|
||||
|
||||
|
||||
#initialisation for the main run
|
||||
|
||||
# MSD
|
||||
compute msd all msd
|
||||
|
||||
|
||||
thermo_style custom step temp epair c_msd[*] c_press
|
||||
|
||||
|
||||
timestep 0.00001
|
||||
thermo 1000
|
||||
|
||||
# main run
|
||||
run 120000
|
||||
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) = 2.664 | 2.664 | 2.664 Mbytes
|
||||
Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press
|
||||
0 1.9663098e+10 0 0 0 0 0 -0.75033044
|
||||
1000 199346.07 0 0.01933096 0.020555579 0 0.039886539 -0.45701943
|
||||
2000 198310 0 0.040165459 0.041283119 0 0.081448577 0.34264096
|
||||
3000 204115.93 0 0.057654441 0.060411193 0 0.11806563 -0.41710363
|
||||
4000 196903.18 0 0.075874071 0.08470884 0 0.16058291 -0.18627889
|
||||
5000 201382.13 0 0.097484871 0.1049401 0 0.20242497 -0.12876225
|
||||
6000 195317.96 0 0.11872475 0.12469358 0 0.24341834 -0.3084651
|
||||
7000 192139.34 0 0.14148561 0.14363452 0 0.28512013 0.0032867364
|
||||
8000 201737.84 0 0.16055109 0.16405717 0 0.32460826 0.36435453
|
||||
9000 199390.58 0 0.17897382 0.18795928 0 0.3669331 0.025659298
|
||||
10000 207807.41 0 0.19680417 0.20733821 0 0.40414239 -0.35368379
|
||||
11000 201936.29 0 0.21666426 0.22702132 0 0.44368558 0.044253449
|
||||
12000 196863.68 0 0.2394452 0.24672678 0 0.48617198 0.059027892
|
||||
13000 199368.34 0 0.26647368 0.2700584 0 0.53653208 0.27090461
|
||||
14000 201246.39 0 0.28799289 0.29823282 0 0.58622571 0.59883778
|
||||
15000 195355.47 0 0.29975278 0.32348787 0 0.62324065 -0.70763643
|
||||
16000 198372.41 0 0.32191014 0.34434864 0 0.66625878 -0.36543908
|
||||
17000 193442.08 0 0.33927003 0.36811239 0 0.70738242 0.28541473
|
||||
18000 197441 0 0.36067818 0.38982011 0 0.75049829 -0.45670227
|
||||
19000 208769.5 0 0.37965583 0.41015661 0 0.78981244 -0.47803396
|
||||
20000 198311.2 0 0.3968078 0.42701175 0 0.82381955 -0.18642397
|
||||
21000 201365.22 0 0.4151043 0.44909345 0 0.86419775 0.86839756
|
||||
22000 198253.24 0 0.4396583 0.46388261 0 0.90354091 -0.19592545
|
||||
23000 204598.51 0 0.45382292 0.49253671 0 0.94635963 -0.24169987
|
||||
24000 211421.88 0 0.46086338 0.51831304 0 0.97917642 0.49751915
|
||||
25000 198690.71 0 0.47110913 0.53640271 0 1.0075118 -0.24475563
|
||||
26000 203981.49 0 0.49265476 0.55310571 0 1.0457605 0.20237224
|
||||
27000 201128.99 0 0.52865208 0.57516064 0 1.1038127 -0.40826104
|
||||
28000 198529.77 0 0.54479087 0.59876678 0 1.1435576 0.41576857
|
||||
29000 205024.27 0 0.56195744 0.61217109 0 1.1741285 -0.79146635
|
||||
30000 201565.62 0 0.58276132 0.63743585 0 1.2201972 -0.065832917
|
||||
31000 197893.43 0 0.61132665 0.66126375 0 1.2725904 0.47907079
|
||||
32000 201395.11 0 0.61904956 0.67520462 0 1.2942542 -0.7408472
|
||||
33000 202064.22 0 0.64760511 0.69087605 0 1.3384812 -0.14601514
|
||||
34000 191227.75 0 0.65698736 0.73857849 0 1.3955659 0.2177548
|
||||
35000 199474.65 0 0.66491543 0.76604575 0 1.4309612 -0.64627039
|
||||
36000 195252.77 0 0.67565581 0.79911139 0 1.4747672 0.0293298
|
||||
37000 198167.14 0 0.68899202 0.81268008 0 1.5016721 -0.0055245918
|
||||
38000 202995.35 0 0.70224976 0.82436547 0 1.5266152 -0.2826768
|
||||
39000 197129.03 0 0.71270072 0.8579444 0 1.5706451 0.063623666
|
||||
40000 199153.69 0 0.73777312 0.88820969 0 1.6259828 -0.26740551
|
||||
41000 205347.31 0 0.75613153 0.9006214 0 1.6567529 0.82415354
|
||||
42000 199423.73 0 0.76864739 0.92457092 0 1.6932183 -0.16636304
|
||||
43000 198052 0 0.79841199 0.93832523 0 1.7367372 -0.016241224
|
||||
44000 205205.39 0 0.81727188 0.96823569 0 1.7855076 -0.10405924
|
||||
45000 199116.46 0 0.83208052 0.99352694 0 1.8256075 0.040835286
|
||||
46000 198759.48 0 0.84291542 1.0038949 0 1.8468104 0.46109436
|
||||
47000 189676.9 0 0.86430719 1.0131299 0 1.8774371 -0.67947102
|
||||
48000 199801.4 0 0.90662572 1.0286589 0 1.9352846 -0.5293946
|
||||
49000 199730.89 0 0.93530132 1.0568273 0 1.9921286 -0.27562311
|
||||
50000 203272.56 0 0.96366375 1.0790026 0 2.0426664 -0.10629234
|
||||
51000 196992.09 0 0.97818106 1.1030549 0 2.0812359 0.31719382
|
||||
52000 204063.62 0 1.0068773 1.1239506 0 2.130828 -7.1998264e-05
|
||||
53000 204349.41 0 1.0277098 1.1546477 0 2.1823575 0.16897786
|
||||
54000 203207.3 0 1.0415673 1.1881409 0 2.2297082 -0.25033492
|
||||
55000 194841.07 0 1.0600954 1.2179033 0 2.2779987 0.0062433629
|
||||
56000 198601.58 0 1.071562 1.2363958 0 2.3079578 -0.13124124
|
||||
57000 196654.6 0 1.0997086 1.2486573 0 2.3483659 -0.46425912
|
||||
58000 197781.48 0 1.112526 1.2706195 0 2.3831455 0.26007922
|
||||
59000 199853.9 0 1.1295132 1.2978402 0 2.4273533 -0.030877018
|
||||
60000 201698.14 0 1.1690892 1.3228782 0 2.4919675 -0.23190043
|
||||
61000 199260.52 0 1.1870513 1.3431945 0 2.5302458 -0.040373885
|
||||
62000 196909.15 0 1.2007194 1.3683525 0 2.5690719 0.21318495
|
||||
63000 203927.79 0 1.2442809 1.3964232 0 2.6407041 0.10156282
|
||||
64000 205322.27 0 1.2721207 1.4159422 0 2.6880629 0.33393307
|
||||
65000 199142.6 0 1.2989685 1.4330729 0 2.7320414 -0.65644005
|
||||
66000 205023.06 0 1.2948208 1.4255094 0 2.7203302 0.22290721
|
||||
67000 209750.01 0 1.3127511 1.4369628 0 2.7497139 -0.40241279
|
||||
68000 200205.19 0 1.3355277 1.4541568 0 2.7896846 0.6665415
|
||||
69000 198653.01 0 1.3500764 1.4962697 0 2.8463461 -0.28396983
|
||||
70000 207485.71 0 1.3825583 1.5095552 0 2.8921135 0.34774599
|
||||
71000 203918.68 0 1.4090995 1.5246756 0 2.9337751 0.071958672
|
||||
72000 199038.47 0 1.4246969 1.5612784 0 2.9859753 -0.42129173
|
||||
73000 197380.7 0 1.445835 1.6025372 0 3.0483722 -0.099854135
|
||||
74000 205006.49 0 1.4703253 1.606784 0 3.0771093 0.137244
|
||||
75000 196040.42 0 1.4897388 1.6297195 0 3.1194583 -0.46715263
|
||||
76000 200022.09 0 1.5178017 1.6560075 0 3.1738092 -0.21504553
|
||||
77000 200766.4 0 1.5184584 1.6673791 0 3.1858374 0.54447858
|
||||
78000 199636.76 0 1.5344452 1.6845098 0 3.2189549 0.021903761
|
||||
79000 204188.86 0 1.5567356 1.7205197 0 3.2772553 0.15356898
|
||||
80000 199862.31 0 1.5669731 1.7265239 0 3.2934969 -0.26342032
|
||||
81000 198557.57 0 1.5735674 1.7468943 0 3.3204617 0.22068216
|
||||
82000 203675.4 0 1.5898596 1.7646027 0 3.3544624 0.51221445
|
||||
83000 203412.56 0 1.6066548 1.7813624 0 3.3880172 0.33512263
|
||||
84000 200896.36 0 1.6112635 1.812552 0 3.4238154 1.1657793
|
||||
85000 198987.17 0 1.652135 1.8336748 0 3.4858098 -0.20419704
|
||||
86000 203027.04 0 1.6728041 1.864244 0 3.5370481 0.61746313
|
||||
87000 203913.8 0 1.6783324 1.8762967 0 3.554629 0.28428076
|
||||
88000 205061.23 0 1.6781682 1.879458 0 3.5576262 0.089285353
|
||||
89000 198210.89 0 1.7017682 1.9029345 0 3.6047027 -0.23977904
|
||||
90000 196170.91 0 1.7291253 1.9258436 0 3.6549689 0.15806438
|
||||
91000 202846.79 0 1.7592339 1.9431644 0 3.7023983 0.17723099
|
||||
92000 198976.91 0 1.762318 1.9742003 0 3.7365183 0.25668658
|
||||
93000 194578.12 0 1.7880716 2.0009816 0 3.7890532 0.20231476
|
||||
94000 200319.82 0 1.7854494 2.020855 0 3.8063044 0.14729427
|
||||
95000 202430.33 0 1.7925005 2.0480213 0 3.8405218 -0.28291245
|
||||
96000 200145.58 0 1.8113602 2.0621043 0 3.8734644 0.05547277
|
||||
97000 194617.53 0 1.8286924 2.0729365 0 3.9016289 -0.59829377
|
||||
98000 200829.37 0 1.8485835 2.077731 0 3.9263145 0.78242718
|
||||
99000 198197.55 0 1.8537119 2.0873455 0 3.9410573 -0.52970118
|
||||
100000 204149.63 0 1.8897394 2.0942927 0 3.9840321 0.58118967
|
||||
101000 198654.59 0 1.9126448 2.1380708 0 4.0507156 -0.61766977
|
||||
102000 201198.05 0 1.9433521 2.143049 0 4.0864011 0.15570108
|
||||
103000 200383.43 0 1.9669578 2.1361518 0 4.1031095 -0.10556532
|
||||
104000 204363.26 0 1.9827272 2.1564095 0 4.1391367 -0.060748593
|
||||
105000 198267.87 0 1.9904164 2.1804141 0 4.1708305 0.40995747
|
||||
106000 202082.12 0 1.993709 2.1925288 0 4.1862378 -0.52458386
|
||||
107000 200209.49 0 2.015427 2.219161 0 4.234588 -0.67350679
|
||||
108000 203112.58 0 2.0467303 2.2405372 0 4.2872675 0.25033168
|
||||
109000 203844.13 0 2.056314 2.2623929 0 4.3187068 0.3384149
|
||||
110000 201740.33 0 2.0706519 2.285547 0 4.3561989 0.35582365
|
||||
111000 202493.05 0 2.0725826 2.308685 0 4.3812676 -0.26487212
|
||||
112000 205404.09 0 2.0969613 2.3252767 0 4.422238 0.58346057
|
||||
113000 201223.54 0 2.0876103 2.3316941 0 4.4193044 0.37747414
|
||||
114000 208649.11 0 2.1095116 2.3488008 0 4.4583124 0.068129648
|
||||
115000 202708.5 0 2.1233837 2.3701129 0 4.4934966 -0.23734073
|
||||
116000 202482.42 0 2.1221907 2.4262516 0 4.5484424 -0.087142119
|
||||
117000 200384.65 0 2.1487723 2.4619437 0 4.6107161 -0.13673271
|
||||
118000 196885.36 0 2.158057 2.4818335 0 4.6398905 0.31912412
|
||||
119000 194064.42 0 2.1821315 2.5032336 0 4.6853651 0.17615749
|
||||
120000 195203.09 0 2.1939678 2.539838 0 4.7338058 0.5106086
|
||||
Loop time of 6.05038 on 1 procs for 120000 steps with 1024 atoms
|
||||
|
||||
Performance: 17136.102 tau/day, 19833.451 timesteps/s
|
||||
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0.00031301 | 0.00031301 | 0.00031301 | 0.0 | 0.01
|
||||
Comm | 0.0072472 | 0.0072472 | 0.0072472 | 0.0 | 0.12
|
||||
Output | 0.0036492 | 0.0036492 | 0.0036492 | 0.0 | 0.06
|
||||
Modify | 5.7173 | 5.7173 | 5.7173 | 0.0 | 94.50
|
||||
Other | | 0.3218 | | | 5.32
|
||||
|
||||
Nlocal: 1024.00 ave 1024 max 1024 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0.0000000
|
||||
Neighbor list builds = 154
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Total wall time: 0:00:08
|
||||
@ -1,2 +1,2 @@
|
||||
The input file in2d.bd demonstrates how to run a 2d simulation
|
||||
The input file in3d.brownian demonstrates how to run a 3d simulation
|
||||
of ellipsoidal particles undergoing overdamped brownian motion.
|
||||
|
||||
@ -1,10 +1,14 @@
|
||||
# 3d overdamped brownian dynamics
|
||||
# 3d overdamped brownian dynamics for ellipsoids
|
||||
# with dipole moment also being updated
|
||||
|
||||
# choose variables to obey thermal equilibrium
|
||||
# (fluctuation dissipation theorem) and no-slip
|
||||
# boundary condition
|
||||
variable rng string gaussian
|
||||
variable gamma_t equal 4.0
|
||||
variable gamma_r equal 1.0
|
||||
variable D_t equal 7.0
|
||||
variable D_r equal 13.0
|
||||
variable gamma_t equal 1.0
|
||||
variable gamma_r equal 0.33
|
||||
variable D_t equal 1.0
|
||||
variable D_r equal 3.0
|
||||
variable seed equal 1974019
|
||||
|
||||
variable params string ${rng}_${gamma_t}_${gamma_r}_${D_t}_${D_r}
|
||||
@ -27,16 +31,11 @@ set type * shape 1 1 1
|
||||
set type * quat/random ${seed}
|
||||
velocity all create 1.0 1 loop geom
|
||||
|
||||
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 1 check yes
|
||||
|
||||
|
||||
|
||||
pair_style none
|
||||
|
||||
|
||||
fix 1 all brownian/asphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole
|
||||
fix 1 all brownian/asphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} &
|
||||
${seed} rng ${rng} dipole
|
||||
|
||||
|
||||
compute press all pressure NULL virial
|
||||
@ -50,8 +49,6 @@ run 50000
|
||||
reset_timestep 0
|
||||
|
||||
|
||||
#initialisation for the main run
|
||||
|
||||
# MSD
|
||||
compute msd all msd
|
||||
|
||||
@ -59,11 +56,6 @@ compute msd all msd
|
||||
thermo_style custom step temp epair c_msd[*] c_press
|
||||
|
||||
|
||||
# write trajectory and thermo in a log-scale frequency
|
||||
#dump 1 all custom 1000 dump_${params}_3d.lammpstrj id type &
|
||||
# x y xu yu mux muy muz fx fy fz
|
||||
#dump_modify 1 first yes sort id
|
||||
|
||||
timestep 0.00001
|
||||
thermo 10000
|
||||
|
||||
|
||||
@ -0,0 +1,141 @@
|
||||
units lj
|
||||
atom_style hybrid dipole sphere ellipsoid
|
||||
WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (src/atom_vec_hybrid.cpp:157)
|
||||
WARNING: Peratom rmass is in multiple sub-styles - must be used consistently (src/atom_vec_hybrid.cpp:219)
|
||||
dimension 3
|
||||
newton off
|
||||
|
||||
|
||||
lattice sc 0.4
|
||||
Lattice spacing in x,y,z = 1.3572088 1.3572088 1.3572088
|
||||
region box block -4 4 -4 4 -4 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (-5.4288352 -5.4288352 -5.4288352) to (5.4288352 5.4288352 5.4288352)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 512 atoms
|
||||
create_atoms CPU = 0.002 seconds
|
||||
mass * 1.0
|
||||
set type * dipole/random ${seed} 1.0
|
||||
set type * dipole/random 1974019 1.0
|
||||
Setting atom values ...
|
||||
512 settings made for dipole/random
|
||||
set type * shape 1 1 1
|
||||
Setting atom values ...
|
||||
512 settings made for shape
|
||||
set type * quat/random ${seed}
|
||||
set type * quat/random 1974019
|
||||
Setting atom values ...
|
||||
512 settings made for quat/random
|
||||
velocity all create 1.0 1 loop geom
|
||||
|
||||
pair_style none
|
||||
|
||||
|
||||
fix 1 all brownian/asphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole
|
||||
fix 1 all brownian/asphere 1 ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole
|
||||
fix 1 all brownian/asphere 1 0.33 ${D_t} ${D_r} ${seed} rng ${rng} dipole
|
||||
fix 1 all brownian/asphere 1 0.33 1 ${D_r} ${seed} rng ${rng} dipole
|
||||
fix 1 all brownian/asphere 1 0.33 1 3 ${seed} rng ${rng} dipole
|
||||
fix 1 all brownian/asphere 1 0.33 1 3 1974019 rng ${rng} dipole
|
||||
fix 1 all brownian/asphere 1 0.33 1 3 1974019 rng gaussian dipole
|
||||
|
||||
|
||||
compute press all pressure NULL virial
|
||||
|
||||
thermo_style custom step temp epair c_press
|
||||
|
||||
#equilibration
|
||||
timestep 0.0000000001
|
||||
thermo 50000
|
||||
run 50000
|
||||
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)
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.379 | 5.379 | 5.379 Mbytes
|
||||
Step Temp E_pair c_press
|
||||
0 1 0 0
|
||||
50000 1.9891104e+10 0 0
|
||||
Loop time of 5.53749 on 1 procs for 50000 steps with 512 atoms
|
||||
|
||||
Performance: 0.078 tau/day, 9029.362 timesteps/s
|
||||
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.11711 | 0.11711 | 0.11711 | 0.0 | 2.11
|
||||
Output | 2.034e-05 | 2.034e-05 | 2.034e-05 | 0.0 | 0.00
|
||||
Modify | 5.3401 | 5.3401 | 5.3401 | 0.0 | 96.44
|
||||
Other | | 0.08027 | | | 1.45
|
||||
|
||||
Nlocal: 512.000 ave 512 max 512 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 217.000 ave 217 max 217 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0.0000000
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
reset_timestep 0
|
||||
|
||||
|
||||
# MSD
|
||||
compute msd all msd
|
||||
|
||||
|
||||
thermo_style custom step temp epair c_msd[*] c_press
|
||||
|
||||
|
||||
timestep 0.00001
|
||||
thermo 10000
|
||||
|
||||
# main run
|
||||
run 120000
|
||||
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) = 5.754 | 5.754 | 5.754 Mbytes
|
||||
Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press
|
||||
0 1.9891104e+10 0 0 0 0 0 0
|
||||
10000 201972.17 0 0.19918647 0.20079752 0.20495007 0.60493407 0
|
||||
20000 197255.49 0 0.40800225 0.37910274 0.38545643 1.1725614 0
|
||||
30000 195533.67 0 0.60991554 0.5898132 0.56621596 1.7659447 0
|
||||
40000 192777.99 0 0.7761198 0.86101776 0.76531344 2.402451 0
|
||||
50000 195241.43 0 1.0053256 1.0477568 0.96681401 3.0198964 0
|
||||
60000 201887.49 0 1.2298892 1.1979933 1.1950141 3.6228965 0
|
||||
70000 200187.14 0 1.4407329 1.356743 1.3992739 4.1967498 0
|
||||
80000 202737.24 0 1.6305637 1.5663775 1.5724692 4.7694104 0
|
||||
90000 185530.51 0 1.7937597 1.7795995 1.7222809 5.2956401 0
|
||||
100000 204405.47 0 2.0149709 1.9738573 1.9423625 5.9311907 0
|
||||
110000 194892.4 0 2.1974948 2.1560014 2.1453303 6.4988264 0
|
||||
120000 198462.51 0 2.3761388 2.334739 2.287964 6.9988418 0
|
||||
Loop time of 13.0463 on 1 procs for 120000 steps with 512 atoms
|
||||
|
||||
Performance: 7947.110 tau/day, 9198.044 timesteps/s
|
||||
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0.0011789 | 0.0011789 | 0.0011789 | 0.0 | 0.01
|
||||
Comm | 0.030109 | 0.030109 | 0.030109 | 0.0 | 0.23
|
||||
Output | 0.00030614 | 0.00030614 | 0.00030614 | 0.0 | 0.00
|
||||
Modify | 12.834 | 12.834 | 12.834 | 0.0 | 98.38
|
||||
Other | | 0.1803 | | | 1.38
|
||||
|
||||
Nlocal: 512.000 ave 512 max 512 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0.0000000
|
||||
Neighbor list builds = 1748
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:18
|
||||
@ -1,4 +1,5 @@
|
||||
# 2d overdamped brownian dynamics
|
||||
# 2d overdamped brownian dynamics of a sphere
|
||||
# with dipole also being updated
|
||||
|
||||
variable rng string gaussian
|
||||
variable gamma_t equal 4.0
|
||||
@ -26,19 +27,10 @@ mass * 1.0
|
||||
set type * dipole/random ${seed} 1.0
|
||||
velocity all create 1.0 1 loop geom
|
||||
|
||||
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 1 check yes
|
||||
|
||||
|
||||
|
||||
pair_style none
|
||||
|
||||
|
||||
|
||||
#compute d all property/atom mux muy muz
|
||||
|
||||
fix 1 all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng} dipole
|
||||
fix 1 all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} &
|
||||
${D_r} ${seed} rng ${rng} dipole
|
||||
fix 2 all enforce2d
|
||||
|
||||
compute press all pressure NULL virial
|
||||
@ -51,9 +43,6 @@ thermo 50001
|
||||
run 50000
|
||||
reset_timestep 0
|
||||
|
||||
|
||||
#initialisation for the main run
|
||||
|
||||
# MSD
|
||||
compute msd all msd
|
||||
|
||||
@ -61,12 +50,6 @@ compute msd all msd
|
||||
thermo_style custom step temp epair c_msd[*] c_press
|
||||
|
||||
|
||||
# write trajectory and thermo in a log-scale frequency
|
||||
# uncomment next three lines for dump output
|
||||
#dump 1 all custom 2000 dump_${params}_2d.lammpstrj id type &
|
||||
# x y xu yu mux muy muz fx fy fz
|
||||
#dump_modify 1 first yes sort id
|
||||
|
||||
timestep 0.00001
|
||||
thermo 1000
|
||||
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
# 3d overdamped brownian dynamics
|
||||
# 3d overdamped brownian dynamics of sphere, with
|
||||
# virial contribution (i.e. ideal gas pressure)
|
||||
# included
|
||||
|
||||
|
||||
variable rng string uniform
|
||||
@ -16,7 +18,6 @@ log log_${params}_3d.lammps.log
|
||||
units lj
|
||||
atom_style sphere
|
||||
dimension 3
|
||||
newton off
|
||||
|
||||
|
||||
lattice sc 0.4
|
||||
@ -26,14 +27,11 @@ create_atoms 1 box
|
||||
#mass * 1.0
|
||||
velocity all create 1.0 1 loop geom
|
||||
|
||||
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 1 check yes
|
||||
|
||||
pair_style none
|
||||
|
||||
|
||||
fix 1 all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} ${D_r} ${seed} rng ${rng}
|
||||
fix 1 all brownian/sphere ${gamma_t} ${gamma_r} ${D_t} &
|
||||
${D_r} ${seed} rng ${rng}
|
||||
fix_modify 1 virial yes
|
||||
|
||||
compute press all pressure NULL virial
|
||||
@ -46,22 +44,12 @@ thermo 50001
|
||||
run 50000
|
||||
reset_timestep 0
|
||||
|
||||
|
||||
#initialisation for the main run
|
||||
|
||||
# MSD
|
||||
compute msd all msd
|
||||
|
||||
|
||||
thermo_style custom step temp epair c_msd[*] c_press
|
||||
|
||||
|
||||
# write trajectory and thermo in a log-scale frequency
|
||||
# uncomment the next three lines for dump file
|
||||
#dump 1 all custom 10000 dump_${params}_3d.lammpstrj id type &
|
||||
# x y xu yu fx fy fz
|
||||
#dump_modify 1 first yes sort id
|
||||
|
||||
timestep 0.00001
|
||||
thermo 1000
|
||||
|
||||
|
||||
65
examples/USER/brownian/translational/in.brownian
Normal file
65
examples/USER/brownian/translational/in.brownian
Normal file
@ -0,0 +1,65 @@
|
||||
# 3d overdamped brownian dynamics
|
||||
|
||||
variable gamma_t equal 1.0
|
||||
variable D_t equal 1.0
|
||||
variable seed equal 1974019
|
||||
|
||||
variable params string ${gamma_t}_${D_t}
|
||||
|
||||
|
||||
log log_${params}.lammps.log
|
||||
units lj
|
||||
dimension 3
|
||||
newton off
|
||||
|
||||
|
||||
lattice sc 0.4
|
||||
region box block -8 8 -8 8 -8 8
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
mass * 1.0
|
||||
velocity all create 1.0 1 loop geom
|
||||
|
||||
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 1 check yes
|
||||
|
||||
|
||||
|
||||
pair_style none
|
||||
|
||||
# simple overdamped brownian dynamics time-stepper
|
||||
fix step all brownian ${gamma_t} ${D_t} ${seed}
|
||||
|
||||
# turn on the virial contribution from the noise
|
||||
# (this is the ideal gas pressure, but it is really noisy
|
||||
# for small systems)
|
||||
fix_modify step virial yes
|
||||
|
||||
compute press all pressure NULL virial
|
||||
|
||||
thermo_style custom step temp epair c_press
|
||||
|
||||
#equilibration
|
||||
timestep 0.0000000001
|
||||
thermo 50001
|
||||
run 50000
|
||||
reset_timestep 0
|
||||
|
||||
|
||||
#initialisation for the main run
|
||||
|
||||
# MSD
|
||||
compute msd all msd
|
||||
|
||||
|
||||
thermo_style custom step temp epair c_msd[*] c_press
|
||||
|
||||
|
||||
timestep 0.00001
|
||||
thermo 1000
|
||||
|
||||
# main run
|
||||
run 120000
|
||||
|
||||
|
||||
246
examples/USER/brownian/translational/log_1_1.lammps.log
Normal file
246
examples/USER/brownian/translational/log_1_1.lammps.log
Normal file
@ -0,0 +1,246 @@
|
||||
units lj
|
||||
dimension 3
|
||||
newton off
|
||||
|
||||
|
||||
lattice sc 0.4
|
||||
Lattice spacing in x,y,z = 1.3572088 1.3572088 1.3572088
|
||||
region box block -8 8 -8 8 -8 8
|
||||
create_box 1 box
|
||||
Created orthogonal box = (-10.857670 -10.857670 -10.857670) to (10.857670 10.857670 10.857670)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 4096 atoms
|
||||
create_atoms CPU = 0.002 seconds
|
||||
mass * 1.0
|
||||
velocity all create 1.0 1 loop geom
|
||||
|
||||
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 1 check yes
|
||||
|
||||
|
||||
|
||||
pair_style none
|
||||
|
||||
# simple overdamped brownian dynamics time-stepper
|
||||
fix step all brownian ${gamma_t} ${D_t} ${seed}
|
||||
fix step all brownian 1 ${D_t} ${seed}
|
||||
fix step all brownian 1 1 ${seed}
|
||||
fix step all brownian 1 1 1974019
|
||||
|
||||
# turn on the virial contribution from the noise
|
||||
# (this is the ideal gas pressure, but it is really noisy
|
||||
# for small systems)
|
||||
fix_modify step virial yes
|
||||
|
||||
compute press all pressure NULL virial
|
||||
|
||||
thermo_style custom step temp epair c_press
|
||||
|
||||
#equilibration
|
||||
timestep 0.0000000001
|
||||
thermo 50001
|
||||
run 50000
|
||||
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)
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.319 | 2.319 | 2.319 Mbytes
|
||||
Step Temp E_pair c_press
|
||||
0 1 0 1500.0667
|
||||
50000 2.0204192e+10 0 809.28898
|
||||
Loop time of 8.36695 on 1 procs for 50000 steps with 4096 atoms
|
||||
|
||||
Performance: 0.052 tau/day, 5975.895 timesteps/s
|
||||
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.081773 | 0.081773 | 0.081773 | 0.0 | 0.98
|
||||
Output | 3.0396e-05 | 3.0396e-05 | 3.0396e-05 | 0.0 | 0.00
|
||||
Modify | 7.8039 | 7.8039 | 7.8039 | 0.0 | 93.27
|
||||
Other | | 0.4812 | | | 5.75
|
||||
|
||||
Nlocal: 4096.00 ave 4096 max 4096 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 817.000 ave 817 max 817 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0.0000000
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
reset_timestep 0
|
||||
|
||||
|
||||
#initialisation for the main run
|
||||
|
||||
# MSD
|
||||
compute msd all msd
|
||||
|
||||
|
||||
thermo_style custom step temp epair c_msd[*] c_press
|
||||
|
||||
|
||||
timestep 0.00001
|
||||
thermo 1000
|
||||
|
||||
# main run
|
||||
run 120000
|
||||
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) = 2.694 | 2.694 | 2.694 Mbytes
|
||||
Step Temp E_pair c_msd[1] c_msd[2] c_msd[3] c_msd[4] c_press
|
||||
0 2.0204192e+10 0 0 0 0 0 3.053092
|
||||
1000 199589.87 0 0.020515986 0.019445659 0.020084014 0.060045658 -10.855191
|
||||
2000 202255.37 0 0.039423387 0.039839097 0.041243768 0.12050625 -7.8484884
|
||||
3000 197932.37 0 0.058057959 0.060232381 0.061205106 0.17949545 14.441358
|
||||
4000 201354.42 0 0.08020915 0.080140903 0.081351793 0.24170185 -2.7088264
|
||||
5000 201599.34 0 0.10065125 0.099423954 0.10004367 0.30011888 10.000367
|
||||
6000 198355.3 0 0.12039302 0.12228165 0.12136204 0.36403671 -7.7331104
|
||||
7000 201842.08 0 0.13901495 0.14401324 0.14070032 0.42372851 1.049759
|
||||
8000 200224.96 0 0.16063188 0.16389028 0.16409878 0.48862093 14.748306
|
||||
9000 198468.62 0 0.18050666 0.18555949 0.18441359 0.55047975 -7.2751841
|
||||
10000 197958.21 0 0.20229316 0.20438608 0.20471694 0.61139618 -8.8169492
|
||||
11000 200852.8 0 0.22244961 0.22388152 0.22417791 0.67050904 -0.56323783
|
||||
12000 200135.84 0 0.24070342 0.23964066 0.24829459 0.72863867 -20.246433
|
||||
13000 199160.33 0 0.26021951 0.2581362 0.27210493 0.79046065 6.2400743
|
||||
14000 200016.58 0 0.28005738 0.27429833 0.29107673 0.84543244 9.8390268
|
||||
15000 200805.25 0 0.30110658 0.29756813 0.31002936 0.90870407 -9.7474978
|
||||
16000 201221.83 0 0.31982855 0.31758368 0.33140494 0.96881716 -11.937757
|
||||
17000 199690.18 0 0.33896659 0.33908504 0.35143307 1.0294847 -11.627541
|
||||
18000 197165.97 0 0.35589324 0.3605585 0.37062404 1.0870758 17.045279
|
||||
19000 202921.66 0 0.36968243 0.3825335 0.38579438 1.1380103 -3.2942099
|
||||
20000 200415.26 0 0.39189833 0.39811842 0.40650662 1.1965234 -0.55679809
|
||||
21000 198882.79 0 0.41394816 0.42495341 0.42660986 1.2655114 0.26572202
|
||||
22000 199352.13 0 0.43200564 0.44555233 0.44842807 1.325986 5.9839474
|
||||
23000 200565.11 0 0.45248704 0.46736174 0.4633773 1.3832261 0.51141727
|
||||
24000 197632.73 0 0.47648878 0.49070755 0.48561349 1.4528098 11.301781
|
||||
25000 203284.74 0 0.50103025 0.5117464 0.50162451 1.5144012 4.0966379
|
||||
26000 200458.42 0 0.52111051 0.53245594 0.52193205 1.5754985 -9.2090189
|
||||
27000 197553.02 0 0.54097922 0.553215 0.5440757 1.6382699 -6.0708365
|
||||
28000 200874.32 0 0.55707209 0.57015852 0.56334199 1.6905726 -17.349073
|
||||
29000 199494.43 0 0.57734934 0.59276209 0.58014344 1.7502549 -7.0407471
|
||||
30000 199898.09 0 0.60161157 0.6156313 0.60516078 1.8224036 -1.3770813
|
||||
31000 200867.7 0 0.62383361 0.64008503 0.6272796 1.8911982 -8.3200079
|
||||
32000 198811.59 0 0.64361889 0.66089102 0.64987533 1.9543852 -0.21133799
|
||||
33000 198224.12 0 0.66695348 0.67669734 0.67749939 2.0211502 0.87075722
|
||||
34000 202553.2 0 0.69470773 0.69930784 0.69600623 2.0900218 1.7428524
|
||||
35000 199227.86 0 0.71973625 0.72255845 0.71991572 2.1622104 2.4381317
|
||||
36000 200719.05 0 0.73772312 0.74086704 0.74438632 2.2229765 -8.8184183
|
||||
37000 198054.45 0 0.75901548 0.76107029 0.76677002 2.2868558 9.0699905
|
||||
38000 198496.92 0 0.77679013 0.78067416 0.78055585 2.3380201 -8.8374756
|
||||
39000 199224.19 0 0.79689891 0.8074183 0.79624042 2.4005576 -2.3099574
|
||||
40000 199514.11 0 0.81493522 0.8271518 0.81729253 2.4593796 8.5411105
|
||||
41000 199926.55 0 0.82918834 0.84950171 0.83531381 2.5140039 -6.8276624
|
||||
42000 201659.21 0 0.84991161 0.87416096 0.86612093 2.5901935 -11.006396
|
||||
43000 201502.51 0 0.87967597 0.89570393 0.88920119 2.6645811 9.4305203
|
||||
44000 194956.27 0 0.9022655 0.91604833 0.90539218 2.723706 1.7636771
|
||||
45000 201853.02 0 0.92302957 0.93661741 0.93225051 2.7918975 9.6483674
|
||||
46000 200572.92 0 0.94062662 0.94933155 0.94953376 2.8394919 1.0882497
|
||||
47000 202008.49 0 0.95397524 0.97655157 0.96534559 2.8958724 -7.9450141
|
||||
48000 199748.89 0 0.97441115 0.99687233 0.98429144 2.9555749 5.0525854
|
||||
49000 203008.7 0 0.99757948 1.0095536 0.99836015 3.0054932 28.410878
|
||||
50000 198810.18 0 1.0182591 1.0287254 1.0110652 3.0580497 22.596989
|
||||
51000 201716 0 1.0414747 1.0448379 1.0361279 3.1224404 -0.3397634
|
||||
52000 200682.63 0 1.0640391 1.0597767 1.0596255 3.1834413 8.9163814
|
||||
53000 201068.23 0 1.0804112 1.0740541 1.077586 3.2320513 8.9631815
|
||||
54000 203379.33 0 1.0965663 1.0832317 1.0981473 3.2779453 -7.8020084
|
||||
55000 197117.81 0 1.1145489 1.1008769 1.1259188 3.3413446 13.723633
|
||||
56000 201100.37 0 1.1420502 1.1311309 1.1425839 3.415765 10.39045
|
||||
57000 199911.61 0 1.1641357 1.1461183 1.1598876 3.4701416 -1.5384143
|
||||
58000 202180.4 0 1.1787793 1.1703422 1.1794284 3.5285498 4.9552552
|
||||
59000 202359.35 0 1.2017068 1.1846051 1.1912556 3.5775675 14.774737
|
||||
60000 196182.35 0 1.2297664 1.2087508 1.2116928 3.65021 12.484104
|
||||
61000 201858.45 0 1.2505094 1.2255583 1.2330327 3.7091004 3.6962199
|
||||
62000 198313.02 0 1.2756755 1.2437434 1.2514738 3.7708927 -6.5600779
|
||||
63000 198423.1 0 1.2998594 1.262369 1.2656961 3.8279245 3.1919497
|
||||
64000 202601.56 0 1.3177969 1.2812961 1.2841642 3.8832572 7.1735962
|
||||
65000 201270.73 0 1.3353533 1.3006911 1.306668 3.9427124 3.7612957
|
||||
66000 199480.32 0 1.3502663 1.3165416 1.3300249 3.9968327 -8.0484056
|
||||
67000 202829.47 0 1.3628924 1.3369328 1.339246 4.0390712 -2.962791
|
||||
68000 200269.53 0 1.3901352 1.3600404 1.3528283 4.1030039 29.395886
|
||||
69000 201514.31 0 1.4135333 1.3834796 1.3719116 4.1689245 9.5358653
|
||||
70000 198898.14 0 1.4323413 1.4056025 1.4015088 4.2394526 13.713608
|
||||
71000 198446.83 0 1.4424061 1.4229225 1.4231698 4.2884984 9.5266069
|
||||
72000 199550.94 0 1.4730822 1.4438093 1.4436864 4.360578 5.4060926
|
||||
73000 201536.57 0 1.4860349 1.4557531 1.4673417 4.4091297 2.7527606
|
||||
74000 201688.68 0 1.5078921 1.4770318 1.4889958 4.4739197 -2.5507167
|
||||
75000 203168.01 0 1.5264946 1.4942757 1.5095341 4.5303045 13.955087
|
||||
76000 198782.86 0 1.5363851 1.5145529 1.5306446 4.5815826 1.6748995
|
||||
77000 199306.04 0 1.55336 1.5308045 1.5501462 4.6343107 1.4463705
|
||||
78000 199420.52 0 1.5679804 1.5445387 1.5765555 4.6890745 -15.926362
|
||||
79000 198711.33 0 1.5818761 1.5651424 1.5966885 4.743707 -23.662716
|
||||
80000 202734.35 0 1.6045976 1.5878467 1.6155179 4.8079623 1.4177771
|
||||
81000 199953.12 0 1.6266918 1.6125491 1.6370893 4.8763302 14.40188
|
||||
82000 201254.27 0 1.6418366 1.6362867 1.6497081 4.9278313 -4.3503
|
||||
83000 200442.35 0 1.6671772 1.6544269 1.6638838 4.9854878 -5.5569751
|
||||
84000 201442.09 0 1.6772029 1.6819435 1.6824211 5.0415676 -17.634517
|
||||
85000 202012.75 0 1.7026782 1.7059915 1.7079961 5.1166659 8.8311485
|
||||
86000 198613.4 0 1.725679 1.7251262 1.7235885 5.1743936 10.070509
|
||||
87000 198650.79 0 1.748013 1.7447674 1.7397963 5.2325767 7.3326989
|
||||
88000 199753.54 0 1.7793864 1.7677848 1.7548586 5.3020298 -3.8460869
|
||||
89000 200851.56 0 1.7992856 1.7843281 1.7671516 5.3507653 10.274664
|
||||
90000 202029.24 0 1.8178051 1.8010651 1.7886511 5.4075213 1.1705818
|
||||
91000 200963.98 0 1.8425785 1.8123748 1.8079693 5.4629226 -8.0390883
|
||||
92000 200443.4 0 1.8743616 1.8355736 1.8340515 5.5439867 -12.186363
|
||||
93000 197974.1 0 1.8911764 1.8440063 1.8442582 5.579441 10.189145
|
||||
94000 201285.41 0 1.9040394 1.8567044 1.8663386 5.6270824 7.8537148
|
||||
95000 198472.81 0 1.9268236 1.8638624 1.8855767 5.6762627 11.556616
|
||||
96000 198171.93 0 1.9378011 1.8811168 1.9024245 5.7213424 -7.3493903
|
||||
97000 200055.5 0 1.9539002 1.9031647 1.9221125 5.7791774 -7.2823252
|
||||
98000 200350.77 0 1.973424 1.9255707 1.9393139 5.8383087 2.3526328
|
||||
99000 198923.17 0 1.9946733 1.9416292 1.9616759 5.8979785 -8.6362233
|
||||
100000 196205.31 0 2.015688 1.967164 1.9801696 5.9630216 1.5261152
|
||||
101000 198842.45 0 2.0402634 1.9858628 1.9939889 6.0201151 6.8070808
|
||||
102000 199060.56 0 2.0583018 2.0040652 2.0225396 6.0849067 5.4626963
|
||||
103000 204892.64 0 2.0788003 2.0245826 2.0405395 6.1439224 -19.988675
|
||||
104000 198709.07 0 2.0990457 2.0519007 2.0571079 6.2080544 -21.365135
|
||||
105000 198916.99 0 2.1089408 2.0758832 2.0899796 6.2748037 4.3696238
|
||||
106000 202191.68 0 2.1172909 2.0923523 2.1208274 6.3304706 8.2072292
|
||||
107000 202428.89 0 2.1387532 2.114944 2.1418816 6.3955788 4.1099611
|
||||
108000 197690.67 0 2.1620575 2.136726 2.1703555 6.469139 5.7183695
|
||||
109000 200098.73 0 2.1814376 2.1464455 2.1828177 6.5107008 7.4366333
|
||||
110000 197901.18 0 2.1955124 2.1764141 2.1994286 6.5713551 -6.4288954
|
||||
111000 199478.54 0 2.2167884 2.1900638 2.2140739 6.6209261 22.379137
|
||||
112000 198391.65 0 2.249996 2.2100316 2.2309406 6.6909682 -20.040892
|
||||
113000 200542.42 0 2.2634106 2.2313768 2.2610988 6.7558862 0.2953844
|
||||
114000 202117.15 0 2.28441 2.2517036 2.2787302 6.8148438 16.75177
|
||||
115000 200004.06 0 2.2957226 2.2730837 2.2901883 6.8589947 -4.3125612
|
||||
116000 200648.11 0 2.3184059 2.2934521 2.3257075 6.9375656 5.7210624
|
||||
117000 198600.57 0 2.3413891 2.3102468 2.3511234 7.0027593 -2.9987639
|
||||
118000 199817.34 0 2.3732051 2.3347741 2.3601752 7.0681544 -3.3658539
|
||||
119000 200556.96 0 2.3873448 2.3595646 2.3774937 7.1244031 20.860601
|
||||
120000 200997.81 0 2.4097258 2.3736031 2.3871081 7.170437 -5.3623487
|
||||
Loop time of 20.5037 on 1 procs for 120000 steps with 4096 atoms
|
||||
|
||||
Performance: 5056.640 tau/day, 5852.593 timesteps/s
|
||||
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0.0012425 | 0.0012425 | 0.0012425 | 0.0 | 0.01
|
||||
Comm | 0.015074 | 0.015074 | 0.015074 | 0.0 | 0.07
|
||||
Output | 0.006156 | 0.006156 | 0.006156 | 0.0 | 0.03
|
||||
Modify | 19.243 | 19.243 | 19.243 | 0.0 | 93.85
|
||||
Other | | 1.238 | | | 6.04
|
||||
|
||||
Nlocal: 4096.00 ave 4096 max 4096 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0.0000000
|
||||
Neighbor list builds = 205
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Total wall time: 0:00:28
|
||||
217
src/USER-BROWNIAN/fix_brownian.cpp
Normal file
217
src/USER-BROWNIAN/fix_brownian.cpp
Normal file
@ -0,0 +1,217 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Originally modified from USER-CGDNA/fix_nve_dotc_langevin.cpp.
|
||||
|
||||
Contributing author: Sam Cameron (University of Bristol)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "fix_brownian.h"
|
||||
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
#include "math_extra.h"
|
||||
#include "atom.h"
|
||||
#include "force.h"
|
||||
#include "update.h"
|
||||
#include "comm.h"
|
||||
#include "domain.h"
|
||||
#include "random_mars.h"
|
||||
#include "memory.h"
|
||||
#include "error.h"
|
||||
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace FixConst;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
FixBrownian::FixBrownian(LAMMPS *lmp, int narg, char **arg) :
|
||||
Fix(lmp, narg, arg)
|
||||
{
|
||||
virial_flag = 1;
|
||||
|
||||
time_integrate = 1;
|
||||
|
||||
if (narg != 6 && narg != 8)
|
||||
error->all(FLERR,"Illegal fix brownian command.");
|
||||
|
||||
gamma_t = utils::numeric(FLERR,arg[3],false,lmp);
|
||||
if (gamma_t <= 0.0)
|
||||
error->all(FLERR,"Fix brownian viscous drag "
|
||||
"coefficient must be > 0.");
|
||||
|
||||
diff_t = utils::numeric(FLERR,arg[4],false,lmp);
|
||||
if (diff_t <= 0.0)
|
||||
error->all(FLERR,"Fix brownian diffusion "
|
||||
"coefficient must be > 0.");
|
||||
|
||||
seed = utils::inumeric(FLERR,arg[5],false,lmp);
|
||||
if (seed <= 0) error->all(FLERR,"Fix brownian seed must be > 0.");
|
||||
|
||||
noise_flag = 1;
|
||||
gaussian_noise_flag = 0;
|
||||
|
||||
if (narg == 8) {
|
||||
|
||||
if (strcmp(arg[6],"rng") == 0) {
|
||||
if (strcmp(arg[7],"uniform") == 0) {
|
||||
noise_flag = 1;
|
||||
} else if (strcmp(arg[7],"gaussian") == 0) {
|
||||
noise_flag = 1;
|
||||
gaussian_noise_flag = 1;
|
||||
} else if (strcmp(arg[7],"none") == 0) {
|
||||
noise_flag = 0;
|
||||
} else {
|
||||
error->all(FLERR,"Illegal fix brownian command.");
|
||||
}
|
||||
} else {
|
||||
error->all(FLERR,"Illegal fix brownian command.");
|
||||
}
|
||||
}
|
||||
|
||||
// initialize Marsaglia RNG with processor-unique seed
|
||||
random = new RanMars(lmp,seed + comm->me);
|
||||
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
int FixBrownian::setmask()
|
||||
{
|
||||
int mask = 0;
|
||||
mask |= INITIAL_INTEGRATE;
|
||||
mask |= POST_FORCE;
|
||||
return mask;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
FixBrownian::~FixBrownian()
|
||||
{
|
||||
delete random;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixBrownian::init()
|
||||
{
|
||||
|
||||
g1 = force->ftm2v/gamma_t;
|
||||
if (noise_flag == 0) {
|
||||
g2 = 0;
|
||||
rng_func = &RanMars::zero_rng;
|
||||
} else if (gaussian_noise_flag == 1) {
|
||||
g2 = gamma_t*sqrt(2 * diff_t)/force->ftm2v;
|
||||
rng_func = &RanMars::gaussian;
|
||||
} else {
|
||||
g2 = gamma_t*sqrt( 24 * diff_t)/force->ftm2v;
|
||||
rng_func = &RanMars::uniform_middle;
|
||||
}
|
||||
|
||||
dt = update->dt;
|
||||
sqrtdt = sqrt(dt);
|
||||
}
|
||||
|
||||
void FixBrownian::setup(int vflag)
|
||||
{
|
||||
post_force(vflag);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixBrownian::initial_integrate(int /* vflag */)
|
||||
{
|
||||
double **x = atom->x;
|
||||
double **v = atom->v;
|
||||
double **f = atom->f;
|
||||
int *mask = atom->mask;
|
||||
int nlocal = atom->nlocal;
|
||||
double dx,dy,dz;
|
||||
|
||||
if (igroup == atom->firstgroup) nlocal = atom->nfirst;
|
||||
|
||||
|
||||
for (int i = 0; i < nlocal; i++) {
|
||||
if (mask[i] & groupbit) {
|
||||
|
||||
dx = dt * g1 * f[i][0];
|
||||
x[i][0] += dx;
|
||||
v[i][0] = dx/dt;
|
||||
|
||||
dy = dt * g1 * f[i][1];
|
||||
x[i][1] += dy;
|
||||
v[i][1] = dy/dt;
|
||||
|
||||
dz = dt * g1 * f[i][2];
|
||||
x[i][2] += dz;
|
||||
v[i][2] = dz/dt;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
apply random force, stolen from MISC/fix_efield.cpp
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void FixBrownian::post_force(int vflag)
|
||||
{
|
||||
double **f = atom->f;
|
||||
double **x = atom->x;
|
||||
int *mask = atom->mask;
|
||||
imageint *image = atom->image;
|
||||
int nlocal = atom->nlocal;
|
||||
|
||||
// virial setup
|
||||
|
||||
if (vflag) v_setup(vflag);
|
||||
else evflag = 0;
|
||||
|
||||
double fx,fy,fz;
|
||||
double v[6];
|
||||
|
||||
for (int i = 0; i < nlocal; i++)
|
||||
if (mask[i] & groupbit) {
|
||||
|
||||
fx = g2 * (random->*rng_func)()/sqrtdt;
|
||||
fy = g2 * (random->*rng_func)()/sqrtdt;
|
||||
fz = g2 * (random->*rng_func)()/sqrtdt;
|
||||
f[i][0] += fx;
|
||||
f[i][1] += fy;
|
||||
f[i][2] += fz;
|
||||
|
||||
if (evflag) {
|
||||
v[0] = fx*x[i][0];
|
||||
v[1] = fy*x[i][1];
|
||||
v[2] = fz*x[i][2];
|
||||
v[3] = fx*x[i][1];
|
||||
v[4] = fx*x[i][2];
|
||||
v[5] = fy*x[i][2];
|
||||
v_tally(i, v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FixBrownian::reset_dt()
|
||||
{
|
||||
|
||||
dt = update->dt;
|
||||
sqrtdt = sqrt(dt);
|
||||
}
|
||||
79
src/USER-BROWNIAN/fix_brownian.h
Normal file
79
src/USER-BROWNIAN/fix_brownian.h
Normal file
@ -0,0 +1,79 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef FIX_CLASS
|
||||
|
||||
FixStyle(brownian,FixBrownian)
|
||||
|
||||
#else
|
||||
|
||||
#ifndef LMP_FIX_BROWNIAN_H
|
||||
#define LMP_FIX_BROWNIAN_H
|
||||
|
||||
#include "fix.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class FixBrownian : public Fix {
|
||||
public:
|
||||
FixBrownian(class LAMMPS *, int, char **);
|
||||
virtual ~FixBrownian();
|
||||
void init();
|
||||
void initial_integrate(int);
|
||||
void setup(int);
|
||||
void post_force(int);
|
||||
int setmask();
|
||||
void reset_dt();
|
||||
|
||||
private:
|
||||
int seed; // RNG seed
|
||||
double dt, sqrtdt; // time step interval and its sqrt
|
||||
|
||||
|
||||
double gamma_t; // translational damping param
|
||||
double diff_t; // translational diffusion coeff
|
||||
|
||||
double g1,g2; // prefactors in time stepping
|
||||
int noise_flag; // 0/1 for noise off/on
|
||||
int gaussian_noise_flag; // 0/1 for uniform/gaussian noise
|
||||
|
||||
protected:
|
||||
class RanMars *random;
|
||||
typedef double (RanMars::*rng_member)();
|
||||
rng_member rng_func; // placeholder for RNG function
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Illegal fix brownian command.
|
||||
|
||||
Wrong number/type of input arguments.
|
||||
|
||||
E: Fix brownian viscous drag coefficient must be > 0.
|
||||
|
||||
Self-explanatory.
|
||||
|
||||
E: Fix brownian diffusion coefficient must be > 0.
|
||||
|
||||
Self-explanatory.
|
||||
|
||||
E: Fix brownian seed must be > 0.
|
||||
|
||||
Self-explanatory.
|
||||
|
||||
*/
|
||||
Reference in New Issue
Block a user