forked from lijiext/lammps
more updates to hyper docs
This commit is contained in:
parent
4a6f088c0b
commit
0c8ce199af
|
@ -47,12 +47,12 @@ compared to running for the same number of timesteps with normal MD.
|
|||
See the "hyper"_hyper.html doc page for a more general discussion of
|
||||
hyperdynamics and citations that explain both GHD and LHD.
|
||||
|
||||
The equations and logic used by this fix to perform GHD follow the
|
||||
description given in "(Voter2013)"_#Voter2013ghd. The bond-boost form
|
||||
of a bias potential for HD is due to Miron and Fichthorn as described
|
||||
in "(Miron)"_#Mironghd. In LAMMPS we use a simplified version of
|
||||
bond-boost GHD where a single bond in the system is biased at any one
|
||||
timestep.
|
||||
The equations and logic used by this fix and described here to perform
|
||||
GHD follow the description given in "(Voter2013)"_#Voter2013ghd. The
|
||||
bond-boost form of a bias potential for HD is due to Miron and
|
||||
Fichthorn as described in "(Miron)"_#Mironghd. In LAMMPS we use a
|
||||
simplified version of bond-boost GHD where a single bond in the system
|
||||
is biased at any one timestep.
|
||||
|
||||
Bonds are defined between each pair of I,J atoms whose R0ij distance
|
||||
is less than {cutbond}, when the system is in a quenched state
|
||||
|
@ -87,7 +87,7 @@ that Vij(max) is added to the normal interatomic potential that is
|
|||
computed between all atoms in the system at every step.
|
||||
|
||||
The derivative of Vij(max) with respect to the position of each atom
|
||||
in the Emax bond gives a force Fij(max) acting on the bond as
|
||||
in the Emax bond gives a bias force Fij(max) acting on the bond as
|
||||
|
||||
Fij(max) = - dVij(max)/dEij = 2 Vmax Eij / qfactor^2 for abs(Eij) < qfactor
|
||||
= 0 otherwise :pre
|
||||
|
@ -100,7 +100,7 @@ The time boost factor for the system is given each timestep I by
|
|||
Bi = exp(beta * Vij(max)) :pre
|
||||
|
||||
where beta = 1/kTequil, and {Tequil} is the temperature of the system
|
||||
and an arguement to this fix. Note that Bi >= 1 at every step.
|
||||
and an argument to this fix. Note that Bi >= 1 at every step.
|
||||
|
||||
NOTE: To run GHD, the input script must also use the "fix
|
||||
langevin"_fix_langevin.html command to thermostat the atoms at the
|
||||
|
@ -108,21 +108,21 @@ same {Tequil} as specified by this fix, so that the system is running
|
|||
constant-temperature (NVT) dynamics. LAMMPS does not check that this
|
||||
is done.
|
||||
|
||||
The elapsed system time t_hyper for a GHD simulation running for {N}
|
||||
The elapsed time t_hyper for a GHD simulation running for {N}
|
||||
timesteps is simply
|
||||
|
||||
t_hyper = Sum (i = 1 to N) Bi * dt :pre
|
||||
|
||||
where dt is the timestep size defined by the "timestep"_timestep.html
|
||||
command. The effective time acceleration due to GHD is thus t_hyper /
|
||||
N*dt, where the denominator is elapsed time for a normal MD run.
|
||||
N*dt, where N*dt is elapsed time for a normal MD run of N timesteps.
|
||||
|
||||
Note that in GHD, the boost factor varies from timestep to timestep.
|
||||
Likewise, which bond has Emax strain and thus which pair of atoms the
|
||||
bias potential is added to, will also vary from timestep to timestep.
|
||||
This in contrast to local hyperdynamics (LHD) where the boost factor
|
||||
is an input parameter; see the "fix hyper/local"_fix_hyper_local.html
|
||||
doc page for details.
|
||||
This is in contrast to local hyperdynamics (LHD) where the boost
|
||||
factor is an input parameter; see the "fix
|
||||
hyper/local"_fix_hyper_local.html doc page for details.
|
||||
|
||||
:line
|
||||
|
||||
|
@ -143,22 +143,32 @@ equilibrium (quenched) R0ij distance and the two atoms in the bond
|
|||
could still experience a non-zero bias force.
|
||||
|
||||
If {qfactor} is set too large, then transitions from one energy basin
|
||||
to another are affected because the bias potneial is non-zero at the
|
||||
to another are affected because the bias potential is non-zero at the
|
||||
transition state (e.g. saddle point). If {qfactor} is set too small
|
||||
than little boost is achieved because the Eij strain of some bond in
|
||||
the system will (nearly) always exceed {qfactor). A value of 0.3 for
|
||||
{qfactor} is typically a reasonable value.
|
||||
|
||||
The {Vmax} argument is the prefactor on the bias potential. It should
|
||||
be set to a value less than the smallest barrier height for an event
|
||||
to occur. Otherwise the applied bias potential may be large enough
|
||||
(when added to the interatomic potential) to produce a local energy
|
||||
basin with a maxima in the center. This can produce artificial energy
|
||||
minima in the same basin that trap an atom. Or if {Vmax} is even
|
||||
larger, it may induce an atom(s) to rapidly transition to another
|
||||
energy basin. Both cases are "bad dynamics" which violate the
|
||||
assumptions of GHD that guarantee an accelerated time-accurate
|
||||
trajectory of the system.
|
||||
The {Vmax} argument is the prefactor on the bias potential. Ideally,
|
||||
tt should be set to a value slightly less than the smallest barrier
|
||||
height for an event to occur. Otherwise the applied bias potential
|
||||
may be large enough (when added to the interatomic potential) to
|
||||
produce a local energy basin with a maxima in the center. This can
|
||||
produce artificial energy minima in the same basin that trap an atom.
|
||||
Or if {Vmax} is even larger, it may induce an atom(s) to rapidly
|
||||
transition to another energy basin. Both cases are "bad dynamics"
|
||||
which violate the assumptions of GHD that guarantee an accelerated
|
||||
time-accurate trajectory of the system.
|
||||
|
||||
Note that if {Vmax} is set too small, the GHD simulation will run
|
||||
correctly. There will just be fewer events because the hyper time
|
||||
(t_hyper equation above) will be shorter.
|
||||
|
||||
NOTE: If you have no physical intuition as to the smallest barrier
|
||||
height in your system, a reasonable strategy to determine the largest
|
||||
{Vmax} you can use for an LHD model, is to run a sequence of
|
||||
simulations with smaller and smaller {Vmax} values, until the event
|
||||
rate does not change.
|
||||
|
||||
The {Tequil} argument is the temperature at which the system is
|
||||
simulated; see the comment above about the "fix
|
||||
|
@ -167,7 +177,7 @@ beta term in the exponential factor that determines how much boost is
|
|||
achieved as a function of the bias potential.
|
||||
|
||||
In general, the lower the value of {Tequil} and the higher the value
|
||||
of {Vmax}, the more boost will be achieved by the GHD algorithm.
|
||||
of {Vmax}, the more boost will be achievable by the GHD algorithm.
|
||||
|
||||
:line
|
||||
|
||||
|
@ -204,18 +214,23 @@ The first 5 quantities are for the current timestep. Quantities 6-8
|
|||
are for the current hyper run. Quantities 9-11 are cummulative across
|
||||
multiple runs (since the fix was defined in the input script).
|
||||
|
||||
For value 7, drift is the distance an atom moves between timesteps
|
||||
when the bond list is reset, i.e. between events. Atoms involved in
|
||||
an event will typically move the greatest distance since others are
|
||||
typically oscillating around their lattice site.
|
||||
|
||||
For value 10, events are checked for by the "hyper"_hyper.html command
|
||||
once every {Nevent} timesteps. This value is the count of those
|
||||
timesteps on which one (or more) events was detected. It is NOT the
|
||||
number of distinct events, since more than one physical event may
|
||||
occur in the same {Nevent} time window.
|
||||
number of distinct events, since more than one event may occur in the
|
||||
same {Nevent} time window.
|
||||
|
||||
For value 11, each time the "hyper"_hyper.html command checks for an
|
||||
event, it invokes a compute to flag zero or more atoms as
|
||||
participating in an event. E.g. atoms that have displaced more than
|
||||
some distance from the previous quench state. Value 11 is the
|
||||
cummulative count of the number of atoms participating in any of the
|
||||
events that were found.
|
||||
participating in one or more events. E.g. atoms that have displaced
|
||||
more than some distance from the previous quench state. Value 11 is
|
||||
the cummulative count of the number of atoms participating in any of
|
||||
the events that were found.
|
||||
|
||||
The scalar and vector values calculated by this fix are all
|
||||
"intensive".
|
||||
|
|
|
@ -10,7 +10,7 @@ fix hyper/local command :h3
|
|||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID hyper/local cutbond qfactor Vmax Tequil Dcut alpha boost :pre
|
||||
fix ID group-ID hyper/local cutbond qfactor Vmax Tequil Dcut alpha Btarget :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
hyper/local = style name of this fix command :l
|
||||
|
@ -20,14 +20,9 @@ Vmax = estimated height of bias potential (energy units) :l
|
|||
Tequil = equilibration temperature (temperature units) :l
|
||||
Dcut = minimum distance between boosted bonds (distance units) :l
|
||||
alpha = boostostat relaxation time (time units) :l
|
||||
boost = desired time boost factor (unitless) :l
|
||||
Btarget = desired time boost factor (unitless) :l
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {histo} or {lost} or {check/bias} or {check/coeff}
|
||||
{histo} values = Nevery Nbin delta Nout
|
||||
Nevery = histogram bond bias coefficients every this many timesteps
|
||||
Nbin = # of histogram bins
|
||||
delta = width of each histogram bin
|
||||
Nout = output histogram counts every this many timesteps
|
||||
keyword = {lost} or {check/bias} or {check/coeff}
|
||||
{lostbond} value = error/warn/ignore
|
||||
{check/bias} values = Nevery error/warn/ignore
|
||||
{check/coeff} values = Nevery error/warn/ignore :pre
|
||||
|
@ -61,26 +56,26 @@ compared to running for the same number of timesteps with normal MD.
|
|||
See the "hyper"_hyper.html doc page for a more general discussion of
|
||||
hyperdynamics and citations that explain both GHD and LHD.
|
||||
|
||||
The equations and logic used by this fix to perform LHD follow the
|
||||
description given in "(Voter2013)"_#Voter2013lhd. The bond-boost form
|
||||
of a bias potential for HD is due to Miron and Fichthorn as described
|
||||
in "(Miron)"_#Mironlhd.
|
||||
The equations and logic used by this fix and described here to perform
|
||||
LHD follow the description given in "(Voter2013)"_#Voter2013lhd. The
|
||||
bond-boost form of a bias potential for HD is due to Miron and
|
||||
Fichthorn as described in "(Miron)"_#Mironlhd.
|
||||
|
||||
To understand this description, you should first read the description
|
||||
of the GHD algorithm on the "fix hyper/global"_fix_hyper/global.html
|
||||
doc page. This description of LHD builds on the GHD description.
|
||||
|
||||
The definition of bonds, Eij, and Emax are the same for GHD and LHD.
|
||||
The formula for Vij(max) and Fij(max) are also the same except for a
|
||||
The formulas for Vij(max) and Fij(max) are also the same except for a
|
||||
pre-factor Cij, explained below.
|
||||
|
||||
The bias energy Vij applied to a bond IJ with maximum strain is
|
||||
|
||||
Vij(max) = Cij * Vmax * (1 - (Eij/q)^2) for abs(Eij) < qfactor
|
||||
= 0 otherwise :pre
|
||||
= 0 otherwise :pre
|
||||
|
||||
The derivative of Vij(max) with respect to the position of each atom
|
||||
in the IJ bond gives a force Fij(max) acting on the bond as
|
||||
in the IJ bond gives a bias force Fij(max) acting on the bond as
|
||||
|
||||
Fij(max) = - dVij(max)/dEij = 2 Cij Vmax Eij / qfactor^2 for abs(Eij) < qfactor
|
||||
= 0 otherwise :pre
|
||||
|
@ -88,22 +83,76 @@ Fij(max) = - dVij(max)/dEij = 2 Cij Vmax Eij / qfactor^2 for abs(Eij) < qfacto
|
|||
which can be decomposed into an equal and opposite force acting on
|
||||
only the two I,J atoms in the IJ bond.
|
||||
|
||||
The key difference is that in GHD this bias energy and force is added
|
||||
(on a particular timestep) to only one bond (pair of atoms) in the
|
||||
system, the bond which has maximum strain Emax.
|
||||
The key difference is that in GHD a bias energy and force is added (on
|
||||
a particular timestep) to only one bond (pair of atoms) in the system,
|
||||
which is the bond with maximum strain Emax.
|
||||
|
||||
In LHD, the bias energy and force
|
||||
In LHD, a bias energy and force can be added to multiple bonds
|
||||
separated by the specified {Dcut} distance or more. A bond IJ is
|
||||
biased if it is the maximum strain bond within its local
|
||||
"neighborhood", which is defined as the bond IJ plus any neighbor
|
||||
bonds within a distance {Dcut} from IJ. The "distance" between bond
|
||||
IJ and bond KL is the minimum distance between any of the IK, IL, JK,
|
||||
JL pairs of atoms.
|
||||
|
||||
For a large system, multiple bonds will typically meet this
|
||||
requirement, and thus a bias potential Vij(max) will be applied to
|
||||
many bonds on the same timestep.
|
||||
|
||||
NOTE: Add eqs for boostostat and boost coeff.
|
||||
Explain how many bonds are boosted simultaneously
|
||||
and how to choose boost factor and initial Vmax.
|
||||
In LHD, all bonds store a Cij prefactor which appears in the Vij(max)
|
||||
and Fij(max) equations above. Note that the Cij factor scales the
|
||||
strength of the bias energy and forces whenever bond IJ is the maximum
|
||||
strain bond in its neighborhood.
|
||||
|
||||
Cij is initialized to 1.0 when a bond between the I,J atoms is first
|
||||
defined. The specified {Btarget} factor is then used to adjust the
|
||||
Cij prefactors for each bond every timestep in the following manner.
|
||||
|
||||
An instantaneous boost factor Bij is computed each timestep
|
||||
for each bond, as
|
||||
|
||||
Bij = exp(beta * Vkl(max)) :pre
|
||||
|
||||
where Vkl(max) is the bias energy of the maxstrain bond KL within bond
|
||||
IJ's neighborhood, beta = 1/kTequil, and {Tequil} is the temperature
|
||||
of the system and an argument to this fix.
|
||||
|
||||
NOTE: To run LHD, the input script must also use the "fix
|
||||
langevin"_fix_langevin.html command to thermostat the atoms at the
|
||||
same {Tequil} as specified by this fix, so that the system is running
|
||||
constant-temperature (NVT) dynamics. LAMMPS does not check that this
|
||||
is done.
|
||||
|
||||
Note that if IJ = KL, then bond IJ is a biased bond on that timestep,
|
||||
otherwise it is not. But regardless, the boost factor Bij can be
|
||||
thought of an estimate of time boost currently being applied within a
|
||||
local region centered on bond IJ. For LHD, we want this to be the
|
||||
specified {Btarget} value everywhere in the simulation domain.
|
||||
|
||||
To accomplish this, if Bij < Btarget, the Cij prefactor for bond IJ is
|
||||
incremented on the current timestep by an amount proportional to the
|
||||
inverse of the specified {alpha} and the difference (Bij - Btarget).
|
||||
Conversely if Bij > Btarget, Cij is decremented by the same amount.
|
||||
This procedure is termed "boostostatting" in
|
||||
"(Voter2013)"_#Voter2013lhd. It drives all of the individual Cij to
|
||||
values such that when Vij{max} is applied as a bias to bond IJ, the
|
||||
resulting boost factor Bij will be close to {Btarget} on average.
|
||||
Thus the LHD time acceleration factor for the overall system is
|
||||
effectively {Btarget}.
|
||||
|
||||
Note that in LHD, the boost factor {Btarget} is specified by the user.
|
||||
This is in contrast to global hyperdynamics (GHD) where the boost
|
||||
factor varies each timestep and is computed as a function of {Vmax},
|
||||
Emax, and {Tequil}; see the "fix hyper/global"_fix_hyper_global.html
|
||||
doc page for details.
|
||||
|
||||
:line
|
||||
|
||||
Here is additional information on the input parameters for GHD.
|
||||
Here is additional information on the input parameters for LHD.
|
||||
|
||||
Note that the {cutbond}, {qfactor}, and {Tequil} arguments have the
|
||||
same meaning as for GHD. The {Vmax} argument is slightly different.
|
||||
The {Dcut}, {alpha}, and {Btarget} parameters are unique to LHD.
|
||||
|
||||
The {cutbond} argument is the cutoff distance for defining bonds
|
||||
between pairs of nearby atoms. A pair of I,J atoms in their
|
||||
|
@ -120,56 +169,92 @@ equilibrium (quenched) R0ij distance and the two atoms in the bond
|
|||
could still experience a non-zero bias force.
|
||||
|
||||
If {qfactor} is set too large, then transitions from one energy basin
|
||||
to another are affected because the bias potneial is non-zero at the
|
||||
to another are affected because the bias potential is non-zero at the
|
||||
transition state (e.g. saddle point). If {qfactor} is set too small
|
||||
than little boost can be achieved because the Eij strain of some bond in
|
||||
the system will (nearly) always exceed {qfactor). A value of 0.3 for
|
||||
{qfactor} is typically a reasonable value.
|
||||
|
||||
What about requested boost
|
||||
The {Vmax} argument is a fixed prefactor on the bias potential. There
|
||||
is a also a dynamic prefactor Cij, driven by the choice of {Btarget}
|
||||
as discussed above. The product of these should be a value less than
|
||||
the smallest barrier height for an event to occur. Otherwise the
|
||||
applied bias potential may be large enough (when added to the
|
||||
interatomic potential) to produce a local energy basin with a maxima
|
||||
in the center. This can produce artificial energy minima in the same
|
||||
basin that trap an atom. Or if Cij*{Vmax} is even larger, it may
|
||||
induce an atom(s) to rapidly transition to another energy basin. Both
|
||||
cases are "bad dynamics" which violate the assumptions of LHD that
|
||||
guarantee an accelerated time-accurate trajectory of the system.
|
||||
|
||||
|
||||
The {Vmax} argument is the prefactor on the bias potential. It should
|
||||
be set to a value less than the smallest barrier height for an event
|
||||
to occur. Otherwise the applied bias potential may be large enough
|
||||
(when added to the interatomic potential) to produce a local energy
|
||||
basin with a maxima in the center. This can produce artificial energy
|
||||
minima in the same basin that trap an atom. Or if {Vmax} is even
|
||||
larger, it may induce an atom(s) to rapidly transition to another
|
||||
energy basin. Both cases are "bad dynamics" which violate the
|
||||
assumptions of GHD that guarantee an accelerated time-accurate
|
||||
trajectory of the system.
|
||||
NOTE: It may seem that {Vmax} can be set to any value, and Cij will
|
||||
compensate to reduce the overall prefactor if necessary. However the
|
||||
Cij are initialized to 1.0 and the boostostatting procedure typically
|
||||
operates slowly enough that there can be a time period of bad dynamics
|
||||
if {Vmax} is set too large. A better strategy is to set {Vmax} to the
|
||||
smallest barrier height for an event (the same as for GHD), so that
|
||||
the Cij remain near unity.
|
||||
|
||||
The {Tequil} argument is the temperature at which the system is
|
||||
simulated; see the comment above about the "fix
|
||||
langevin"_fix_langevin.html thermostatting. It is also part of the
|
||||
beta term in the exponential factor that determines how much boost is
|
||||
achieved as a function of the bias potential.
|
||||
achieved as a function of the bias potential. See the discussion of
|
||||
the {Btarget} argument below.
|
||||
|
||||
In general, the lower the value of {Tequil} and the higher the value
|
||||
of {Vmax}, the more boost will be achieved by the GHD algorithm.
|
||||
As discussed above, the {Dcut} argument is the distance required
|
||||
between two locally maxstrain bonds for them to both be selected as
|
||||
biased bonds on the same timestep. Computationally, the larger {Dcut}
|
||||
is, the more work (computation and communication) must be done each
|
||||
timestep within the LHD algorithm. And the fewer bonds can be
|
||||
simultaneously biased, which may mean the specified {Btarget} time
|
||||
acceleration cannot be achieved.
|
||||
|
||||
The {Dcut} argument is the distance required between two bonds for
|
||||
them to be selected as both being boosted. The distance is between
|
||||
the center points of each bond. Actually between any pair of atoms in
|
||||
either bond.
|
||||
Physically {Dcut} should be a long enough distance that biasing two
|
||||
pairs of atoms that close together will not influence the dynamics of
|
||||
each pair. E.g. something like 2x the cutoff of the interatomic
|
||||
potential. In practice a {Dcut} value of ~10 Angstroms seems to work
|
||||
well for many solid-state systems.
|
||||
|
||||
The {alpha} argument is a pre-factor on the update equation
|
||||
for each atom's boostostat:
|
||||
As described above the {alpha} argument is a pre-factor in the
|
||||
boostostat update equation for each bond's Cij prefactor. {Alpha} is
|
||||
specified in time units, similar to other thermostat or barostat
|
||||
damping parameters. It is roughly the physical time it will take the
|
||||
boostostat to adjust a Cij value from a too high (or too low) value to
|
||||
a correct one. An {alpha} setting of a few ps is typically good for
|
||||
solid-state systems. Note that the {alpha} argument here is the
|
||||
inverse of the alpha parameter discussed in
|
||||
"(Voter2013)"_#Voter2013lhd.
|
||||
|
||||
NOTE: give equation above
|
||||
The {Btarget} argument is the desired time boost factor (a value > 1)
|
||||
that all the atoms in the system will experience. The elapsed time
|
||||
t_hyper for an LHD simulation running for {N} timesteps is simply
|
||||
|
||||
Note that the units for {alpha} are in time units, similar
|
||||
to other thermostat or barostat damping parameters
|
||||
t_hyper = Btarget * N*dt :pre
|
||||
|
||||
The {boost} argument is the desired boost factor (e.g. 100x)
|
||||
that all the atoms in the system will experience.
|
||||
where dt is the timestep size defined by the "timestep"_timestep.html
|
||||
command. The effective time acceleration due to LHD is thus t_hyper /
|
||||
N*dt = Btarget, where N*dt is elapsed time for a normal MD run
|
||||
of N timesteps.
|
||||
|
||||
NOTE: explain how to choose good value for this. If this parameter is
|
||||
chosen to be too large, then the bias potential applied to pairs of
|
||||
bonded atoms may become unphysically large, leading to bad dynamics.
|
||||
If chosen too small, the hyperdynamics run may be inefficient in the
|
||||
sense that events take a long time to occur.
|
||||
You cannot choose an arbitrarily large setting for {Btarget}. The
|
||||
maximum value you should choose is
|
||||
|
||||
Btarget = exp(beta * Vsmall) :pre
|
||||
|
||||
where Vsmall is the smallest event barrier height in your system, beta
|
||||
= 1/kTequil, and {Tequil} is the specified temperature of the system
|
||||
(both by this fix and the Langevin thermostat).
|
||||
|
||||
Note that if {Btarget} is set smaller than this, the LHD simulation
|
||||
will run correctly. There will just be fewer events because the hyper
|
||||
time (t_hyper equation above) will be shorter.
|
||||
|
||||
NOTE: If you have no physical intuition as to the smallest barrier
|
||||
height in your system, a reasonable strategy to determine the largest
|
||||
{Btarget} you can use for an LHD model, is to run a sequence of
|
||||
simulations with smaller and smaller {Btarget} values, until the event
|
||||
rate does not change.
|
||||
|
||||
:line
|
||||
|
||||
|
@ -189,21 +274,20 @@ the bias potential (energy units) applied on the current timestep,
|
|||
summed over all biased bonds. The vector stores the following
|
||||
quantities:
|
||||
|
||||
1 = # of boosted bonds on this step
|
||||
2 = max strain of any bond on this step (unitless)
|
||||
3 = average bias potential for all bonds on this step (energy units)
|
||||
4 = average bonds/atom on this step
|
||||
5 = average neighbor bonds/bond on this step :ul
|
||||
1 = # of biased bonds on this step
|
||||
2 = max strain Eij of any bond on this step (unitless)
|
||||
3 = average bias potential for all biased bonds on this step (energy units)
|
||||
4 = average # of bonds/atom on this step
|
||||
5 = average neighbor bonds/bond on this step within {Dcut} :ul
|
||||
|
||||
6 = fraction of steps and bonds with no bias during this run
|
||||
7 = max drift distance of any atom during this run (distance units)
|
||||
8 = max bond length during this run (distance units)
|
||||
9 = average # of boosted bonds/step during this run
|
||||
10 = average bias potential for all bonds during this run (energy units)
|
||||
11 = max bias potential for any bond during this run (energy units)
|
||||
12 = min bias potential for any bond during this run (energy units)
|
||||
13 = max distance from my box of any ghost atom with maxstrain < qfactor during th
|
||||
is run (distance units)
|
||||
9 = average # of biased bonds/step during this run
|
||||
10 = average bias potential for all biased bonds during this run (energy units)
|
||||
11 = max bias potential for any biased bond during this run (energy units)
|
||||
12 = min bias potential for any biased bond during this run (energy units)
|
||||
13 = max distance from my sub-box of any ghost atom with maxstrain < qfactor during this run (distance units)
|
||||
14 = max distance outside my box of any ghost atom with any maxstrain during this run (distance units)
|
||||
15 = count of ghost neighbor atoms not found on reneighbor steps during this run
|
||||
16 = count of lost bond partners during this run
|
||||
|
@ -222,13 +306,60 @@ hyper run is performed. Quantities 20-23 are cummulative across
|
|||
multiple runs (since the fix was defined in the input script).
|
||||
|
||||
For value 6, the numerator is a count of all biased bonds on every
|
||||
timestep whose bias value = 0.0. The denominator is the count of all
|
||||
biased bonds on all timesteps.
|
||||
timestep whose bias energy = 0.0 due to Eij >= {qfactor}. The
|
||||
denominator is the count of all biased bonds on all timesteps.
|
||||
|
||||
For value 7, drift is the distance an atom moves between timesteps
|
||||
when the bond list is reset, i.e. between events. Atoms involved in
|
||||
an event will typically move the greatest distance since others are
|
||||
typically oscillating around their lattice site.
|
||||
|
||||
For values 13 and 14, the maxstrain of a ghost atom is the maxstrain
|
||||
of any bond it is part of, and it is checked for ghost atoms within
|
||||
the bond neighbor cutoff.
|
||||
|
||||
Values 15-19 are mostly useful for debugging and diagnositc purposes.
|
||||
|
||||
For values 15-17, it is possible that a ghost atom owned by another
|
||||
processor will move far enough (e.g. as part of an event-in-progress)
|
||||
that it will no longer be within the communication cutoff distance for
|
||||
acquiring ghost atoms. Likewise it may be a ghost atom bond partner
|
||||
that cannot be found because it has moved too far. These values count
|
||||
those occurrences. Because they typically involve atoms that are part
|
||||
of events, they do not usually indicate bad dynamics. Value 16 is the
|
||||
average bias coefficient for bonds where a partner atom was lost.
|
||||
|
||||
For value 18, no two bonds should be biased if they are within a
|
||||
{Dcut} distance of each other. This value should be zero, indicating
|
||||
that no pair of bonds "overlap", meaning they are closer than {Dcut}
|
||||
from each other.
|
||||
|
||||
For value 19, the same bias coefficient is stored by both atoms in an
|
||||
IJ bond. This value should be zero, indicating that for all bonds,
|
||||
each atom in the bond stores the a bias coefficient with the same
|
||||
value.
|
||||
|
||||
Value 20 is simply the specified {boost} factor times the number of
|
||||
timestep times the timestep size.
|
||||
|
||||
For value 21, events are checked for by the "hyper"_hyper.html command
|
||||
once every {Nevent} timesteps. This value is the count of those
|
||||
timesteps on which one (or more) events was detected. It is NOT the
|
||||
number of distinct events, since more than one event may occur in the
|
||||
same {Nevent} time window.
|
||||
|
||||
For value 22, each time the "hyper"_hyper.html command checks for an
|
||||
event, it invokes a compute to flag zero or more atoms as
|
||||
participating in one or more events. E.g. atoms that have displaced
|
||||
more than some distance from the previous quench state. Value 22 is
|
||||
the cummulative count of the number of atoms participating in any of
|
||||
the events that were found.
|
||||
|
||||
Value 23 tallies the number of new bonds created by the bond reset
|
||||
operation. Bonds between a specific I,J pair of atoms may persist for
|
||||
the entire hyperdynamics simulation if neither I or J are involved in
|
||||
an event.
|
||||
|
||||
The scalar and vector values calculated by this fix are all
|
||||
"intensive".
|
||||
|
||||
|
@ -256,4 +387,3 @@ LAMMPS"_Section_start.html#start_3 section for more info.
|
|||
|
||||
:link(Mironlhd)
|
||||
[(Miron)] R. A. Miron and K. A. Fichthorn, J Chem Phys, 119, 6210 (2003).
|
||||
|
||||
|
|
Loading…
Reference in New Issue