From 532b5e97876b1715c2e86da44be2d1f52efbb5cb Mon Sep 17 00:00:00 2001 From: sjplimp Date: Tue, 10 May 2016 20:05:38 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@14997 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/src/fix_manifoldforce.txt | 61 +++++++++++++++++ doc/src/fix_nve_manifold_rattle.txt | 100 ++++++++++++++++++++++++++++ doc/src/fix_nvt_manifold_rattle.txt | 85 +++++++++++++++++++++++ doc/src/manifolds.txt | 31 +++++++++ 4 files changed, 277 insertions(+) create mode 100644 doc/src/fix_manifoldforce.txt create mode 100644 doc/src/fix_nve_manifold_rattle.txt create mode 100644 doc/src/fix_nvt_manifold_rattle.txt create mode 100644 doc/src/manifolds.txt diff --git a/doc/src/fix_manifoldforce.txt b/doc/src/fix_manifoldforce.txt new file mode 100644 index 0000000000..5fc25167a7 --- /dev/null +++ b/doc/src/fix_manifoldforce.txt @@ -0,0 +1,61 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix manifoldforce command :h3 + +[Syntax:] + +fix ID group-ID manifoldforce manifold manifold-args ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +manifold = name of the manifold :l +manifold-args = parameters for the manifold :l + +:ule + +[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 "manifold"_manifolds.html. +This can be used in combination with "minimize"_minimize.html to remove overlap between particles while +keeping them (roughly) constrained to the given manifold, e.g. to set up a run with "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html. +I have found that only {hftn} and {quickmin} with a very small time step perform adequately though. + +:line + +[Restart, fix_modify, output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No global or per-atom quantities are stored +by this fix for access by various "output +commands"_Section_howto.html#howto_15. No parameter of this fix can +be used with the {start/stop} keywords of the "run"_run.html command. +This fix is invoked during "energy minimization"_minimize.html. + +:line + +[Restrictions:] + +This fix is part of the USER-MANIFOLD package. It is only enabled if LAMMPS +was built with that package. See the "Making LAMMPS"_Section_start.html#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. + +:line + +[Related commands:] + +"fix nve/manifold/rattle"_fix_nve_manifold_rattle.html, "fix nvt/manifold/rattle"_fix_nvt_manifold_rattle.html + diff --git a/doc/src/fix_nve_manifold_rattle.txt b/doc/src/fix_nve_manifold_rattle.txt new file mode 100644 index 0000000000..8d0eb8e57c --- /dev/null +++ b/doc/src/fix_nve_manifold_rattle.txt @@ -0,0 +1,100 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix nve/manifold/rattle command :h3 + +[Syntax:] + +fix ID group-ID nve/manifold/rattle tol maxit manifold manifold-args keyword value ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +nve/manifold/rattle = style name of this fix command :l +tol = tolerance to which Newton iteration must converge :l +maxit = maximum number of iterations to perform :l +manifold = name of the manifold :l +manifold-args = parameters for the manifold :l +one or more keyword/value pairs may be appended :l +keyword = {every} + {every} values = N + N = print info about iteration every N steps. N = 0 means no output :pre + +:ule + +[Examples:] + +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 :pre + +[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 "(Andersen)"_#Andersen written out for the special case of +single-particle constraints as explained in "(Paquay)"_#Paquay. +V is volume; E is energy. This way, the dynamics of particles constrained to +curved surfaces can be studied. If combined with "fix langevin"_fix_langevin.html, this generates +Brownian motion of particles constrained to a curved surface. For a list of currently supported +manifolds and their parameters, see "manifolds"_manifolds.html. + +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: + +variable R equal "ramp(5.0,3.0)" +fix shrink_sphere all nve/manifold/rattle 1e-4 10 sphere v_R :pre + +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. + + +:line + +[Restart, fix_modify, output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No global or per-atom quantities are stored +by this fix for access by various "output +commands"_Section_howto.html#howto_15. No parameter of this fix can +be used with the {start/stop} keywords of the "run"_run.html command. +This fix is not invoked during "energy minimization"_minimize.html. + +:line + +[Restrictions:] + +This fix is part of the USER-MANIFOLD package. It is only enabled if LAMMPS +was built with that package. See the "Making LAMMPS"_Section_start.html#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. + +:line + +[Related commands:] + +"fix nvt/manifold/rattle"_fix_nvt_manifold_rattle.html, "fix manifoldforce"_fix_manifoldforce.html + +[Default:] every = 0, tchain = 3 + +:line + +:link(Andersen) +[(Andersen)] Andersen, J. Comp. Phys. 52, 24, (1983). + +:link(Paquay) +[(Paquay)] Paquay and Kusters, Biophys. J., 110, ???, (2016), to be published, +preprint available at "arXiv:1411.3019"_http://arxiv.org/abs/1411.3019/. + + diff --git a/doc/src/fix_nvt_manifold_rattle.txt b/doc/src/fix_nvt_manifold_rattle.txt new file mode 100644 index 0000000000..f117d10eb9 --- /dev/null +++ b/doc/src/fix_nvt_manifold_rattle.txt @@ -0,0 +1,85 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix nvt/manifold/rattle command :h3 + +[Syntax:] + +fix ID group-ID nvt/manifold/rattle tol maxit manifold manifold-args keyword value ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +nvt/manifold/rattle = style name of this fix command :l +tol = tolerance to which Newton iteration must converge :l +maxit = maximum number of iterations to perform :l +manifold = name of the manifold :l +manifold-args = parameters for the manifold :l +one or more keyword/value pairs may be appended :l +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 :pre + + +:ule + +[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 "(Andersen)"_#Andersen time integrator of "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html "(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 "manifolds"_manifolds.html + +:line + +[Restart, fix_modify, output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No global or per-atom quantities are stored +by this fix for access by various "output +commands"_Section_howto.html#howto_15. No parameter of this fix can +be used with the {start/stop} keywords of the "run"_run.html command. +This fix is not invoked during "energy minimization"_minimize.html. + +:line + + +[Restrictions:] + +This fix is part of the USER-MANIFOLD package. It is only enabled if LAMMPS +was built with that package. See the "Making LAMMPS"_Section_start.html#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. + +:line + + +[Related commands:] + +"fix nve/manifold/rattle"_fix_nvt_manifold_rattle.html, "fix manifoldforce"_fix_manifoldforce.html +[Default:] every = 0 + +:line + +:link(Andersen) +[(Andersen)] Andersen, J. Comp. Phys. 52, 24, (1983). + +:link(Paquay) +[(Paquay)] Paquay and Kusters, Biophys. J., 110, ???, (2016), to be published, +preprint available at "arXiv:1411.3019"_http://arxiv.org/abs/1411.3019/. + diff --git a/doc/src/manifolds.txt b/doc/src/manifolds.txt new file mode 100644 index 0000000000..07e11aa98e --- /dev/null +++ b/doc/src/manifolds.txt @@ -0,0 +1,31 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +[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 "(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) :tb(s=||) + +:link(Paquay) +[(Paquay)] Paquay and Kusters, Biophys. J., 110, ???, (2016), to be published, +preprint available at "arXiv:1411.3019"_http://arxiv.org/abs/1411.3019/.