git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@16053 f3b2605a-c512-4ea7-a41b...
[lammps.git] / doc / src / fix_grem.txt
blob3fc5c1a10e8a1299d11dbf6fbabe4ab1f1509a34
1 "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
3 :link(lws,http://lammps.sandia.gov)
4 :link(ld,Manual.html)
5 :link(lc,Section_commands.html#comm)
7 :line
9 fix grem command :h3
11 [Syntax:]
13 fix ID group-ID grem lambda eta H0 thermostat-ID :pre
15 ID, group-ID are documented in "fix"_fix.html command :ulb,l
16 grem = style name of this fix command :l
17 lambda = intercept parameter of linear effective temperature function :l
18 eta = slope parameter of linear effective temperature function :l
19 H0 = shift parameter of linear effective temperature function :l
20 thermostat-ID = ID of Nose-Hoover thermostat or barostat used in simulation :l,ule
22 [Examples:]
24 fix             fxgREM all grem 400 -0.01 -30000 fxnpt
25 thermo_modify   press fxgREM_press :pre
27 fix             fxgREM all grem 502 -0.15 -80000 fxnvt :pre
29 [Description:]
31 This fix implements the molecular dynamics version of the generalized
32 replica exchange method (gREM) originally developed by "(Kim)"_#Kim2010,
33 which uses non-Boltzmann ensembles to sample over first order phase
34 transitions. The is done by defining replicas with an enthalpy
35 dependent effective temperature
37 :c,image(Eqs/fix_grem.jpg)
39 with {eta} negative and steep enough to only intersect the
40 characteristic microcanonical temperature (Ts) of the system once,
41 ensuring a unimodal enthalpy distribution in that replica. {Lambda} is
42 the intercept and effects the generalized ensemble similar to how
43 temperature effects a Boltzmann ensemble. {H0} is a reference
44 enthalpy, and is typically set as the lowest desired sampled enthalpy.
45 Further explanation can be found in our recent papers
46 "(Malolepsza)"_#Malolepsza.
48 This fix requires a Nose-Hoover thermostat fix reference passed to the
49 grem as {thermostat-ID}. Two distinct temperatures exist in this
50 generalized ensemble, the effective temperature defined above, and a
51 kinetic temperature that controls the velocity distribution of
52 particles as usual. Either constant volume or constant pressure
53 algorithms can be used.
55 The fix enforces a generalized ensemble in a single replica
56 only. Typically, this ideaology is combined with replica exchange with
57 replicas differing by {lambda} only for simplicity, but this is not
58 required. A multi-replica simulation can be run within the LAMMPS
59 environment using the "temper/grem"_temper_grem.html command. This
60 utilizes LAMMPS partition mode and requires the number of available
61 processors be on the order of the number of desired replicas. A
62 100-replica simulation would require at least 100 processors (1 per
63 world at minimum). If a many replicas are needed on a small number of
64 processors, multi-replica runs can be run outside of LAMMPS.  An
65 example of this can be found in examples/USER/misc/grem and has no
66 limit on the number of replicas per processor. However, this is very
67 inefficient and error prone and should be avoided if possible.
69 In general, defining the generalized ensembles is unique for every
70 system. When starting a many-replica simulation without any knowledge
71 of the underlying microcanonical temperature, there are several tricks
72 we have utilized to optimize the process.  Choosing a less-steep {eta}
73 yields broader distributions, requiring fewer replicas to map the
74 microcanonical temperature.  While this likely struggles from the same
75 sampling problems gREM was built to avoid, it provides quick insight
76 to Ts.  Initially using an evenly-spaced {lambda} distribution
77 identifies regions where small changes in enthalpy lead to large
78 temperature changes. Replicas are easily added where needed.
80 :line
82 [Restart, fix_modify, output, run start/stop, minimize info:]
84 No information about this fix is written to "binary restart
85 files"_restart.html.
87 The "thermo_modify"_thermo_modify.html {press} option is supported
88 by this fix to add the rescaled kinetic pressure as part of 
89 "thermodynamic output"_thermo_style.html.
91 [Restrictions:]
93 This fix is part of the USER-MISC package. It is only enabled if 
94 LAMMPS was built with that package. See the "Making 
95 LAMMPS"_Section_start.html#start_3 section for more info.
97 [Related commands:]
99 "temper/grem"_temper_grem.html, "fix nvt"_fix_nh.html, "fix
100 npt"_fix_nh.html, "thermo_modify"_thermo_modify.html
102 [Default:] none
104 :line
106 :link(Kim2010)
107 [(Kim)] Kim, Keyes, Straub, J Chem. Phys, 132, 224107 (2010).
109 :link(Malolepsza)
110 [(Malolepsza)] Malolepsza, Secor, Keyes, J Phys Chem B 119 (42),
111 13379-13384 (2015).