mirror of https://github.com/lammps/lammps.git
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