forked from lijiext/lammps
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@2867 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
4000154ed3
commit
7d3db28119
|
@ -18,8 +18,8 @@
|
|||
<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 (can be INF) (time units)
|
||||
<LI>Tmax = maximum dt allowed (can be INF) (time units)
|
||||
<LI>Tmin = minimum dt allowed (can be NULL) (time units)
|
||||
<LI>Tmax = maximum dt allowed (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>
|
||||
|
@ -35,27 +35,29 @@ 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, 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>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 way.
|
||||
computed in the following manner.
|
||||
</P>
|
||||
<UL><LI>compute Vmax of any atom in group
|
||||
<LI>compute Amax of any atom in group
|
||||
<LI>dt1 = Xmax/Vmax
|
||||
<LI>dt2 = sqrt(2 Xmax/Amax)
|
||||
<LI>new dt = MIN(dt1,dt2)
|
||||
<LI>if dt < Tmin, dt = Tmin
|
||||
<LI>if dt > Tmax, dt = Tmax
|
||||
</UL>
|
||||
<P>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.
|
||||
<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
|
||||
|
|
|
@ -15,8 +15,8 @@ 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)
|
||||
Tmin = minimum dt allowed (can be NULL) (time units)
|
||||
Tmax = maximum dt allowed (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} :ul
|
||||
|
@ -31,27 +31,29 @@ 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.
|
||||
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
|
||||
"timestep"_timestep.html command. The new timestep size {dt} is
|
||||
computed in the following way.
|
||||
computed in the following manner.
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
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.
|
||||
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 "run style"_run_style.html is {respa}, this fix resets the
|
||||
outer loop (largest) timestep, which is the same timestep that the
|
||||
|
|
Loading…
Reference in New Issue