From a21d4e4817af443e8a376bcc46804abedbff02c2 Mon Sep 17 00:00:00 2001
From: sjplimp <sjplimp@f3b2605a-c512-4ea7-a41b-209d697bcdaa>
Date: Wed, 5 Sep 2007 16:05:47 +0000
Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@830
 f3b2605a-c512-4ea7-a41b-209d697bcdaa

---
 doc/Section_commands.html |  8 ++---
 doc/Section_commands.txt  |  1 +
 doc/fix.html              |  1 +
 doc/fix.txt               |  1 +
 doc/fix_nve_limit.html    | 72 +++++++++++++++++++++++++++++++++++++++
 doc/fix_nve_limit.txt     | 67 ++++++++++++++++++++++++++++++++++++
 doc/pair_soft.html        |  5 +--
 doc/pair_soft.txt         |  5 +--
 8 files changed, 152 insertions(+), 8 deletions(-)
 create mode 100644 doc/fix_nve_limit.html
 create mode 100644 doc/fix_nve_limit.txt

diff --git a/doc/Section_commands.html b/doc/Section_commands.html
index 18a771c79b..a0c45a432e 100644
--- a/doc/Section_commands.html
+++ b/doc/Section_commands.html
@@ -321,10 +321,10 @@ description:
 <TR ALIGN="center"><TD ><A HREF = "fix_addforce.html">addforce</A></TD><TD ><A HREF = "fix_aveforce.html">aveforce</A></TD><TD ><A HREF = "fix_ave_spatial.html">ave/spatial</A></TD><TD ><A HREF = "fix_ave_time.html">ave/time</A></TD><TD ><A HREF = "fix_com.html">com</A></TD><TD ><A HREF = "fix_deform.html">deform</A></TD><TD ><A HREF = "fix_deposit.html">deposit</A></TD><TD ><A HREF = "fix_drag.html">drag</A></TD></TR>
 <TR ALIGN="center"><TD ><A HREF = "fix_efield.html">efield</A></TD><TD ><A HREF = "fix_enforce2d.html">enforce2d</A></TD><TD ><A HREF = "fix_freeze.html">freeze</A></TD><TD ><A HREF = "fix_gran_diag.html">gran/diag</A></TD><TD ><A HREF = "fix_gravity.html">gravity</A></TD><TD ><A HREF = "fix_gyration.html">gyration</A></TD><TD ><A HREF = "fix_heat.html">heat</A></TD><TD ><A HREF = "fix_indent.html">indent</A></TD></TR>
 <TR ALIGN="center"><TD ><A HREF = "fix_langevin.html">langevin</A></TD><TD ><A HREF = "fix_lineforce.html">lineforce</A></TD><TD ><A HREF = "fix_msd.html">msd</A></TD><TD ><A HREF = "fix_momentum.html">momentum</A></TD><TD ><A HREF = "fix_nph.html">nph</A></TD><TD ><A HREF = "fix_npt.html">npt</A></TD><TD ><A HREF = "fix_npt_asphere.html">npt/asphere</A></TD><TD ><A HREF = "fix_nve.html">nve</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "fix_nve_asphere.html">nve/asphere</A></TD><TD ><A HREF = "fix_nve_dipole.html">nve/dipole</A></TD><TD ><A HREF = "fix_nve_gran.html">nve/gran</A></TD><TD ><A HREF = "fix_nve_noforce.html">nve/noforce</A></TD><TD ><A HREF = "fix_nvt.html">nvt</A></TD><TD ><A HREF = "fix_nvt_asphere.html">nvt/asphere</A></TD><TD ><A HREF = "fix_nvt_sllod.html">nvt/sllod</A></TD><TD ><A HREF = "fix_orient_fcc.html">orient/fcc</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "fix_planeforce.html">planeforce</A></TD><TD ><A HREF = "fix_poems.html">poems</A></TD><TD ><A HREF = "fix_pour.html">pour</A></TD><TD ><A HREF = "fix_print.html">print</A></TD><TD ><A HREF = "fix_rdf.html">rdf</A></TD><TD ><A HREF = "fix_recenter.html">recenter</A></TD><TD ><A HREF = "fix_rigid.html">rigid</A></TD><TD ><A HREF = "fix_setforce.html">setforce</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "fix_shake.html">shake</A></TD><TD ><A HREF = "fix_spring.html">spring</A></TD><TD ><A HREF = "fix_spring_rg.html">spring/rg</A></TD><TD ><A HREF = "fix_spring_self.html">spring/self</A></TD><TD ><A HREF = "fix_temp_rescale.html">temp/rescale</A></TD><TD ><A HREF = "fix_tmd.html">tmd</A></TD><TD ><A HREF = "fix_viscous.html">viscous</A></TD><TD ><A HREF = "fix_wall_gran.html">wall/gran</A></TD></TR>
-<TR ALIGN="center"><TD ><A HREF = "fix_wall_lj126.html">wall/lj126</A></TD><TD ><A HREF = "fix_wall_lj93.html">wall/lj93</A></TD><TD ><A HREF = "fix_wall_reflect.html">wall/reflect</A></TD><TD ><A HREF = "fix_wiggle.html">wiggle</A> 
+<TR ALIGN="center"><TD ><A HREF = "fix_nve_asphere.html">nve/asphere</A></TD><TD ><A HREF = "fix_nve_dipole.html">nve/dipole</A></TD><TD ><A HREF = "fix_nve_gran.html">nve/gran</A></TD><TD ><A HREF = "fix_nve_limit.html">nve/limit</A></TD><TD ><A HREF = "fix_nve_noforce.html">nve/noforce</A></TD><TD ><A HREF = "fix_nvt.html">nvt</A></TD><TD ><A HREF = "fix_nvt_asphere.html">nvt/asphere</A></TD><TD ><A HREF = "fix_nvt_sllod.html">nvt/sllod</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "fix_orient_fcc.html">orient/fcc</A></TD><TD ><A HREF = "fix_planeforce.html">planeforce</A></TD><TD ><A HREF = "fix_poems.html">poems</A></TD><TD ><A HREF = "fix_pour.html">pour</A></TD><TD ><A HREF = "fix_print.html">print</A></TD><TD ><A HREF = "fix_rdf.html">rdf</A></TD><TD ><A HREF = "fix_recenter.html">recenter</A></TD><TD ><A HREF = "fix_rigid.html">rigid</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "fix_setforce.html">setforce</A></TD><TD ><A HREF = "fix_shake.html">shake</A></TD><TD ><A HREF = "fix_spring.html">spring</A></TD><TD ><A HREF = "fix_spring_rg.html">spring/rg</A></TD><TD ><A HREF = "fix_spring_self.html">spring/self</A></TD><TD ><A HREF = "fix_temp_rescale.html">temp/rescale</A></TD><TD ><A HREF = "fix_tmd.html">tmd</A></TD><TD ><A HREF = "fix_viscous.html">viscous</A></TD></TR>
+<TR ALIGN="center"><TD ><A HREF = "fix_wall_gran.html">wall/gran</A></TD><TD ><A HREF = "fix_wall_lj126.html">wall/lj126</A></TD><TD ><A HREF = "fix_wall_lj93.html">wall/lj93</A></TD><TD ><A HREF = "fix_wall_reflect.html">wall/reflect</A></TD><TD ><A HREF = "fix_wiggle.html">wiggle</A> 
 </TD></TR></TABLE></DIV>
 
 <HR>
diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt
index 2f61764647..36251751c4 100644
--- a/doc/Section_commands.txt
+++ b/doc/Section_commands.txt
@@ -403,6 +403,7 @@ description:
 "nve/asphere"_fix_nve_asphere.html,
 "nve/dipole"_fix_nve_dipole.html,
 "nve/gran"_fix_nve_gran.html,
+"nve/limit"_fix_nve_limit.html,
 "nve/noforce"_fix_nve_noforce.html,
 "nvt"_fix_nvt.html,
 "nvt/asphere"_fix_nvt_asphere.html,
diff --git a/doc/fix.html b/doc/fix.html
index 4e4bb699c0..ab40ccc149 100644
--- a/doc/fix.html
+++ b/doc/fix.html
@@ -99,6 +99,7 @@ for individual fixes for info on which ones can be restarted.
 <LI><A HREF = "fix_nve_asphere.html">fix nve/asphere</A> - NVT for aspherical particles
 <LI><A HREF = "fix_nve_dipole.html">fix nve/dipole</A> - NVE for point dipolar particles
 <LI><A HREF = "fix_nve_gran.html">fix nve/gran</A> - NVE for granular particles
+<LI><A HREF = "fix_nve_limit.html">fix nve/limit</A> - NVE with limited step length
 <LI><A HREF = "fix_nve_noforce.html">fix nve/noforce</A> - NVE without forces (v only)
 <LI><A HREF = "fix_nvt.html">fix nvt</A> - constant NVT time integration via Nose/Hoover
 <LI><A HREF = "fix_nvt_asphere.html">fix nvt/asphere</A> - NVT for aspherical particles
diff --git a/doc/fix.txt b/doc/fix.txt
index 05ad174ece..b6eafa05d4 100644
--- a/doc/fix.txt
+++ b/doc/fix.txt
@@ -98,6 +98,7 @@ Here is an alphabetic list of fix styles available in LAMMPS:
 "fix nve/asphere"_fix_nve_asphere.html - NVT for aspherical particles
 "fix nve/dipole"_fix_nve_dipole.html - NVE for point dipolar particles
 "fix nve/gran"_fix_nve_gran.html - NVE for granular particles
+"fix nve/limit"_fix_nve_limit.html - NVE with limited step length
 "fix nve/noforce"_fix_nve_noforce.html - NVE without forces (v only)
 "fix nvt"_fix_nvt.html - constant NVT time integration via Nose/Hoover
 "fix nvt/asphere"_fix_nvt_asphere.html - NVT for aspherical particles
diff --git a/doc/fix_nve_limit.html b/doc/fix_nve_limit.html
new file mode 100644
index 0000000000..945bc8ac82
--- /dev/null
+++ b/doc/fix_nve_limit.html
@@ -0,0 +1,72 @@
+<HTML>
+<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> 
+</CENTER>
+
+
+
+
+
+
+<HR>
+
+<H3>fix nve/limit command 
+</H3>
+<P><B>Syntax:</B>
+</P>
+<PRE>fix ID group-ID nve/limit xmax 
+</PRE>
+<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
+<LI>nve = style name of this fix command
+<LI>xmax = maximum distance an atom can move in one timestep (distance units) 
+</UL>
+<P><B>Examples:</B>
+</P>
+<PRE>fix 1 all nve/limit 0.1 
+</PRE>
+<P><B>Description:</B>
+</P>
+<P>Perform constant NVE updates of position and velocity for atoms in the
+group each timestep.  A limit is imposed on the maximum distance an
+atom can move in one timestep.  This is useful when starting a
+simulation with a configuration containing highly overlapped atoms.
+Normally this would generate huge forces which would blow atoms out of
+the simulation box, causing LAMMPS to stop with an error.
+</P>
+<P>Using this fix can overcome that problem.  Forces on atoms must still
+be computable (which typically means 2 atoms must have a separation
+distance > 0.0).  But large velocities generated by large forces are
+reset to a value that corresponds to a displacement of length <I>xmax</I>
+in a single timestep.  <I>Xmax</I> is specified in distance units; see the
+<A HREF = "units.html">units</A> command for details.  The value of <I>xmax</I> should be
+consistent with the neighbor skin distance and the frequency of
+neighbor list re-building, so that pairwise interactions are not
+missed on successive timesteps as atoms move.  See the
+<A HREF = "neighbor.html">neighbor</A> and <A HREF = "neigh_modify.html">neigh_modify</A> commands
+for details.
+</P>
+<P>Note that if a velocity reset occurs the integrator will not conserve
+energy.  On steps where no velocity resets occur, this integrator is
+exactly like the <A HREF = "fix_nve.html">fix nve</A> command.  Since forces are
+unaltered, pressures computed by thermodynamic output will still be
+very large for overlapped configurations.
+</P>
+<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B>
+</P>
+<P>No information about this fix is written to <A HREF = "restart.html">binary restart
+files</A>.  None of the <A HREF = "fix_modify.html">fix_modify</A> options
+are relevant to this fix.  No quantities calculated by this fix can be
+output by the <A HREF = "thermo_style.html">thermo_style custom</A> command.  No
+parameter of this fix can be used with the <I>start/stop</I> keywords of
+the <A HREF = "run.html">run</A> command.  This fix is not invoked during <A HREF = "minimize.html">energy
+minimization</A>.
+</P>
+<P><B>Restrictions:</B> none
+</P>
+<P><B>Related commands:</B>
+</P>
+<P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nve_noforce.html">fix nve/noforce</A>,
+<A HREF = "pair_soft.html">pair_style soft</A>
+</P>
+<P><B>Default:</B> none
+</P>
+</HTML>
diff --git a/doc/fix_nve_limit.txt b/doc/fix_nve_limit.txt
new file mode 100644
index 0000000000..2555580f4e
--- /dev/null
+++ b/doc/fix_nve_limit.txt
@@ -0,0 +1,67 @@
+"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/limit command :h3
+
+[Syntax:]
+
+fix ID group-ID nve/limit xmax :pre
+
+ID, group-ID are documented in "fix"_fix.html command
+nve = style name of this fix command
+xmax = maximum distance an atom can move in one timestep (distance units) :ul
+
+[Examples:]
+
+fix 1 all nve/limit 0.1 :pre
+
+[Description:]
+
+Perform constant NVE updates of position and velocity for atoms in the
+group each timestep.  A limit is imposed on the maximum distance an
+atom can move in one timestep.  This is useful when starting a
+simulation with a configuration containing highly overlapped atoms.
+Normally this would generate huge forces which would blow atoms out of
+the simulation box, causing LAMMPS to stop with an error.
+
+Using this fix can overcome that problem.  Forces on atoms must still
+be computable (which typically means 2 atoms must have a separation
+distance > 0.0).  But large velocities generated by large forces are
+reset to a value that corresponds to a displacement of length {xmax}
+in a single timestep.  {Xmax} is specified in distance units; see the
+"units"_units.html command for details.  The value of {xmax} should be
+consistent with the neighbor skin distance and the frequency of
+neighbor list re-building, so that pairwise interactions are not
+missed on successive timesteps as atoms move.  See the
+"neighbor"_neighbor.html and "neigh_modify"_neigh_modify.html commands
+for details.
+
+Note that if a velocity reset occurs the integrator will not conserve
+energy.  On steps where no velocity resets occur, this integrator is
+exactly like the "fix nve"_fix_nve.html command.  Since forces are
+unaltered, pressures computed by thermodynamic output will still be
+very large for overlapped configurations.
+
+[Restart, fix_modify, thermo 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 quantities calculated by this fix can be
+output by the "thermo_style custom"_thermo_style.html command.  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:] none
+
+[Related commands:]
+
+"fix nve"_fix_nve.html, "fix nve/noforce"_fix_nve_noforce.html,
+"pair_style soft"_pair_soft.html
+
+[Default:] none
diff --git a/doc/pair_soft.html b/doc/pair_soft.html
index 098d2de85b..caeaaea2f2 100644
--- a/doc/pair_soft.html
+++ b/doc/pair_soft.html
@@ -33,7 +33,8 @@ pair_coeff 1 1 0.0 60.0 3.0
 blow up as r goes to 0.  A is a pre-factor that varies in time from
 the start to the end of the run.  The <A HREF = "run.html">run</A> command documents
 how to make the ramping take place across multiple runs.  Rc is the
-cutoff.
+cutoff.  See the <A HREF = "fix_nve_limit.html">fix nve/limit</A> command for
+another way to push apart overlapping atoms.
 </P>
 <P>The following coefficients must be defined for each pair of atoms
 types via the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples
@@ -86,7 +87,7 @@ to be specified in an input script that reads a restart file.
 </P>
 <P><B>Related commands:</B>
 </P>
-<P><A HREF = "pair_coeff.html">pair_coeff</A>
+<P><A HREF = "pair_coeff.html">pair_coeff</A>, <A HREF = "fix_nve_limit.html">fix nve/limit</A>
 </P>
 <P><B>Default:</B> none
 </P>
diff --git a/doc/pair_soft.txt b/doc/pair_soft.txt
index 6894ced294..36a04a2c00 100644
--- a/doc/pair_soft.txt
+++ b/doc/pair_soft.txt
@@ -30,7 +30,8 @@ It is useful for pushing apart overlapping atoms, since it does not
 blow up as r goes to 0.  A is a pre-factor that varies in time from
 the start to the end of the run.  The "run"_run.html command documents
 how to make the ramping take place across multiple runs.  Rc is the
-cutoff.
+cutoff.  See the "fix nve/limit"_fix_nve_limit.html command for
+another way to push apart overlapping atoms.
 
 The following coefficients must be defined for each pair of atoms
 types via the "pair_coeff"_pair_coeff.html command as in the examples
@@ -83,6 +84,6 @@ to be specified in an input script that reads a restart file.
 
 [Related commands:]
 
-"pair_coeff"_pair_coeff.html
+"pair_coeff"_pair_coeff.html, "fix nve/limit"_fix_nve_limit.html
 
 [Default:] none
-- 
GitLab