"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 dt/reset command :h3

[Syntax:]

fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ... :pre

ID, group-ID are documented in "fix"_fix.html command
dt/reset = style name of this fix command
N = recompute dt every N timesteps
Tmin = minimum dt allowed (can be INF) (time units)
Tmax = maximum dt allowed (can be INF) (time units)
Xmax = maximum distance for an atom to move in one timestep (distance units)
zero or more keyword/value pairs may be appended
keyword = {units} :ul
  {units} value = {lattice} or {box}
    lattice = Xmax is defined in lattice units
    box = Xmax is defined in simulation box units :pre

[Examples:]

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

[Description:]

Reset the timestep size every N steps during a run, 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.

This fix overrides the timestep size setting made by the
"timestep"_timestep.html command.  The new timestep size {dt} is
computed in the following way.

compute Vmax of any atom in group
compute Amax of any atom in group
dt1 = Xmax/Vmax
dt2 = sqrt(2 Xmax/Amax)
new dt = MIN(dt1,dt2)
if dt < Tmin, dt = Tmin
if dt > Tmax, dt = Tmax :ul

Vmax is the maximum velocity; Amax is the maximum acceleration =
force/mass.  Note that Tmin or Tmax can be specified as INF, in which
case one or both of the last 2 checks will not be performed.

When the "run style"_run_style.html is {respa}, this fix resets the
outer loop (largest) timestep, which is the same timestep that the
"timestep"_timestep.html command sets.

[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.

The current timestep size is stored as a scalar quantity by this fix.
The cumulative simulation time (in time units) is stored as the first
element of a vector.  Both these quantities can be accessed by various
"output commands"_Section_howto.html#4_15.  The scalar and vector
values calculated by this fix are "intensive", meaning they are
independent of 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:]

The cumulative time is zeroed when the fix is created and
continuously accrues thereafter.  Using the
"reset_timestep"_reset_timestep.html command while this fix is defined
will mess up the time accumulation.

[Related commands:]

"timestep"_timestep.html

[Default:]

The option defaults is units = lattice.
