diff --git a/doc/Section_commands.html b/doc/Section_commands.html index 874d47412a..443f726722 100644 --- a/doc/Section_commands.html +++ b/doc/Section_commands.html @@ -327,6 +327,13 @@ of each style or click on the style itself for a full description:
These are fix styles contributed by users, which can be used if +LAMMPS is built with the appropriate package. +
+smd + |
Compute styles. See the compute command for one-line diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt index 0defe6f31a..80d41f440e 100644 --- a/doc/Section_commands.txt +++ b/doc/Section_commands.txt @@ -437,6 +437,11 @@ of each style or click on the style itself for a full description: "wall/reflect"_fix_wall_reflect.html, "wiggle"_fix_wiggle.html :tb(c=8,ea=c) +These are fix styles contributed by users, which can be used if +"LAMMPS is built with the appropriate package"_Section_start.html#2_3. + +"smd"_fix_smd.html :tb(c=4,ea=c) + :line Compute styles. See the "compute"_compute.html command for one-line diff --git a/doc/compute_ackland_atom.html b/doc/compute_ackland_atom.html index 91cbdb5fd0..69ae6b8b94 100644 --- a/doc/compute_ackland_atom.html +++ b/doc/compute_ackland_atom.html @@ -56,7 +56,11 @@ accessed by any command that uses per-atom computes as input. See this section for an overview of LAMMPS output options.
-Restrictions: none +
Restrictions: +
+This compute is part of the "user-ackland" package. It is only +enabled if LAMMPS was built with that package. See the Making +LAMMPS section for more info.
Related commands:
diff --git a/doc/compute_ackland_atom.txt b/doc/compute_ackland_atom.txt index 3f86b63c1d..15ec89995c 100644 --- a/doc/compute_ackland_atom.txt +++ b/doc/compute_ackland_atom.txt @@ -53,7 +53,11 @@ accessed by any command that uses per-atom computes as input. See "this section"_Section_howto.html#4_15 for an overview of LAMMPS output options. -[Restrictions:] none +[Restrictions:] + +This compute is part of the "user-ackland" package. It is only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] diff --git a/doc/fix_drag.html b/doc/fix_drag.html index 2c1d450d24..00143431a9 100644 --- a/doc/fix_drag.html +++ b/doc/fix_drag.html @@ -59,7 +59,8 @@ minimization.Related commands:
-fix spring, fix spring/self, +fix spring/rg, fix smd
Default: none
diff --git a/doc/fix_drag.txt b/doc/fix_drag.txt index f1825b324c..86de0d37d2 100644 --- a/doc/fix_drag.txt +++ b/doc/fix_drag.txt @@ -57,6 +57,7 @@ minimization"_minimize.html. [Related commands:] -"fix spring"_fix_spring.html +"fix spring"_fix_spring.html, "fix spring/self"_fix_spring_self.html, +"fix spring/rg"_fix_spring_rg.html, "fix smd"_fix_smd.html [Default:] none diff --git a/doc/fix_smd.html b/doc/fix_smd.html new file mode 100644 index 0000000000..1de409af35 --- /dev/null +++ b/doc/fix_smd.html @@ -0,0 +1,162 @@ + +Syntax: +
+fix ID group-ID smd type values keyword values ++
tether values = x y z R0 + x,y,z = point to which spring is tethered + R0 = distance of end of spring from tether point (distance units) + couple values = group-ID2 x y z R0 + group-ID2 = 2nd group to couple to fix group with a spring + x,y,z = direction of spring, automatically computed with 'auto' + R0 = distance of end of spring (distance units) ++ +
Examples: +
+fix pull cterm smd cvel 20.0 -0.00005 tether NULL NULL 100.0 0.0 +fix pull cterm smd cvel 20.0 -0.0001 tether 25.0 25 25.0 0.0 +fix stretch cterm smd cvel 20.0 0.0001 couple nterm auto auto auto 0.0 +fix pull cterm smd cfor 5.0 tether 25.0 25.0 25.0 0.0 ++
Description: +
+This fix implements several options of steered MD (SMD) as reviewed in +(Izrailev), which allows to induce conformational changes +in systems and to compute the potential of mean force (PMF) along the +assumed reaction coordinate (Park) based on Jarzynski's +equality (Jarzynski). This fix borrows a lot from fix +spring and fix setforce. +
+You can apply a moving spring force to a group of atoms (tether +style) or between two groups of atoms (couple style). The spring +can then be used in either constant velocity (cvel) mode or in +constant force (cfor) mode to induce transitions in your systems. +When running in tether style, you may need some way to fix some +other part of the system (e.g. via fix +spring/self) +
+The tether style attaches a spring between a point at a distance of +R0 away from a fixed point x,y,z and the center of mass of the fix +group of atoms. A restoring force of magnitude K (R - R0) Mi / M is +applied to each atom in the group where K is the spring constant, Mi +is the mass of the atom, and M is the total mass of all atoms in the +group. Note that K thus represents the total force on the group of +atoms, not a per-atom force. +
+In cvel mode the distance R is incremented or decremented +monotonously according to the pulling (or pushing) velocity. +In cfor mode a constant force is added and the actual distance +in direction of the spring is recorded. +
+The couple style links two groups of atoms together. The first +group is the fix group; the second is specified by group-ID2. The +groups are coupled together by a spring that is at equilibrium when +the two groups are displaced by a vector in direction x,y,z with +respect to each other and at a distance R0 from that displacement. +Note that x,y,z only provides a direction and will be internally +normalized. But since it represents the absolute displacement of +group-ID2 relative to the fix group, (1,1,0) is a different spring +than (-1,-1,0). For each vector component, the displacement can be +described with the auto parameter. In this case the direction is +recomputed in every step, which can be useful for steering a local +process where the whole object undergoes some other change. When the +relative positions and distance between the two groups are not in +equilibrium, the same spring force described above is applied to atoms +in each of the two groups. +
+For both the tether and couple styles, any of the x,y,z values can +be specified as NULL which means do not include that dimension in the +distance calculation or force application. +
+For constant velocity pulling (cvel mode), the running integral +over the pulling force in direction of the spring is recorded and +can then later be used to compute the potential of mean force (PMF) +by averaging over multiple independent trajectories along the same +pulling path. +
+Restart, fix_modify, output, run start/stop, minimize info: +
+The fix stores the direction of the spring, current pulling target +distance and the running PMF to binary restart files. +See the read_restart command for info on how to +re-specify a fix in an input script that reads a restart file, so that +the operation of the fix continues in an uninterrupted fashion. +
+None of the fix_modify options are relevant to this +fix. +
+This fix computes a vector list of 7 quantities, which can be accessed +by various output commands. The quantities +in the vector are in this order: the x-, y-, and z-component of the +pulling force, the total force in direction of the pull, the +equilibrium distance of the spring, the distance between the two +reference points, and finally the accumulated PMF (the sum of pulling +forces times displacement). +
+The force is the total force on the group of atoms by the spring. In +the case of the couple style, it is the force on the fix group +(group-ID) or the negative of the force on the 2nd group (group-ID2). +The vector values calculated by this fix are "extensive", meaning they +scale with the number of atoms in the simulation. +
+No parameter of this fix can be used with the start/stop keywords of +the run command. This fix is not invoked during energy +minimization. +
+Restrictions: +
+This fix is part of the "user-smd" package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +
+Related commands: +
+fix drag, fix spring, +fix spring/self, +fix spring/rg +
+Default: none +
+(Izrailev) Izrailev, Stepaniants, Isralewitz, Kosztin, Lu, Molnar, +Wriggers, Schulten. Computational Molecular Dynamics: Challenges, +Methods, Ideas, volume 4 of Lecture Notes in Computational Science and +Engineering, pp. 39-65. Springer-Verlag, Berlin, 1998. +
+(Park) +Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004) +
+(Jarzynski) +Jarzynski, Phys. Rev. Lett. 78, 2690 (1997) +
+ diff --git a/doc/fix_smd.txt b/doc/fix_smd.txt new file mode 100644 index 0000000000..9499b66ace --- /dev/null +++ b/doc/fix_smd.txt @@ -0,0 +1,151 @@ +"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 smd command :h3 + +[Syntax:] + +fix ID group-ID smd type values keyword values :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +smd = style name of this fix command :l +mode = {cvel} or {cfor} to select constant velocity or constant force SMD :l + {cvel} values = K vel + K = spring constant (force/distance units) + vel = velocity of pulling (distance/time units) + {cfor} values = force + force = pulling force (force units) +keyword = {tether} or {couple} :l + {tether} values = x y z R0 + x,y,z = point to which spring is tethered + R0 = distance of end of spring from tether point (distance units) + {couple} values = group-ID2 x y z R0 + group-ID2 = 2nd group to couple to fix group with a spring + x,y,z = direction of spring, automatically computed with 'auto' + R0 = distance of end of spring (distance units) :pre +:ule + +[Examples:] + +fix pull cterm smd cvel 20.0 -0.00005 tether NULL NULL 100.0 0.0 +fix pull cterm smd cvel 20.0 -0.0001 tether 25.0 25 25.0 0.0 +fix stretch cterm smd cvel 20.0 0.0001 couple nterm auto auto auto 0.0 +fix pull cterm smd cfor 5.0 tether 25.0 25.0 25.0 0.0 :pre + +[Description:] + +This fix implements several options of steered MD (SMD) as reviewed in +"(Izrailev)"_#Izrailev, which allows to induce conformational changes +in systems and to compute the potential of mean force (PMF) along the +assumed reaction coordinate "(Park)"_#Park based on Jarzynski's +equality "(Jarzynski)"_#Jarzynski. This fix borrows a lot from "fix +spring"_fix_spring.html and "fix setforce"_fix_setforce.html. + +You can apply a moving spring force to a group of atoms ({tether} +style) or between two groups of atoms ({couple} style). The spring +can then be used in either constant velocity ({cvel}) mode or in +constant force ({cfor}) mode to induce transitions in your systems. +When running in {tether} style, you may need some way to fix some +other part of the system (e.g. via "fix +spring/self"_fix_spring_self.html) + +The {tether} style attaches a spring between a point at a distance of +R0 away from a fixed point {x,y,z} and the center of mass of the fix +group of atoms. A restoring force of magnitude K (R - R0) Mi / M is +applied to each atom in the group where {K} is the spring constant, Mi +is the mass of the atom, and M is the total mass of all atoms in the +group. Note that {K} thus represents the total force on the group of +atoms, not a per-atom force. + +In {cvel} mode the distance R is incremented or decremented +monotonously according to the pulling (or pushing) velocity. +In {cfor} mode a constant force is added and the actual distance +in direction of the spring is recorded. + +The {couple} style links two groups of atoms together. The first +group is the fix group; the second is specified by group-ID2. The +groups are coupled together by a spring that is at equilibrium when +the two groups are displaced by a vector in direction {x,y,z} with +respect to each other and at a distance R0 from that displacement. +Note that {x,y,z} only provides a direction and will be internally +normalized. But since it represents the {absolute} displacement of +group-ID2 relative to the fix group, (1,1,0) is a different spring +than (-1,-1,0). For each vector component, the displacement can be +described with the {auto} parameter. In this case the direction is +recomputed in every step, which can be useful for steering a local +process where the whole object undergoes some other change. When the +relative positions and distance between the two groups are not in +equilibrium, the same spring force described above is applied to atoms +in each of the two groups. + +For both the {tether} and {couple} styles, any of the x,y,z values can +be specified as NULL which means do not include that dimension in the +distance calculation or force application. + +For constant velocity pulling ({cvel} mode), the running integral +over the pulling force in direction of the spring is recorded and +can then later be used to compute the potential of mean force (PMF) +by averaging over multiple independent trajectories along the same +pulling path. + +[Restart, fix_modify, output, run start/stop, minimize info:] + +The fix stores the direction of the spring, current pulling target +distance and the running PMF to "binary restart files"_restart.html. +See the "read_restart"_read_restart.html command for info on how to +re-specify a fix in an input script that reads a restart file, so that +the operation of the fix continues in an uninterrupted fashion. + +None of the "fix_modify"_fix_modify.html options are relevant to this +fix. + +This fix computes a vector list of 7 quantities, which can be accessed +by various "output commands"_Section_howto.html#4_15. The quantities +in the vector are in this order: the x-, y-, and z-component of the +pulling force, the total force in direction of the pull, the +equilibrium distance of the spring, the distance between the two +reference points, and finally the accumulated PMF (the sum of pulling +forces times displacement). + +The force is the total force on the group of atoms by the spring. In +the case of the {couple} style, it is the force on the fix group +(group-ID) or the negative of the force on the 2nd group (group-ID2). +The vector values calculated by this fix are "extensive", meaning they +scale with the number of atoms in the simulation. + +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. + +[Restrictions:] + +This fix is part of the "user-smd" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. + +[Related commands:] + +"fix drag"_fix_drag.html, "fix spring"_fix_spring.html, +"fix spring/self"_fix_spring_self.html, +"fix spring/rg"_fix_spring_rg.html + +[Default:] none + +:line + +:link(Israilev) +[(Izrailev)] Izrailev, Stepaniants, Isralewitz, Kosztin, Lu, Molnar, +Wriggers, Schulten. Computational Molecular Dynamics: Challenges, +Methods, Ideas, volume 4 of Lecture Notes in Computational Science and +Engineering, pp. 39-65. Springer-Verlag, Berlin, 1998. + +[(Park)] +Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004) + +[(Jarzynski)] +Jarzynski, Phys. Rev. Lett. 78, 2690 (1997) diff --git a/doc/fix_spring.html b/doc/fix_spring.html index 31a4b309e4..5cc7a56c90 100644 --- a/doc/fix_spring.html +++ b/doc/fix_spring.html @@ -113,8 +113,8 @@ minimization.Related commands:
-fix drag, fix spring/self, fix -spring/rg +
fix drag, fix spring/self, +fix spring/rg, fix smd
Default: none
diff --git a/doc/fix_spring.txt b/doc/fix_spring.txt index d0703a3df3..90cba2c5e4 100644 --- a/doc/fix_spring.txt +++ b/doc/fix_spring.txt @@ -106,7 +106,8 @@ minimization"_minimize.html. [Related commands:] -"fix drag"_fix_drag.html, "fix spring/self"_fix_spring_self.html, "fix -spring/rg"_fix_spring_rg.html +"fix drag"_fix_drag.html, "fix spring/self"_fix_spring_self.html, +"fix spring/rg"_fix_spring_rg.html, "fix smd"_fix_smd.html + [Default:] none diff --git a/doc/fix_spring_rg.html b/doc/fix_spring_rg.html index b5b9e8df4e..3c3d7b0fab 100644 --- a/doc/fix_spring_rg.html +++ b/doc/fix_spring_rg.html @@ -65,6 +65,7 @@ This fix is not invoked during energy minimizationRelated commands:
fix spring, fix spring/self +fix drag, fix smd
Default: none
diff --git a/doc/fix_spring_rg.txt b/doc/fix_spring_rg.txt index 1c5590cc2d..58808bed55 100644 --- a/doc/fix_spring_rg.txt +++ b/doc/fix_spring_rg.txt @@ -61,5 +61,6 @@ This fix is not invoked during "energy minimization"_minimize.html. [Related commands:] "fix spring"_fix_spring.html, "fix spring/self"_fix_spring_self.html +"fix drag"_fix_drag.html, "fix smd"_fix_smd.html [Default:] none diff --git a/doc/fix_spring_self.html b/doc/fix_spring_self.html index e1665f0d66..51e4869d0c 100644 --- a/doc/fix_spring_self.html +++ b/doc/fix_spring_self.html @@ -52,7 +52,8 @@ This fix is not invoked during energy minimizationRelated commands:
-fix drag, fix spring, +fix smd, fix spring/rg
Default: none
diff --git a/doc/fix_spring_self.txt b/doc/fix_spring_self.txt index 69084dd595..3b8436f7bd 100644 --- a/doc/fix_spring_self.txt +++ b/doc/fix_spring_self.txt @@ -49,6 +49,7 @@ This fix is not invoked during "energy minimization"_minimize.html. [Related commands:] -"fix drag"_fix_drag.html, "fix spring"_fix_spring.html +"fix drag"_fix_drag.html, "fix spring"_fix_spring.html, +"fix smd"_fix_smd.html, "fix spring/rg"_fix_spring_rg.html [Default:] none