112 lines
4.3 KiB
Plaintext
112 lines
4.3 KiB
Plaintext
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
:link(ld,Manual.html)
|
|
:link(lc,Commands_all.html)
|
|
|
|
:line
|
|
|
|
fix grem command :h3
|
|
|
|
[Syntax:]
|
|
|
|
fix ID group-ID grem lambda eta H0 thermostat-ID :pre
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
|
grem = style name of this fix command :l
|
|
lambda = intercept parameter of linear effective temperature function :l
|
|
eta = slope parameter of linear effective temperature function :l
|
|
H0 = shift parameter of linear effective temperature function :l
|
|
thermostat-ID = ID of Nose-Hoover thermostat or barostat used in simulation :l,ule
|
|
|
|
[Examples:]
|
|
|
|
fix fxgREM all grem 400 -0.01 -30000 fxnpt
|
|
thermo_modify press fxgREM_press :pre
|
|
|
|
fix fxgREM all grem 502 -0.15 -80000 fxnvt :pre
|
|
|
|
[Description:]
|
|
|
|
This fix implements the molecular dynamics version of the generalized
|
|
replica exchange method (gREM) originally developed by "(Kim)"_#Kim2010,
|
|
which uses non-Boltzmann ensembles to sample over first order phase
|
|
transitions. The is done by defining replicas with an enthalpy
|
|
dependent effective temperature
|
|
|
|
:c,image(Eqs/fix_grem.jpg)
|
|
|
|
with {eta} negative and steep enough to only intersect the
|
|
characteristic microcanonical temperature (Ts) of the system once,
|
|
ensuring a unimodal enthalpy distribution in that replica. {Lambda} is
|
|
the intercept and effects the generalized ensemble similar to how
|
|
temperature effects a Boltzmann ensemble. {H0} is a reference
|
|
enthalpy, and is typically set as the lowest desired sampled enthalpy.
|
|
Further explanation can be found in our recent papers
|
|
"(Malolepsza)"_#Malolepsza.
|
|
|
|
This fix requires a Nose-Hoover thermostat fix reference passed to the
|
|
grem as {thermostat-ID}. Two distinct temperatures exist in this
|
|
generalized ensemble, the effective temperature defined above, and a
|
|
kinetic temperature that controls the velocity distribution of
|
|
particles as usual. Either constant volume or constant pressure
|
|
algorithms can be used.
|
|
|
|
The fix enforces a generalized ensemble in a single replica
|
|
only. Typically, this ideology is combined with replica exchange with
|
|
replicas differing by {lambda} only for simplicity, but this is not
|
|
required. A multi-replica simulation can be run within the LAMMPS
|
|
environment using the "temper/grem"_temper_grem.html command. This
|
|
utilizes LAMMPS partition mode and requires the number of available
|
|
processors be on the order of the number of desired replicas. A
|
|
100-replica simulation would require at least 100 processors (1 per
|
|
world at minimum). If a many replicas are needed on a small number of
|
|
processors, multi-replica runs can be run outside of LAMMPS. An
|
|
example of this can be found in examples/USER/misc/grem and has no
|
|
limit on the number of replicas per processor. However, this is very
|
|
inefficient and error prone and should be avoided if possible.
|
|
|
|
In general, defining the generalized ensembles is unique for every
|
|
system. When starting a many-replica simulation without any knowledge
|
|
of the underlying microcanonical temperature, there are several tricks
|
|
we have utilized to optimize the process. Choosing a less-steep {eta}
|
|
yields broader distributions, requiring fewer replicas to map the
|
|
microcanonical temperature. While this likely struggles from the same
|
|
sampling problems gREM was built to avoid, it provides quick insight
|
|
to Ts. Initially using an evenly-spaced {lambda} distribution
|
|
identifies regions where small changes in enthalpy lead to large
|
|
temperature changes. Replicas are easily added where needed.
|
|
|
|
:line
|
|
|
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
|
|
|
No information about this fix is written to "binary restart
|
|
files"_restart.html.
|
|
|
|
The "thermo_modify"_thermo_modify.html {press} option is supported
|
|
by this fix to add the rescaled kinetic pressure as part of
|
|
"thermodynamic output"_thermo_style.html.
|
|
|
|
[Restrictions:]
|
|
|
|
This fix is part of the USER-MISC package. It is only enabled if
|
|
LAMMPS was built with that package. See the "Build
|
|
package"_Build_package.html doc page for more info.
|
|
|
|
[Related commands:]
|
|
|
|
"temper/grem"_temper_grem.html, "fix nvt"_fix_nh.html, "fix
|
|
npt"_fix_nh.html, "thermo_modify"_thermo_modify.html
|
|
|
|
[Default:] none
|
|
|
|
:line
|
|
|
|
:link(Kim2010)
|
|
[(Kim)] Kim, Keyes, Straub, J Chem. Phys, 132, 224107 (2010).
|
|
|
|
:link(Malolepsza)
|
|
[(Malolepsza)] Malolepsza, Secor, Keyes, J Phys Chem B 119 (42),
|
|
13379-13384 (2015).
|