1 "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
3 :link(lws,http://lammps.sandia.gov)
5 :link(lc,Section_commands.html#comm)
10 fix nphug/omp command :h3
14 fix ID group-ID nphug keyword value ... :pre
16 ID, group-ID are documented in "fix"_fix.html command :ulb,l
17 one or more keyword value pairs may be appended
18 keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {couple} or {tchain} or {pchain} or {mtk} or {tloop} or {ploop} or {nreset} or {drag} or {dilate} or {scaleyz} or {scalexz} or {scalexy}
19 {temp} values = Value1 Value2 Tdamp
20 Value1, Value2 = Nose-Hoover target temperatures, ignored by Hugoniostat
21 Tdamp = temperature damping parameter (time units)
22 {iso} or {aniso} or {tri} values = Pstart Pstop Pdamp
23 Pstart,Pstop = scalar external pressures, must be equal (pressure units)
24 Pdamp = pressure damping parameter (time units)
25 {x} or {y} or {z} or {xy} or {yz} or {xz} values = Pstart Pstop Pdamp
26 Pstart,Pstop = external stress tensor components, must be equal (pressure units)
27 Pdamp = stress damping parameter (time units)
28 {couple} = {none} or {xyz} or {xy} or {yz} or {xz}
29 {tchain} value = length of thermostat chain (1 = single thermostat)
30 {pchain} values = length of thermostat chain on barostat (0 = no thermostat)
31 {mtk} value = {yes} or {no} = add in MTK adjustment term or not
32 {tloop} value = number of sub-cycles to perform on thermostat
33 {ploop} value = number of sub-cycles to perform on barostat thermostat
34 {nreset} value = reset reference cell every this many timesteps
35 {drag} value = drag factor added to barostat/thermostat (0.0 = no drag)
36 {dilate} value = {all} or {partial}
37 {scaleyz} value = {yes} or {no} = scale yz with lz
38 {scalexz} value = {yes} or {no} = scale xz with lz
39 {scalexy} value = {yes} or {no} = scale xy with ly :pre
44 fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0
45 fix myhug all nphug temp 1.0 1.0 10.0 iso 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 :pre
49 This command is a variant of the Nose-Hoover
50 "fix npt"_fix_nh.html fix style.
51 It performs time integration of the Hugoniostat equations
52 of motion developed by Ravelo et al. "(Ravelo)"_#Ravelo.
53 These equations compress the system to a state with average
54 axial stress or pressure equal to the specified target value
55 and that satisfies the Rankine-Hugoniot (RH)
56 jump conditions for steady shocks.
58 The compression can be performed
60 hydrostatically (using keyword {iso}, {aniso}, or {tri}) or uniaxially
61 (using keywords {x}, {y}, or {z}). In the hydrostatic case,
62 the cell dimensions change dynamically so that the average axial stress
63 in all three directions converges towards the specified target value.
64 In the uniaxial case, the chosen cell dimension changes dynamically
66 axial stress in that direction converges towards the target value. The
67 other two cell dimensions are kept fixed (zero lateral strain).
69 This leads to the following additional restrictions on the keywords:
71 One and only one of the following keywords should be used: {iso}, {aniso}, {tri}, {x}, {y}, {z}
72 The specified initial and final target pressures must be the same.
73 The keywords {xy}, {xz}, {yz} may not be used.
74 The only admissible value for the couple keyword is {xyz}, which has the same effect as keyword {iso}
75 The {temp} keyword must be used to specify the time constant for kinetic energy relaxation, but initial and final target temperature values are ignored. :ul
77 Essentially, a Hugoniostat simulation is an NPT simulation in which the
78 user-specified target temperature is replaced with a time-dependent
79 target temperature Tt obtained from the following equation:
81 :c,image(Eqs/fix_nphug.jpg)
83 where T and Tt are the instantaneous and target temperatures,
84 P and P0 are the instantaneous and reference pressures or axial stresses,
85 depending on whether hydrostatic or uniaxial compression is being
86 performed, V and V0 are the instantaneous and reference volumes,
87 E and E0 are the instantaneous and reference internal energy (potential
88 plus kinetic), Ndof is the number of degrees of freedom used in the
89 definition of temperature, and kB is the Boltzmann constant. Delta is the
90 negative deviation of the instantaneous temperature from the target temperature.
91 When the system reaches a stable equilibrium, the value of Delta should
94 The values of E0, V0, and P0 are the instantaneous values at the start of
95 the simulation. These can be overridden using the fix_modify keywords {e0},
96 {v0}, and {p0} described below.
100 NOTE: Unlike the "fix temp/berendsen"_fix_temp_berendsen.html command
101 which performs thermostatting but NO time integration, this fix
102 performs thermostatting/barostatting AND time integration. Thus you
103 should not use any other time integration fix, such as "fix
104 nve"_fix_nve.html on atoms to which this fix is applied. Likewise,
105 this fix should not be used on atoms that have their temperature
106 controlled by another fix - e.g. by "fix langevin"_fix_nh.html or "fix
107 temp/rescale"_fix_temp_rescale.html commands.
111 This fix computes a temperature and pressure at each timestep. To do
112 this, the fix creates its own computes of style "temp" and "pressure",
113 as if one of these two sets of commands had been issued:
115 compute fix-ID_temp group-ID temp
116 compute fix-ID_press group-ID pressure fix-ID_temp :pre
118 compute fix-ID_temp all temp
119 compute fix-ID_press all pressure fix-ID_temp :pre
121 See the "compute temp"_compute_temp.html and "compute
122 pressure"_compute_pressure.html commands for details. Note that the
123 IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
124 + underscore + "press". The group for
125 the new computes is "all" since pressure is computed for the entire
128 Note that these are NOT the computes used by thermodynamic output (see
129 the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
130 and {thermo_press}. This means you can change the attributes of this
131 fix's temperature or pressure via the
132 "compute_modify"_compute_modify.html command or print this temperature
133 or pressure during thermodynamic output via the "thermo_style
134 custom"_thermo_style.html command using the appropriate compute-ID.
135 It also means that changing attributes of {thermo_temp} or
136 {thermo_press} will have no effect on this fix.
140 Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
141 functionally the same as the corresponding style without the suffix.
142 They have been optimized to run faster, depending on your available
143 hardware, as discussed in "Section 5"_Section_accelerate.html
144 of the manual. The accelerated styles take the same arguments and
145 should produce the same results, except for round-off and precision
148 These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
149 USER-OMP and OPT packages, respectively. They are only enabled if
150 LAMMPS was built with those packages. See the "Making
151 LAMMPS"_Section_start.html#start_3 section for more info.
153 You can specify the accelerated styles explicitly in your input script
154 by including their suffix, or you can use the "-suffix command-line
155 switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can
156 use the "suffix"_suffix.html command in your input script.
158 See "Section 5"_Section_accelerate.html of the manual for
159 more instructions on how to use the accelerated styles effectively.
163 [Restart, fix_modify, output, run start/stop, minimize info:]
165 This fix writes the values of E0, V0, and P0, as well as the
166 state of all the thermostat and barostat
167 variables to "binary restart files"_restart.html. See the
168 "read_restart"_read_restart.html command for info on how to re-specify
169 a fix in an input script that reads a restart file, so that the
170 operation of the fix continues in an uninterrupted fashion.
172 The "fix_modify"_fix_modify.html {e0}, {v0} and {p0} keywords
173 can be used to define the values of E0, V0, and P0. Note the
174 the values for {e0} and {v0} are extensive, and so must correspond
175 to the total energy and volume of the entire system, not energy and
176 volume per atom. If any of these quantities are not specified, then the
177 instantaneous value in the system at the start of the simulation is used.
179 The "fix_modify"_fix_modify.html {temp} and {press} options are
180 supported by these fixes. You can use them to assign a
181 "compute"_compute.html you have defined to this fix which will be used
182 in its thermostatting or barostatting procedure, as described above.
183 If you do this, note that the kinetic energy derived from the compute
184 temperature should be consistent with the virial term computed using
185 all atoms for the pressure. LAMMPS will warn you if you choose to
186 compute temperature on a subset of atoms.
188 The "fix_modify"_fix_modify.html {energy} option is supported by these
189 fixes to add the energy change induced by Nose/Hoover thermostatting
190 and barostatting to the system's potential energy as part of
191 "thermodynamic output"_thermo_style.html. Either way, this energy is *not*
192 included in the definition of internal energy E when calculating the value
193 of Delta in the above equation.
195 These fixes compute a global scalar and a global vector of quantities,
196 which can be accessed by various "output
197 commands"_Section_howto.html#howto_15. The scalar value calculated by
198 these fixes is "extensive"; the vector values are "intensive".
200 The scalar is the cumulative energy change due to the fix.
202 The vector stores three quantities unique to this fix (Delta, Us, and up),
203 followed by all the internal Nose/Hoover thermostat and barostat
204 variables defined for "fix npt"_fix_nh.html. Delta is the deviation
205 of the temperature from the target temperature, given by the above equation.
206 Us and up are the shock and particle velocity corresponding to a steady
207 shock calculated from the RH conditions. They have units of distance/time.
211 This fix style is part of the SHOCK package. It is only enabled if
212 LAMMPS was built with that package. See the "Making
213 LAMMPS"_Section_start.html#start_3 section for more info.
215 All the usual restrictions for "fix npt"_fix_nh.html apply,
216 plus the additional ones mentioned above.
220 "fix msst"_fix_msst.html, "fix npt"_fix_nh.html, "fix_modify"_fix_modify.html
224 The keyword defaults are the same as those for "fix npt"_fix_nh.html
229 [(Ravelo)] Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004).