git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@3250 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2009-10-29 22:41:53 +00:00
parent 1ed1964555
commit 5ae416a787
8 changed files with 460 additions and 11 deletions

View File

@ -273,7 +273,7 @@ in the command's documentation.
<P><A HREF = "delete_atoms.html">delete_atoms</A>, <A HREF = "delete_bonds.html">delete_bonds</A>,
<A HREF = "displace_atoms.html">displace_atoms</A>,
<A HREF = "displace_box.html">displace_box</A>, <A HREF = "minimize.html">minimize</A>,
<A HREF = "run.html">run</A>, <A HREF = "temper.html">temper</A>
<A HREF = "prd.html">prd</A>, <A HREF = "run.html">run</A>, <A HREF = "temper.html">temper</A>
</P>
<P>Miscellaneous:
</P>
@ -304,11 +304,11 @@ in the command's documentation.
<TR ALIGN="center"><TD ><A HREF = "improper_coeff.html">improper_coeff</A></TD><TD ><A HREF = "improper_style.html">improper_style</A></TD><TD ><A HREF = "include.html">include</A></TD><TD ><A HREF = "jump.html">jump</A></TD><TD ><A HREF = "kspace_modify.html">kspace_modify</A></TD><TD ><A HREF = "kspace_style.html">kspace_style</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "label.html">label</A></TD><TD ><A HREF = "lattice.html">lattice</A></TD><TD ><A HREF = "log.html">log</A></TD><TD ><A HREF = "mass.html">mass</A></TD><TD ><A HREF = "minimize.html">minimize</A></TD><TD ><A HREF = "min_modify.html">min_modify</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "min_style.html">min_style</A></TD><TD ><A HREF = "neigh_modify.html">neigh_modify</A></TD><TD ><A HREF = "neighbor.html">neighbor</A></TD><TD ><A HREF = "newton.html">newton</A></TD><TD ><A HREF = "next.html">next</A></TD><TD ><A HREF = "pair_coeff.html">pair_coeff</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_modify.html">pair_modify</A></TD><TD ><A HREF = "pair_style.html">pair_style</A></TD><TD ><A HREF = "pair_write.html">pair_write</A></TD><TD ><A HREF = "print.html">print</A></TD><TD ><A HREF = "processors.html">processors</A></TD><TD ><A HREF = "read_data.html">read_data</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "read_restart.html">read_restart</A></TD><TD ><A HREF = "region.html">region</A></TD><TD ><A HREF = "replicate.html">replicate</A></TD><TD ><A HREF = "reset_timestep.html">reset_timestep</A></TD><TD ><A HREF = "restart.html">restart</A></TD><TD ><A HREF = "run.html">run</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "run_style.html">run_style</A></TD><TD ><A HREF = "set.html">set</A></TD><TD ><A HREF = "shape.html">shape</A></TD><TD ><A HREF = "shell.html">shell</A></TD><TD ><A HREF = "special_bonds.html">special_bonds</A></TD><TD ><A HREF = "temper.html">temper</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "thermo.html">thermo</A></TD><TD ><A HREF = "thermo_modify.html">thermo_modify</A></TD><TD ><A HREF = "thermo_style.html">thermo_style</A></TD><TD ><A HREF = "timestep.html">timestep</A></TD><TD ><A HREF = "uncompute.html">uncompute</A></TD><TD ><A HREF = "undump.html">undump</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "unfix.html">unfix</A></TD><TD ><A HREF = "units.html">units</A></TD><TD ><A HREF = "variable.html">variable</A></TD><TD ><A HREF = "velocity.html">velocity</A></TD><TD ><A HREF = "write_restart.html">write_restart</A>
<TR ALIGN="center"><TD ><A HREF = "pair_modify.html">pair_modify</A></TD><TD ><A HREF = "pair_style.html">pair_style</A></TD><TD ><A HREF = "pair_write.html">pair_write</A></TD><TD ><A HREF = "prd.html">prd</A></TD><TD ><A HREF = "print.html">print</A></TD><TD ><A HREF = "processors.html">processors</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "read_data.html">read_data</A></TD><TD ><A HREF = "read_restart.html">read_restart</A></TD><TD ><A HREF = "region.html">region</A></TD><TD ><A HREF = "replicate.html">replicate</A></TD><TD ><A HREF = "reset_timestep.html">reset_timestep</A></TD><TD ><A HREF = "restart.html">restart</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "run.html">run</A></TD><TD ><A HREF = "run_style.html">run_style</A></TD><TD ><A HREF = "set.html">set</A></TD><TD ><A HREF = "shape.html">shape</A></TD><TD ><A HREF = "shell.html">shell</A></TD><TD ><A HREF = "special_bonds.html">special_bonds</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "temper.html">temper</A></TD><TD ><A HREF = "thermo.html">thermo</A></TD><TD ><A HREF = "thermo_modify.html">thermo_modify</A></TD><TD ><A HREF = "thermo_style.html">thermo_style</A></TD><TD ><A HREF = "timestep.html">timestep</A></TD><TD ><A HREF = "uncompute.html">uncompute</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "undump.html">undump</A></TD><TD ><A HREF = "unfix.html">unfix</A></TD><TD ><A HREF = "units.html">units</A></TD><TD ><A HREF = "variable.html">variable</A></TD><TD ><A HREF = "velocity.html">velocity</A></TD><TD ><A HREF = "write_restart.html">write_restart</A>
</TD></TR></TABLE></DIV>
<HR>
@ -343,10 +343,10 @@ description:
</P>
<DIV ALIGN=center><TABLE BORDER=1 >
<TR ALIGN="center"><TD ><A HREF = "compute_centro_atom.html">centro/atom</A></TD><TD ><A HREF = "compute_cna_atom.html">cna/atom</A></TD><TD ><A HREF = "compute_coord_atom.html">coord/atom</A></TD><TD ><A HREF = "compute_damage_atom.html">damage/atom</A></TD><TD ><A HREF = "compute_displace_atom.html">displace/atom</A></TD><TD ><A HREF = "compute_erotate_asphere.html">erotate/asphere</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute_erotate_sphere.html">erotate/sphere</A></TD><TD ><A HREF = "compute_group_group.html">group/group</A></TD><TD ><A HREF = "compute_heat_flux.html">heat/flux</A></TD><TD ><A HREF = "compute_ke.html">ke</A></TD><TD ><A HREF = "compute_ke_atom.html">ke/atom</A></TD><TD ><A HREF = "compute_pe.html">pe</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute_pe_atom.html">pe/atom</A></TD><TD ><A HREF = "compute_pressure.html">pressure</A></TD><TD ><A HREF = "compute_reduce.html">reduce</A></TD><TD ><A HREF = "compute_reduce.html">reduce/region</A></TD><TD ><A HREF = "compute_stress_atom.html">stress/atom</A></TD><TD ><A HREF = "compute_temp.html">temp</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute_temp_asphere.html">temp/asphere</A></TD><TD ><A HREF = "compute_temp_com.html">temp/com</A></TD><TD ><A HREF = "compute_temp_deform.html">temp/deform</A></TD><TD ><A HREF = "compute_temp_partial.html">temp/partial</A></TD><TD ><A HREF = "compute_temp_profile.html">temp/profile</A></TD><TD ><A HREF = "compute_temp_ramp.html">temp/ramp</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute_temp_region.html">temp/region</A></TD><TD ><A HREF = "compute_temp_sphere.html">temp/sphere</A>
<TR ALIGN="center"><TD ><A HREF = "compute_erotate_sphere.html">erotate/sphere</A></TD><TD ><A HREF = "compute_event_displace.html">event/displace</A></TD><TD ><A HREF = "compute_group_group.html">group/group</A></TD><TD ><A HREF = "compute_heat_flux.html">heat/flux</A></TD><TD ><A HREF = "compute_ke.html">ke</A></TD><TD ><A HREF = "compute_ke_atom.html">ke/atom</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute_pe.html">pe</A></TD><TD ><A HREF = "compute_pe_atom.html">pe/atom</A></TD><TD ><A HREF = "compute_pressure.html">pressure</A></TD><TD ><A HREF = "compute_reduce.html">reduce</A></TD><TD ><A HREF = "compute_reduce.html">reduce/region</A></TD><TD ><A HREF = "compute_stress_atom.html">stress/atom</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute_temp.html">temp</A></TD><TD ><A HREF = "compute_temp_asphere.html">temp/asphere</A></TD><TD ><A HREF = "compute_temp_com.html">temp/com</A></TD><TD ><A HREF = "compute_temp_deform.html">temp/deform</A></TD><TD ><A HREF = "compute_temp_partial.html">temp/partial</A></TD><TD ><A HREF = "compute_temp_profile.html">temp/profile</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute_temp_ramp.html">temp/ramp</A></TD><TD ><A HREF = "compute_temp_region.html">temp/region</A></TD><TD ><A HREF = "compute_temp_sphere.html">temp/sphere</A>
</TD></TR></TABLE></DIV>
<P>These are compute styles contributed by users, which can be used if

View File

@ -270,7 +270,7 @@ Actions:
"delete_atoms"_delete_atoms.html, "delete_bonds"_delete_bonds.html,
"displace_atoms"_displace_atoms.html,
"displace_box"_displace_box.html, "minimize"_minimize.html,
"run"_run.html, "temper"_temper.html
"prd"_prd.html, "run"_run.html, "temper"_temper.html
Miscellaneous:
@ -343,6 +343,7 @@ in the command's documentation.
"pair_modify"_pair_modify.html,
"pair_style"_pair_style.html,
"pair_write"_pair_write.html,
"prd"_prd.html,
"print"_print.html,
"processors"_processors.html,
"read_data"_read_data.html,
@ -462,6 +463,7 @@ description:
"displace/atom"_compute_displace_atom.html,
"erotate/asphere"_compute_erotate_asphere.html,
"erotate/sphere"_compute_erotate_sphere.html,
"event/displace"_compute_event_displace.html,
"group/group"_compute_group_group.html,
"heat/flux"_compute_heat_flux.html,
"ke"_compute_ke.html,

View File

@ -116,6 +116,7 @@ available in LAMMPS:
<LI><A HREF = "compute_displace_atom.html">displace/atom</A> - displacement of each atom
<LI><A HREF = "compute_erotate_asphere.html">erotate/asphere</A> - rotational energy of aspherical particles
<LI><A HREF = "compute_erotate_sphere.html">erotate/sphere</A> - rotational energy of spherical particles
<LI><A HREF = "compute_event_displace.html">event/displace</A> - detect event on atom displacement
<LI><A HREF = "compute_group_group.html">group/group</A> - energy/force between two groups of atoms
<LI><A HREF = "compute_heat_flux.html">heat/flux</A> - heat flux through a group of atoms
<LI><A HREF = "compute_ke.html">ke</A> - translational kinetic energy

View File

@ -113,6 +113,7 @@ available in LAMMPS:
"displace/atom"_compute_displace_atom.html - displacement of each atom
"erotate/asphere"_compute_erotate_asphere.html - rotational energy of aspherical particles
"erotate/sphere"_compute_erotate_sphere.html - rotational energy of spherical particles
"event/displace"_compute_event_displace.html - detect event on atom displacement
"group/group"_compute_group_group.html - energy/force between two groups of atoms
"heat/flux"_compute_heat_flux.html - heat flux through a group of atoms
"ke"_compute_ke.html - translational kinetic energy

View File

@ -0,0 +1,52 @@
<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>compute event/displace command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>compute ID group-ID event/displace threshold
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
<LI>event/displace = style name of this compute command
<LI>threshold = minimum distance a single particle must move to trigger an event (distance units)
</UL>
<P><B>Examples:</B>
</P>
<PRE>compute 1 all event/displace 0.5
</PRE>
<P><B>Description:</B>
</P>
<P>Define a computation that flags an event if any particle in the group
has moved a distance greater than the specified threshold distance
when compared to a previously stored reference state (i.e. the
previous event). This compute is typically used in conjunction with
the <A HREF = "prd.html">prd</A> command to detect if a transition to a new minimum
energy basin has occurred.
</P>
<P>This flag value calculates is equal to 0 if no particle has moved far
enough and 1 if one or more particles have moved further than the
threshold distance.
</P>
<P><B>Output info:</B>
</P>
<P>The scalar value calculated by this compute is "intensive", meaning it
is independent of the number of atoms in the simulation.
</P>
<P><B>Restrictions:</B> none
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "prd.html">prd</A>
</P>
<P><B>Default:</B> none
</P>
</HTML>

View File

@ -0,0 +1,47 @@
"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
compute event/displace command :h3
[Syntax:]
compute ID group-ID event/displace threshold :pre
ID, group-ID are documented in "compute"_compute.html command
event/displace = style name of this compute command
threshold = minimum distance anyparticle must move to trigger an event (distance units) :ul
[Examples:]
compute 1 all event/displace 0.5 :pre
[Description:]
Define a computation that flags an "event" if any particle in the
group has moved a distance greater than the specified threshold
distance when compared to a previously stored reference state
(i.e. the previous event). This compute is typically used in
conjunction with the "prd"_prd.html command, to detect if a transition
to a new minimum energy basin has occurred.
This value calculated by the compute is equal to 0 if no particle has
moved far enough, and equal to 1 if one or more particles have moved
further than the threshold distance.
[Output info:]
The scalar value calculated by this compute is "intensive", meaning it
is independent of the number of atoms in the simulation.
[Restrictions:] none
[Related commands:]
"prd"_prd.html
[Default:] none

182
doc/prd.html Normal file
View File

@ -0,0 +1,182 @@
<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>prd command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>prd steps t_event n_dephase t_dephase t_corr compute-ID seed keyword value ...
</PRE>
<UL><LI>steps = total # of timesteps to run (not including dephasing/quenching)
<LI>t_event = timestep interval between event checks
<LI>n_dephase = number of velocity randomizations to perform in each dephase run
<LI>t_dephase = number of timesteps to run dynamics after each velocity randomization during dephase
<LI>t_corr = number of timesteps within which 2 consecutive events are considered to be correlated
<LI>compute-id = ID of the compute used for event detection
<LI>random_seed = random # seed (positive integer)
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>min</I> or <I>temp</I> or <I>vel</I>
<PRE> <I>min</I> values = etol ftol maxiter maxeval
etol = stopping tolerance for energy, used in quenching
ftol = stopping tolerance for force, used in quenching
maxiter = max iterations of minimize, used in quenching
maxeval = max number of force/energy evaluations, used in quenching
<I>temp</I> value = Tdephase
Tdephase = target temperature for velocity randomization, used in dephasing
<I>vel</I> values = loop dist
loop = <I>all</I> or <I>local</I> or <I>geom</I>, used in dephasing
dist = <I>uniform</I> or <I>gaussian</I>, used in dephasing
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>prd 5000 100 10 10 100 1 54982
prd 5000 100 10 10 100 1 54982 maxiter 100
</PRE>
<P><B>Description:</B>
</P>
<P>Run Parallel Replica Dynamics (PRD) as described in <A HREF = "#Voter">(Voter)</A>.
PRD is a method for accelerated dynamics that is suitable for
infrequent-event systems that obey first-order kinetics. To quote
from the paper: "The dynamical evolution is characterized by
vibrational excursions within a potential basin, punctuated by
occasional transitions between basins." The transition probability is
characterized by p(t) = k*exp(-kt) where k is the rate constant.
</P>
<P>PRD is performed by replicating a system in a particular state on M
processor partitions. Dephasing is performed with <I>n_dephase</I>
velocity randomizations each followed by <I>t_dephase</I> MD timesteps to
eliminate correlations between replicas. If the <I>temp</I> keyword is not
specified, the target temperature for velocity randomization on each
replica is the temperature at the timestep replication occured,
otherwise, it is the temperature specified. Velocity randomization is
controlled using keywords similar to the <A HREF = "velocity.html">velocity</A>
command. Following dephasing, independent dynamics runs are performed
on each partition with periodic stops to check for transition events.
The number of timesteps between each event check is given by the
<I>t_event</I> parameter.
</P>
<P>Event detection is performed by quenching each replica to make a
comparison to the previous event. The minimum for detection of
the first event in each PRD run is obtained from quenching the
initial configuration. The decision as to whether or not a
transition event has occurred is determined by the compute with id
equal to <I>compute_id</I>. For example, the
<A HREF = "compute_event_displace.html">event/displace</A> compute will detect when
a given particle in the group has moved greater than a threshold
distance, signalling that an event has occurred.
</P>
<P>The algorithm used for quenching is determined by the
<A HREF = "min_style.html">min_style</A> command. Parameters for minimization are
specified with keywords analogous to the <A HREF = "minimize.html">minimize</A>
command. If a transition event is detected, all replicas are stopped,
and the simulation clock is advanced by the time accumulated on all
replica partitions. The clock time between events will be drawn from
p(t). The simulation on the replica where the transition occurred is
continued for <I>t_corr</I> timesteps to detect any correlated event
transitions. The final state from this continued run is replicated on
all partitions to start the whole process again with a new dephasing
run.
</P>
<P>Each replica within PRD can be simulated on 1 or multiple processors.
The processor partitions are controlled using the -partition
command-line switch (see <A HREF = "Section_start.html#2_6">this section</A>). By
default, the timestep, clock, event number, correlation flag, and
replica number are written to the screen/log at each event. The clock
value is the total number of timesteps accumulated on all replicas.
This value will not necessarily be a multiple of the current timestep
because the checks for correlated events occur on only 1 replica
(During a correlated event check, the clock advance will be equal to
the number of timesteps; otherwise, the clock advance will be equal
to the number of timesteps multiplied by the number of replicas.) The
correlation flag will be 1 when an event occurs within <I>t_corr</I>
timesteps from the previous event and 0 otherwise. The replica is the
replica number where the event occurred. When restarting a PRD run,
information from the last event that occurred will be written to the
screen. The PRD run will terminate when the total number of timesteps
(not including timesteps used for quenching or dephasing) is equal to
<I>steps</I>.
</P>
<P>The <A HREF = "thermo.html">thermo</A> for the dephasing, quenching, and dynamics
can be output to the log files specific to each partition. You will
notice that following dephasing and quenching, the timestep is reset
back its' value to continue dynamics at the correct timestep. Timing
information for the PRD run will be output to the screen/log files
for each replica. <A HREF = "dump.html">Dump files</A> will only be written at
timesteps corresponding to an event (during PRD, the dump frequency
will be ignored). The coordinates within a dump will correspond to
the new minimum obtained from quenching following a transition. The
timesteps written into the dump files correspond to the timestep
at which each event occurred and not the clock. A dump snapshot
corresponding to the initial minimum used for event detection is
written at the beginning of each PRD run.
</P>
<P>If a restart file is specified, a single restart file will be
written for a PRD run to allow the run to be continued from the
last event. It is important to note that restart files will
only be generated following correlated event detection after
each event. Therefore, the timestep of a restart file will
be equal to the timestep of the event plus <I>t_corr</I> if no
correlated event is detected and a larger timestep if
correlated events are found. If a PRD run ends without
detecting an event, no restart file will be written.
During PRD, the restart interval is taken to be the
number of events between each write, and not the number of
timesteps. This interval does not consider correlated
events. Restart files can use a different number of
processors or partitions, however, it is assumed that
<I>t_corr</I> is not changed when restarting a previous run.
</P>
<P><B>Restrictions:</B>
</P>
<P>The <I>steps</I> and <I>t_corr</I> settings must be integer multiples of
<I>t_event</I>.
</P>
<P>Runs restarted from restart file written during a PRD run will not
produce identical results due to changes in the random numbers used
for dephasing.
</P>
<P>This command cannot be used when any fixes are defined that keep track
of elapsed time to perform time-dependent operations. Examples
include the "ave" fixes such as <A HREF = "fix_ave_spatial.html">fix
ave/spatial</A>. Also <A HREF = "fix_dt_reset.html">fix
dt/reset</A> and <A HREF = "fix_deposity.html">fix deposit</A>.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "compute_event_displace.html">compute event/displace</A>,
<A HREF = "min_modify.html">min_modify</A>, <A HREF = "min_style.html">min_style</A>,
<A HREF = "run_style.html">run_style</A>, <A HREF = "minimize.html">minimize</A>,
<A HREF = "velocity.html">velocity</A>
</P>
<P><B>Default:</B>
</P>
<P>The option defaults are <I>min</I> = 40 50 0.1 0.1, no <I>temp</I> setting, and
<I>vel</I> = <I>geom</I> <I>gaussian</I>.
</P>
<HR>
<A NAME = "Voter"></A>
<P><B>(Voter)</B> Voter, Montalenti, Germann, Annual Review of Materials
Research 32, 321 (2002).
</P>
</HTML>

164
doc/prd.txt Normal file
View File

@ -0,0 +1,164 @@
"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
prd command :h3
[Syntax:]
prd steps t_event n_dephase t_dephase t_corr compute-ID seed keyword value ... :pre
steps = total # of timesteps to run (not including dephasing/quenching) :ulb,l
t_event = timestep interval between event checks :l
n_dephase = number of velocity randomizations to perform in each dephase run :l
t_dephase = number of timesteps to run dynamics after each velocity randomization during dephase :l
t_corr = number of timesteps within which 2 consecutive events are considered to be correlated :l
compute-id = ID of the compute used for event detection :l
random_seed = random # seed (positive integer) :l
zero or more keyword/value pairs may be appended :l
keyword = {min} or {temp} or {vel} :l
{min} values = etol ftol maxiter maxeval
etol = stopping tolerance for energy, used in quenching
ftol = stopping tolerance for force, used in quenching
maxiter = max iterations of minimize, used in quenching
maxeval = max number of force/energy evaluations, used in quenching
{temp} value = Tdephase
Tdephase = target temperature for velocity randomization, used in dephasing
{vel} values = loop dist
loop = {all} or {local} or {geom}, used in dephasing
dist = {uniform} or {gaussian}, used in dephasing :pre
:ule
[Examples:]
prd 5000 100 10 10 100 1 54982
prd 5000 100 10 10 100 1 54982 maxiter 100 :pre
[Description:]
Run Parallel Replica Dynamics (PRD) as described in "(Voter)"_#Voter.
PRD is a method for accelerated dynamics that is suitable for
infrequent-event systems that obey first-order kinetics. To quote
from the paper: "The dynamical evolution is characterized by
vibrational excursions within a potential basin, punctuated by
occasional transitions between basins." The transition probability is
characterized by p(t) = k*exp(-kt) where k is the rate constant.
PRD is performed by replicating a system in a particular state on M
processor partitions. Dephasing is performed with {n_dephase}
velocity randomizations each followed by {t_dephase} MD timesteps to
eliminate correlations between replicas. If the {temp} keyword is not
specified, the target temperature for velocity randomization on each
replica is the temperature at the timestep replication occured,
otherwise, it is the temperature specified. Velocity randomization is
controlled using keywords similar to the "velocity"_velocity.html
command. Following dephasing, independent dynamics runs are performed
on each partition with periodic stops to check for transition events.
The number of timesteps between each event check is given by the
{t_event} parameter.
Event detection is performed by quenching each replica to make a
comparison to the previous event. The minimum for detection of the
first event in each PRD run is obtained from quenching the initial
configuration. The decision as to whether or not a transition event
has occurred is determined by the compute with id equal to
{compute_id}. For example, the
"event/displace"_compute_event_displace.html compute will detect when
a given particle in the group has moved greater than a threshold
distance, signalling that an event has occurred.
The algorithm used for quenching is determined by the
"min_style"_min_style.html command. Parameters for minimization are
specified with keywords analogous to the "minimize"_minimize.html
command. If a transition event is detected, all replicas are stopped,
and the simulation clock is advanced by the time accumulated on all
replica partitions. The clock time between events will be drawn from
p(t). The simulation on the replica where the transition occurred is
continued for {t_corr} timesteps to detect any correlated event
transitions. The final state from this continued run is replicated on
all partitions to start the whole process again with a new dephasing
run.
Each replica within PRD can be simulated on 1 or multiple processors.
The processor partitions are controlled using the -partition
command-line switch (see "this section"_Section_start.html#2_6). By
default, the timestep, clock, event number, correlation flag, and
replica number are written to the screen/log at each event. The clock
value is the total number of timesteps accumulated on all replicas.
This value will not necessarily be a multiple of the current timestep
because the checks for correlated events occur on only 1 replica
(During a correlated event check, the clock advance will be equal to
the number of timesteps; otherwise, the clock advance will be equal
to the number of timesteps multiplied by the number of replicas.) The
correlation flag will be 1 when an event occurs within {t_corr}
timesteps from the previous event and 0 otherwise. The replica is the
replica number where the event occurred. When restarting a PRD run,
information from the last event that occurred will be written to the
screen. The PRD run will terminate when the total number of timesteps
(not including timesteps used for quenching or dephasing) is equal to
{steps}.
The "thermodynamic output"_thermo.html for the dephasing, quenching,
and dynamics will be output to the log files specific to each
partition. Following dephasing and quenching, the timestep is reset
back its' value to continue dynamics at the correct timestep. Timing
information for the PRD run is also output to the screen/log files for
each replica. "Dump files"_dump.html are be written at timesteps
corresponding to an event; during PRD, the requested dump frequency is
ignored. The coordinates within a dump will correspond to the new
minimum obtained from quenching following a transition. The timesteps
written into the dump files correspond to the timestep at which each
event occurred and not the clock. A dump snapshot corresponding to
the initial minimum used for event detection is written at the
beginning of each PRD run.
If a restart file is specified, a single restart file will be written
for a PRD run to allow the run to be continued from the last event.
It is important to note that restart files will only be generated
following correlated event detection after each event. Therefore, the
timestep of a restart file will be equal to the timestep of the event
plus {t_corr} if no correlated event is detected and a larger timestep
if correlated events are found. If a PRD run ends without detecting an
event, no restart file will be written. During PRD, the restart
interval is taken to be the number of events between each write, and
not the number of timesteps. This interval does not consider
correlated events. Restart files can use a different number of
processors or partitions, however, it is assumed that {t_corr} is not
changed when restarting a previous run.
[Restrictions:]
The {steps} and {t_corr} settings must be integer multiples of
{t_event}.
Runs restarted from restart file written during a PRD run will not
produce identical results due to changes in the random numbers used
for dephasing.
This command cannot be used when any fixes are defined that keep track
of elapsed time to perform time-dependent operations. Examples
include the "ave" fixes such as "fix
ave/spatial"_fix_ave_spatial.html. Also "fix
dt/reset"_fix_dt_reset.html and "fix deposit"_fix_deposity.html.
[Related commands:]
"compute event/displace"_compute_event_displace.html,
"min_modify"_min_modify.html, "min_style"_min_style.html,
"run_style"_run_style.html, "minimize"_minimize.html,
"velocity"_velocity.html
[Default:]
The option defaults are {min} = 40 50 0.1 0.1, no {temp} setting, and
{vel} = {geom} {gaussian}.
:line
:link(Voter)
[(Voter)] Voter, Montalenti, Germann, Annual Review of Materials
Research 32, 321 (2002).