git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@14995 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2016-05-10 20:05:08 +00:00
parent 2b75c78f69
commit 3060e9f11b
4 changed files with 345 additions and 0 deletions

View File

@ -0,0 +1,72 @@
.. index:: fix manifoldforce
fix manifoldforce command
=========================
Syntax
""""""
.. parsed-literal::
fix ID group-ID manifoldforce manifold manifold-args ...
* ID, group-ID are documented in :doc:`fix <fix>` command
* manifold = name of the manifold
* manifold-args = parameters for the manifold
Examples
""""""""
fix constrain all manifoldforce sphere 5.0
Description
"""""""""""
This fix subtracts each time step from the force the component along the normal of the specified :doc:`manifold <manifolds>`.
This can be used in combination with :doc:`minimize <minimize>` to remove overlap between particles while
keeping them (roughly) constrained to the given manifold, e.g. to set up a run with :doc:`fix nve/manifold/rattle <fix_nve_manifold_rattle>`.
I have found that only *hftn* and *quickmin* with a very small time step perform adequately though.
----------
Restart, fix_modify, output, run start/stop, minimize info
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various :ref:`output commands <howto_15>`. No parameter of this fix can
be used with the *start/stop* keywords of the :doc:`run <run>` command.
This fix is invoked during :doc:`energy minimization <minimize>`.
----------
Restrictions
""""""""""""
This fix is part of the USER-MANIFOLD package. It is only enabled if LAMMPS
was built with that package. See the :ref:`Making LAMMPS <start_3>`
section for more info.
Only use this with *min_style hftn* or *min_style quickmin*\ . If not, the constraints
will not be satisfied very well at all. A warning is generated if the *min_style* is
incompatible but no error.
----------
Related commands
""""""""""""""""
:doc:`fix nve/manifold/rattle <fix_nve_manifold_rattle>`, :doc:`fix nvt/manifold/rattle <fix_nvt_manifold_rattle>`
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Section_commands.html#comm

View File

@ -0,0 +1,124 @@
.. index:: fix nve/manifold/rattle
fix nve/manifold/rattle command
===============================
Syntax
""""""
.. parsed-literal::
fix ID group-ID nve/manifold/rattle tol maxit manifold manifold-args keyword value ...
* ID, group-ID are documented in :doc:`fix <fix>` command
* nve/manifold/rattle = style name of this fix command
* tol = tolerance to which Newton iteration must converge
* maxit = maximum number of iterations to perform
* manifold = name of the manifold
* manifold-args = parameters for the manifold
* one or more keyword/value pairs may be appended
.. parsed-literal::
keyword = *every*
*every* values = N
N = print info about iteration every N steps. N = 0 means no output
Examples
""""""""
.. parsed-literal::
fix 1 all nve/manifold/rattle 1e-4 10 sphere 5.0
fix step all nve/manifold/rattle 1e-8 100 ellipsoid 2.5 2.5 5.0 every 25
Description
"""""""""""
Perform constant NVE integration to update position and velocity for
atoms constrained to a curved surface (manifold) in the group each timestep. The constraint
is handled by RATTLE :ref:`(Andersen) <Andersen>` written out for the special case of
single-particle constraints as explained in :ref:`(Paquay) <Paquay>`.
V is volume; E is energy. This way, the dynamics of particles constrained to
curved surfaces can be studied. If combined with :doc:`fix langevin <fix_langevin>`, this generates
Brownian motion of particles constrained to a curved surface. For a list of currently supported
manifolds and their parameters, see :doc:`manifolds <manifolds>`.
Note that the particles must initially be close to the manifold in question. If not, RATTLE will
not be able to iterate until the constraint is satisfied, and an error is generated. For simple
manifolds this can be achieved with *region* and *create_atoms* commands, but for more complex
surfaces it might be more useful to write a script.
The manifold args may be equal-style variables, like so:
.. parsed-literal::
variable R equal "ramp(5.0,3.0)"
fix shrink_sphere all nve/manifold/rattle 1e-4 10 sphere v_R
In this case, the manifold parameter will change in time according to the variable.
This is not a problem for the time integrator as long as the change of the manifold is slow with respect to the dynamics of the particles.
Note that if the manifold has to exert work on the particles because of these changes, the total energy might not be conserved.
----------
Restart, fix_modify, output, run start/stop, minimize info
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various :ref:`output commands <howto_15>`. 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-MANIFOLD package. It is only enabled if LAMMPS
was built with that package. See the :ref:`Making LAMMPS <start_3>`
section for more info.
Only use this with *min_style hftn* or *min_style quickmin*\ . If not, the constraints
will not be satisfied very well at all. A warning is generated if the *min_style* is
incompatible but no error.
----------
Related commands
""""""""""""""""
:doc:`fix nvt/manifold/rattle <fix_nvt_manifold_rattle>`, :doc:`fix manifoldforce <fix_manifoldforce>`
**Default:** every = 0, tchain = 3
----------
.. _Andersen:
**(Andersen)** Andersen, J. Comp. Phys. 52, 24, (1983).
.. _Paquay:
**(Paquay)** Paquay and Kusters, Biophys. J., 110, ???, (2016), to be published,
preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_.
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Section_commands.html#comm

View File

@ -0,0 +1,104 @@
.. index:: fix nvt/manifold/rattle
fix nvt/manifold/rattle command
===============================
Syntax
""""""
.. parsed-literal::
fix ID group-ID nvt/manifold/rattle tol maxit manifold manifold-args keyword value ...
* ID, group-ID are documented in :doc:`fix <fix>` command
* nvt/manifold/rattle = style name of this fix command
* tol = tolerance to which Newton iteration must converge
* maxit = maximum number of iterations to perform
* manifold = name of the manifold
* manifold-args = parameters for the manifold
* one or more keyword/value pairs may be appended
.. parsed-literal::
keyword = *temp* or *tchain* or *every*
*temp* values = Tstart Tstop Tdamp
Tstart, Tstop = external temperature at start/end of run
Tdamp = temperature damping parameter (time units)
*tchain* value = N
N = length of thermostat chain (1 = single thermostat)
*every* value = N
N = print info about iteration every N steps. N = 0 means no output
Examples
""""""""
fix 1 all nvt/manifold/rattle 1e-4 10 cylinder 3.0 temp 1.0 1.0 10.0
Description
"""""""""""
This fix combines the RATTLE-based :ref:`(Andersen) <Andersen>` time integrator of :doc:`fix nve/manifold/rattle <fix_nve_manifold_rattle>` :ref:`(Paquay) <Paquay>` with a Nose-Hoover-chain thermostat to sample the
canonical ensemble of particles constrained to a curved surface (manifold). This sampling does suffer from discretization bias of O(dt).
For a list of currently supported manifolds and their parameters, see :doc:`manifolds <manifolds>`
----------
Restart, fix_modify, output, run start/stop, minimize info
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various :ref:`output commands <howto_15>`. 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-MANIFOLD package. It is only enabled if LAMMPS
was built with that package. See the :ref:`Making LAMMPS <start_3>`
section for more info.
Only use this with *min_style hftn* or *min_style quickmin*\ . If not, the constraints
will not be satisfied very well at all. A warning is generated if the *min_style* is
incompatible but no error.
----------
Related commands
""""""""""""""""
:doc:`fix nve/manifold/rattle <fix_nvt_manifold_rattle>`, :doc:`fix manifoldforce <fix_manifoldforce>`
**Default:** every = 0
----------
.. _Andersen:
**(Andersen)** Andersen, J. Comp. Phys. 52, 24, (1983).
.. _Paquay:
**(Paquay)** Paquay and Kusters, Biophys. J., 110, ???, (2016), to be published,
preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_.
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Section_commands.html#comm

View File

@ -0,0 +1,45 @@
Description
"""""""""""
Below is a list of currently supported manifolds, their parameters and a short description of them.
The parameters listed here are in the same order as they should be passed to the relevant fixes.
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| *manifold* | *parameters* | *equation* | *description* | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| cylinder | R | x^2 + y^2 - R^2 = 0 | Cylinder along z-axis, axis going through (0,0,0) | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| cylinder_dent | R l a | x^2 + y^2 - r(z)^2 = 0, r(x) = R if |z| > l, r(z) = R - a*(1 + cos(z/l))/2 otherwise | A cylinder with a dent around z = 0 | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| dumbbell | a A B c | -( x^2 + y^2 ) * (a^2 - z^2/c^2) * ( 1 + (A*sin(B*z^2))^4) = 0 | A dumbbell | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| ellipsoid | a b c | (x/a)^2 + (y/b)^2 + (z/c)^2 = 0 | An ellipsoid | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| plane | a b c x0 y0 z0 | a*(x-x0) + b*(y-y0) + c*(z-z0) = 0 | A plane with normal (a,b,c) going through point (x0,y0,z0) | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| plane_wiggle | a w | z - a*sin(w*x) = 0 | A plane with a sinusoidal modulation on z along x. | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| sphere | R | x^2 + y^2 + z^2 - R^2 = 0 | A sphere of radius R | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| supersphere | R q | |x|^q + |y|^q + |z|^q - R^q = 0 | A supersphere of hyperradius R | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| spine | a, A, B, B2, c | -(x^2 + y^2)*(a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^4), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise | An approximation to a dendtritic spine | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| spine_two | a, A, B, B2, c | -(x^2 + y^2)*(a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^2), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise | Another approximation to a dendtritic spine | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| thylakoid | wB LB lB | Various, see :ref:`(Paquay) <Paquay>` | A model grana thylakoid consisting of two block-like compartments connected by a bridge of width wB, length LB and taper length lB | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
| torus | R r | (R - sqrt( x^2 + y^2 ) )^2 + z^2 - r^2 | A torus with large radius R and small radius r, centered on (0,0,0) | |
+---------------+----------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+--+
.. _Paquay:
**(Paquay)** Paquay and Kusters, Biophys. J., 110, ???, (2016), to be published,
preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_.
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Section_commands.html#comm