forked from lijiext/lammps
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@14995 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
2b75c78f69
commit
3060e9f11b
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
Loading…
Reference in New Issue