.. index:: fix dt/reset fix dt/reset command ==================== Syntax """""" .. parsed-literal:: fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ... * ID, group-ID are documented in :doc:`fix ` command * dt/reset = style name of this fix command * N = recompute dt every N timesteps * Tmin = minimum dt allowed which can be NULL (time units) * Tmax = maximum dt allowed which can be NULL (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* .. parsed-literal:: *units* value = *lattice* or *box* lattice = Xmax is defined in lattice units box = Xmax is defined in simulation box units Examples """""""" .. parsed-literal:: 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 Description """"""""""" 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. This fix overrides the timestep size setting made by the :doc:`timestep ` command. The new timestep size *dt* is computed in the following manner. For each atom, the timestep is computed that would cause it to displace *Xmax* 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 *Xmax*, though it may be smaller. Given this putative timestep for each atom, the minimum timestep value across all atoms is computed. Then the *Tmin* and *Tmax* bounds are applied, if specified. If one (or both) is specified as NULL, it is not applied. When the :doc:`run style ` is *respa*, this fix resets the outer loop (largest) timestep, which is the same timestep that the :doc:`timestep ` command sets. Note that the cumulative simulation time (in time units), which accounts for changes in the timestep size as a simulation proceeds, can be accessed by the :doc:`thermo_style time ` keyword. Restart, fix_modify, output, run start/stop, minimize info """""""""""""""""""""""""""""""""""""""""""""""""""""""""" No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global scalar which can be accessed by various :ref:`output commands `. The scalar stores the last timestep on which the timestep was reset to a new value. The scalar value calculated by this fix is "intensive". No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" none Related commands """""""""""""""" :doc:`timestep ` Default """"""" The option defaults is units = box. .. _liws: http://www.cfdem.com .. _ld: Manual.html .. _lc: Section_commands.html#comm