lammps/doc/fix_dt_reset.html

100 lines
3.8 KiB
HTML

<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 dt/reset command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>dt/reset = style name of this fix command
<LI>N = recompute dt every N timesteps
<LI>Tmin = minimum dt allowed which can be NULL (time units)
<LI>Tmax = maximum dt allowed which can be NULL (time units)
<LI>Xmax = maximum distance for an atom to move in one timestep (distance units)
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>units</I>
</UL>
<PRE> <I>units</I> value = <I>lattice</I> or <I>box</I>
lattice = Xmax is defined in lattice units
box = Xmax is defined in simulation box units
</PRE>
<P><B>Examples:</B>
</P>
<PRE>fix 5 all dt/reset 10 1.0e-5 0.01 0.1
fix 5 all dt/reset 10 0.01 2.0 0.2 units box
</PRE>
<P><B>Description:</B>
</P>
<P>Reset the timestep size every N steps during a run, so that no atom
moves further than Xmax, based on current atom velocities and forces.
This can be useful when starting from a configuration with overlapping
atoms, where forces will be large. Or it can be useful when running
an impact simulation where one or more high-energy atoms collide with
a solid, causing a damage cascade.
</P>
<P>This fix overrides the timestep size setting made by the
<A HREF = "timestep.html">timestep</A> command. The new timestep size <I>dt</I> is
computed in the following manner.
</P>
<P>For each atom, the timestep is computed that would cause it to
displace <I>Xmax</I> on the next integration step, as a function of its
current velocity and force. Since performing this calculation exactly
would require the solution to a quartic equation, a cheaper estimate
is generated. The estimate is conservative in that the atom's
displacement is guaranteed not to exceed <I>Xmax</I>, though it may be
smaller.
</P>
<P>Given this putative timestep for each atom, the minimum timestep value
across all atoms is computed. Then the <I>Tmin</I> and <I>Tmax</I> bounds are
applied, if specified. If one (or both) is specified as NULL, it is
not applied.
</P>
<P>When the <A HREF = "run_style.html">run style</A> is <I>respa</I>, this fix resets the
outer loop (largest) timestep, which is the same timestep that the
<A HREF = "timestep.html">timestep</A> command sets.
</P>
<P><B>Restart, fix_modify, 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.
</P>
<P>This fix computes a global scalar and a global vector of length 2,
which can be accessed by various <A HREF = "Section_howto.html#howto_15">output
commands</A>. The scalar is the current
timestep size. The first element of the vector stores the cumulative
simulation time (in time units). The second element of the vector
stores the last timestep on which the timestep was reset to a new
value. The scalar and vector values calculated by this fix are
"intensive".
</P>
<P>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>
</P>
<P>The cumulative time is zeroed when the fix is created and continuously
accrues thereafter. Using the <A HREF = "reset_timestep.html">reset_timestep</A>
command while this fix is defined will mess up the time accumulation.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "timestep.html">timestep</A>
</P>
<P><B>Default:</B>
</P>
<P>The option defaults is units = lattice.
</P>
</HTML>