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

This commit is contained in:
sjplimp
2008-03-11 17:15:19 +00:00
parent bc98cf369a
commit 07c6376bcf
10 changed files with 512 additions and 138 deletions

View File

@ -27,14 +27,10 @@
<LI>zero or more keyword/value pairs may be appended <LI>zero or more keyword/value pairs may be appended
keyword = <I>axes</I> or <I>scale</I> or <I>region</I> keyword = <I>scale</I>
<I>axes</I> values = xflag yflag zflag
xflag,yflag,zflag = 0/1 to exclude/include a dimension in the thermostat
<I>scale</I> values = type ratio <I>scale</I> values = type ratio
type = atom type (1-N) type = atom type (1-N)
ratio = factor to scale the damping coefficient by ratio = factor to scale the damping coefficient by
<I>region</I> value = region-ID
region-ID = ID of region to apply thermostat to
</UL> </UL>
<P><B>Examples:</B> <P><B>Examples:</B>
@ -71,9 +67,36 @@ used to randomize the direction and magnitude of this force as
described in <A HREF = "#Dunweg">(Dunweg)</A>, where a uniform random number is used described in <A HREF = "#Dunweg">(Dunweg)</A>, where a uniform random number is used
(instead of a Gaussian random number) for speed. (instead of a Gaussian random number) for speed.
</P> </P>
<P>IMPORTANT NOTE: Unlike the <A HREF = "fix_nvt.html">fix nvt</A> command which
performs Nose/Hoover thermostatting AND time integration, this fix
does NOT perform time integration. It only modifies forces to effect
thermostatting. Thus you must use a separate time integration fix,
like <A HREF = "fix_nve.html">fix nve</A> to actually update the velocities and
positions of atoms using the the modified forces. Likewise, this fix
should not normally be used on atoms that also have their temperature
controlled by another fix - e.g. by <A HREF = "fix_nvt.html">fix nvt</A> or <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A> commands.
</P>
<HR>
<P>The desired temperature at each timestep is a ramped value during the <P>The desired temperature at each timestep is a ramped value during the
run from <I>Tstart</I> to <I>Tstop</I>. run from <I>Tstart</I> to <I>Tstop</I>.
</P> </P>
<P>Like other fixes that perform thermostatting, this fix can be used
with <A HREF = "compute.html">compute commands</A> that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the <A HREF = "fix_modify.html">fix_modify</A> command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual <A HREF = "compute.html">compute
commands</A> to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
</P>
<P>The <I>damp</I> parameter is specified in time units and determines how <P>The <I>damp</I> parameter is specified in time units and determines how
rapidly the temperature is relaxed. For example, a value of 100.0 rapidly the temperature is relaxed. For example, a value of 100.0
means to relax the temperature in a timespan of (roughly) 100 time means to relax the temperature in a timespan of (roughly) 100 time
@ -108,17 +131,6 @@ includes the particle mass in Ff, unlike fix <I>viscous</I>. Thus the mass
and size of different atom types should be accounted for in the choice and size of different atom types should be accounted for in the choice
of ratio values. of ratio values.
</P> </P>
<P>The keyword <I>region</I> applies the fix only to atoms that are in the
specified geometric region (and in the fix group). Since atoms can
enter/leave a region, this test is performed each timestep.
</P>
<P>As noted above, fix <I>langevin</I> does not update the coordinates or
velocities of its atoms, only the forces. It is normally used with a
<A HREF = "fix_nve.html">fix nve</A> that does the time integration. Fix <I>langevin</I>
should not normally be used on atoms that also have their temperature
controlled by another fix - e.g. a <A HREF = "fix_nvt.html">nvt</A> or
<A HREF = "fix_temp_rescale.html">temp/rescale</A> fix.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B> <P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P> </P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart <P>No information about this fix is written to <A HREF = "restart.html">binary restart
@ -128,10 +140,14 @@ restarts with this fix, where the simulation continues on the same as
if no restart had taken place. However, in a statistical sense, a if no restart had taken place. However, in a statistical sense, a
restarted simulation should produce the same behavior. restarted simulation should produce the same behavior.
</P> </P>
<P>None of the <A HREF = "fix_modify.html">fix_modify</A> options are relevant to this <P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option is supported by this
fix. No global scalar or vector or per-atom quantities are stored by fix. You can use it to assign a temperature <A HREF = "compute.html">compute</A>
this fix for access by various <A HREF = "Section_howto.html#4_15">output you have defined to this fix which will be used in its thermostatting
commands</A>. procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
</P>
<P>No global scalar or vector or per-atom quantities are stored by this
fix for access by various <A HREF = "Section_howto.html#4_15">output commands</A>.
</P> </P>
<P>This fix can ramp its target temperature over multiple runs, using the <P>This fix can ramp its target temperature over multiple runs, using the
<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the <I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the

View File

@ -18,14 +18,10 @@ Tstart,Tstop = desired temperature at start/end of run (temperature units) :l
damp = damping parameter (time units) :l damp = damping parameter (time units) :l
seed = random # seed to use for white noise (positive integer) :l seed = random # seed to use for white noise (positive integer) :l
zero or more keyword/value pairs may be appended :l zero or more keyword/value pairs may be appended :l
keyword = {axes} or {scale} or {region} keyword = {scale}
{axes} values = xflag yflag zflag
xflag,yflag,zflag = 0/1 to exclude/include a dimension in the thermostat
{scale} values = type ratio {scale} values = type ratio
type = atom type (1-N) type = atom type (1-N)
ratio = factor to scale the damping coefficient by ratio = factor to scale the damping coefficient by
{region} value = region-ID
region-ID = ID of region to apply thermostat to
:ule :ule
[Examples:] [Examples:]
@ -62,9 +58,36 @@ used to randomize the direction and magnitude of this force as
described in "(Dunweg)"_#Dunweg, where a uniform random number is used described in "(Dunweg)"_#Dunweg, where a uniform random number is used
(instead of a Gaussian random number) for speed. (instead of a Gaussian random number) for speed.
IMPORTANT NOTE: Unlike the "fix nvt"_fix_nvt.html command which
performs Nose/Hoover thermostatting AND time integration, this fix
does NOT perform time integration. It only modifies forces to effect
thermostatting. Thus you must use a separate time integration fix,
like "fix nve"_fix_nve.html to actually update the velocities and
positions of atoms using the the modified forces. Likewise, this fix
should not normally be used on atoms that also have their temperature
controlled by another fix - e.g. by "fix nvt"_fix_nvt.html or "fix
temp/rescale"_fix_temp_rescale.html commands.
:line
The desired temperature at each timestep is a ramped value during the The desired temperature at each timestep is a ramped value during the
run from {Tstart} to {Tstop}. run from {Tstart} to {Tstop}.
Like other fixes that perform thermostatting, this fix can be used
with "compute commands"_compute.html that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the "fix_modify"_fix_modify.html command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual "compute
commands"_compute.html to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
The {damp} parameter is specified in time units and determines how The {damp} parameter is specified in time units and determines how
rapidly the temperature is relaxed. For example, a value of 100.0 rapidly the temperature is relaxed. For example, a value of 100.0
means to relax the temperature in a timespan of (roughly) 100 time means to relax the temperature in a timespan of (roughly) 100 time
@ -99,17 +122,6 @@ includes the particle mass in Ff, unlike fix {viscous}. Thus the mass
and size of different atom types should be accounted for in the choice and size of different atom types should be accounted for in the choice
of ratio values. of ratio values.
The keyword {region} applies the fix only to atoms that are in the
specified geometric region (and in the fix group). Since atoms can
enter/leave a region, this test is performed each timestep.
As noted above, fix {langevin} does not update the coordinates or
velocities of its atoms, only the forces. It is normally used with a
"fix nve"_fix_nve.html that does the time integration. Fix {langevin}
should not normally be used on atoms that also have their temperature
controlled by another fix - e.g. a "nvt"_fix_nvt.html or
"temp/rescale"_fix_temp_rescale.html fix.
[Restart, fix_modify, output, run start/stop, minimize info:] [Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart No information about this fix is written to "binary restart
@ -119,10 +131,14 @@ restarts with this fix, where the simulation continues on the same as
if no restart had taken place. However, in a statistical sense, a if no restart had taken place. However, in a statistical sense, a
restarted simulation should produce the same behavior. restarted simulation should produce the same behavior.
None of the "fix_modify"_fix_modify.html options are relevant to this The "fix_modify"_fix_modify.html {temp} option is supported by this
fix. No global scalar or vector or per-atom quantities are stored by fix. You can use it to assign a temperature "compute"_compute.html
this fix for access by various "output you have defined to this fix which will be used in its thermostatting
commands"_Section_howto.html#4_15. procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
No global scalar or vector or per-atom quantities are stored by this
fix for access by various "output commands"_Section_howto.html#4_15.
This fix can ramp its target temperature over multiple runs, using the This fix can ramp its target temperature over multiple runs, using the
{start} and {stop} keywords of the "run"_run.html command. See the {start} and {stop} keywords of the "run"_run.html command. See the

View File

@ -77,6 +77,16 @@ only the atoms in the fix group are re-scaled. The latter can be
useful for leaving the coordinates of atoms in a solid substrate useful for leaving the coordinates of atoms in a solid substrate
unchanged and controlling the pressure of a surrounding fluid. unchanged and controlling the pressure of a surrounding fluid.
</P> </P>
<P>IMPORTANT NOTE: Unlike the <A HREF = "fix_berendsen.html">fix temp/berendsen</A>
command which performs thermostatting but NO time integration, this
fix performs thermostatting/barostatting AND time integration. Thus
you should not use any other time integration fix, such as <A HREF = "fix_nve.html">fix
nve</A> on atoms to which this fix is applied. Likewise,
this fix should not normally be used on atoms that also have their
temperature controlled by another fix - e.g. by <A HREF = "fix_nvt.html">fix
langevin</A> or <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>
commands.
</P>
<HR> <HR>
<P>The pressure can be controlled in one of several styles, as specified <P>The pressure can be controlled in one of several styles, as specified
@ -151,6 +161,21 @@ custom</A> command using the appropriate compute-ID.
It also means that changing attributes of <I>thermo_temp</I> or It also means that changing attributes of <I>thermo_temp</I> or
<I>thermo_press</I> will have no effect on this fix. <I>thermo_press</I> will have no effect on this fix.
</P> </P>
<P>Like other fixes that perform thermostatting, this fix can be used
with <A HREF = "compute.html">compute commands</A> that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the <A HREF = "fix_modify.html">fix_modify</A> command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual <A HREF = "compute.html">compute
commands</A> to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B> <P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P> </P>
<P>This fix writes the state of the Nose/Hoover thermostat and barostat <P>This fix writes the state of the Nose/Hoover thermostat and barostat
@ -162,11 +187,11 @@ operation of the fix continues in an uninterrupted fashion.
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> and <I>press</I> options are <P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> and <I>press</I> options are
supported by this fix. You can use them to assign a supported by this fix. You can use them to assign a
<A HREF = "compute.html">compute</A> you have defined to this fix which will be used <A HREF = "compute.html">compute</A> you have defined to this fix which will be used
in its thermostatting or barostatting procedure. If you do this, note in its thermostatting or barostatting procedure, as described above.
that the kinetic energy derived from the compute temperature should be If you do this, note that the kinetic energy derived from the compute
consistent with the virial term computed using all atoms for the temperature should be consistent with the virial term computed using
pressure. LAMMPS will warn you if you choose to compute temperature all atoms for the pressure. LAMMPS will warn you if you choose to
on a subset of atoms. compute temperature on a subset of atoms.
</P> </P>
<P>IMPORTANT NOTE: If both the <I>temp</I> and <I>press</I> keywords are used in a <P>IMPORTANT NOTE: If both the <I>temp</I> and <I>press</I> keywords are used in a
single thermo_modify command (or in two separate commands), then the single thermo_modify command (or in two separate commands), then the

View File

@ -66,6 +66,16 @@ only the atoms in the fix group are re-scaled. The latter can be
useful for leaving the coordinates of atoms in a solid substrate useful for leaving the coordinates of atoms in a solid substrate
unchanged and controlling the pressure of a surrounding fluid. unchanged and controlling the pressure of a surrounding fluid.
IMPORTANT NOTE: Unlike the "fix temp/berendsen"_fix_berendsen.html
command which performs thermostatting but NO time integration, this
fix performs thermostatting/barostatting AND time integration. Thus
you should not use any other time integration fix, such as "fix
nve"_fix_nve.html on atoms to which this fix is applied. Likewise,
this fix should not normally be used on atoms that also have their
temperature controlled by another fix - e.g. by "fix
langevin"_fix_nvt.html or "fix temp/rescale"_fix_temp_rescale.html
commands.
:line :line
The pressure can be controlled in one of several styles, as specified The pressure can be controlled in one of several styles, as specified
@ -140,6 +150,21 @@ custom"_thermo_style.html command using the appropriate compute-ID.
It also means that changing attributes of {thermo_temp} or It also means that changing attributes of {thermo_temp} or
{thermo_press} will have no effect on this fix. {thermo_press} will have no effect on this fix.
Like other fixes that perform thermostatting, this fix can be used
with "compute commands"_compute.html that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the "fix_modify"_fix_modify.html command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual "compute
commands"_compute.html to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
[Restart, fix_modify, output, run start/stop, minimize info:] [Restart, fix_modify, output, run start/stop, minimize info:]
This fix writes the state of the Nose/Hoover thermostat and barostat This fix writes the state of the Nose/Hoover thermostat and barostat
@ -151,11 +176,11 @@ operation of the fix continues in an uninterrupted fashion.
The "fix_modify"_fix_modify.html {temp} and {press} options are The "fix_modify"_fix_modify.html {temp} and {press} options are
supported by this fix. You can use them to assign a supported by this fix. You can use them to assign a
"compute"_compute.html you have defined to this fix which will be used "compute"_compute.html you have defined to this fix which will be used
in its thermostatting or barostatting procedure. If you do this, note in its thermostatting or barostatting procedure, as described above.
that the kinetic energy derived from the compute temperature should be If you do this, note that the kinetic energy derived from the compute
consistent with the virial term computed using all atoms for the temperature should be consistent with the virial term computed using
pressure. LAMMPS will warn you if you choose to compute temperature all atoms for the pressure. LAMMPS will warn you if you choose to
on a subset of atoms. compute temperature on a subset of atoms.
IMPORTANT NOTE: If both the {temp} and {press} keywords are used in a IMPORTANT NOTE: If both the {temp} and {press} keywords are used in a
single thermo_modify command (or in two separate commands), then the single thermo_modify command (or in two separate commands), then the

View File

@ -60,6 +60,16 @@ Performing a short run and monitoring the temperature is the best way
to determine if the drag term is working. Typically a value between to determine if the drag term is working. Typically a value between
0.2 to 2.0 is sufficient to damp oscillations after a few periods. 0.2 to 2.0 is sufficient to damp oscillations after a few periods.
</P> </P>
<P>IMPORTANT NOTE: Unlike the <A HREF = "fix_berendsen.html">fix temp/berendsen</A>
command which performs thermostatting but NO time integration, this
fix performs thermostatting/barostatting AND time integration. Thus
you should not use any other time integration fix, such as <A HREF = "fix_nve.html">fix
nve</A> on atoms to which this fix is applied. Likewise,
this fix should not normally be used on atoms that also have their
temperature controlled by another fix - e.g. by <A HREF = "fix_nvt.html">fix
langevin</A> or <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>
commands.
</P>
<P>This fix computes a temperature each timestep. To do this, the fix <P>This fix computes a temperature each timestep. To do this, the fix
creates its own compute of style "temp", as if this command had been creates its own compute of style "temp", as if this command had been
issued: issued:
@ -80,6 +90,21 @@ custom</A> command using the appropriate compute-ID.
It also means that changing attributes of <I>thermo_temp</I> will have no It also means that changing attributes of <I>thermo_temp</I> will have no
effect on this fix. effect on this fix.
</P> </P>
<P>Like other fixes that perform thermostatting, this fix can be used
with <A HREF = "compute.html">compute commands</A> that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the <A HREF = "fix_modify.html">fix_modify</A> command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual <A HREF = "compute.html">compute
commands</A> to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B> <P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P> </P>
<P>This fix writes the state of the Nose/Hoover thermostat to <A HREF = "restart.html">binary <P>This fix writes the state of the Nose/Hoover thermostat to <A HREF = "restart.html">binary
@ -89,9 +114,10 @@ reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion. uninterrupted fashion.
</P> </P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option is supported by this <P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option is supported by this
fix. You can use it to assign a <A HREF = "compute.html">compute</A> you have fix. You can use it to assign a temperature <A HREF = "compute.html">compute</A>
defined to this fix which will be used in its thermostatting you have defined to this fix which will be used in its thermostatting
procedure. procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
</P> </P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this <P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting to fix to add the energy change induced by Nose/Hoover thermostatting to

View File

@ -51,6 +51,16 @@ Performing a short run and monitoring the temperature is the best way
to determine if the drag term is working. Typically a value between to determine if the drag term is working. Typically a value between
0.2 to 2.0 is sufficient to damp oscillations after a few periods. 0.2 to 2.0 is sufficient to damp oscillations after a few periods.
IMPORTANT NOTE: Unlike the "fix temp/berendsen"_fix_berendsen.html
command which performs thermostatting but NO time integration, this
fix performs thermostatting/barostatting AND time integration. Thus
you should not use any other time integration fix, such as "fix
nve"_fix_nve.html on atoms to which this fix is applied. Likewise,
this fix should not normally be used on atoms that also have their
temperature controlled by another fix - e.g. by "fix
langevin"_fix_nvt.html or "fix temp/rescale"_fix_temp_rescale.html
commands.
This fix computes a temperature each timestep. To do this, the fix This fix computes a temperature each timestep. To do this, the fix
creates its own compute of style "temp", as if this command had been creates its own compute of style "temp", as if this command had been
issued: issued:
@ -71,6 +81,21 @@ custom"_thermo_style.html command using the appropriate compute-ID.
It also means that changing attributes of {thermo_temp} will have no It also means that changing attributes of {thermo_temp} will have no
effect on this fix. effect on this fix.
Like other fixes that perform thermostatting, this fix can be used
with "compute commands"_compute.html that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the "fix_modify"_fix_modify.html command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual "compute
commands"_compute.html to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
[Restart, fix_modify, output, run start/stop, minimize info:] [Restart, fix_modify, output, run start/stop, minimize info:]
This fix writes the state of the Nose/Hoover thermostat to "binary This fix writes the state of the Nose/Hoover thermostat to "binary
@ -80,9 +105,10 @@ reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion. uninterrupted fashion.
The "fix_modify"_fix_modify.html {temp} option is supported by this The "fix_modify"_fix_modify.html {temp} option is supported by this
fix. You can use it to assign a "compute"_compute.html you have fix. You can use it to assign a temperature "compute"_compute.html
defined to this fix which will be used in its thermostatting you have defined to this fix which will be used in its thermostatting
procedure. procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
The "fix_modify"_fix_modify.html {energy} option is supported by this The "fix_modify"_fix_modify.html {energy} option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting to fix to add the energy change induced by Nose/Hoover thermostatting to

125
doc/fix_temp_berendsen.html Normal file
View File

@ -0,0 +1,125 @@
<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>fix temp/berendsen command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID temp/berendsen Tstart Tstop Tdamp
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>temp/berendsen = style name of this fix command
<LI>Tstart,Tstop = desired temperature at start/end of run
<LI>Tdamp = temperature damping parameter (time units)
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix 1 all nvt 300.0 300.0 100.0
fix 1 all nvt 300.0 300.0 100.0 drag 0.2
</PRE>
<P><B>Description:</B>
</P>
<P>Reset the temperature of a group of atoms by using a Berendsen
thermostat <A HREF = "#Berendsen">(Berendsen)</A>, which rescale their velocities
every timestep.
</P>
<P>The desired temperature at each timestep is a ramped value during the
run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> parameter is specified in
time units and determines how rapidly the temperature is relaxed. For
example, a value of 100.0 means to relax the temperature in a timespan
of (roughly) 100 time units (tau or fmsec or psec - see the
<A HREF = "units.html">units</A> command).
</P>
<P>IMPORTANT NOTE: Unlike the <A HREF = "fix_nvt.html">fix nvt</A> command which
performs Nose/Hoover thermostatting AND time integration, this fix
does NOT perform time integration. It only modifies velocities to
effect thermostatting. Thus you must use a separate time integration
fix, like <A HREF = "fix_nve.html">fix nve</A> to actually update the positions of
atoms using the modified velocities. Likewise, this fix should not
normally be used on atoms that also have their temperature controlled
by another fix - e.g. by <A HREF = "fix_nvt.html">fix nvt</A> or <A HREF = "fix_langevin.html">fix
langevin</A> commands.
</P>
<HR>
<P>This fix computes a temperature each timestep. To do this, the fix
creates its own compute of style "temp", as if this command had been
issued:
</P>
<PRE>compute fix-ID_temp group-ID temp
</PRE>
<P>See the <A HREF = "compute_temp.html">compute temp</A> command for details. Note
that the ID of the new compute is the fix-ID + underscore + "temp",
and the group for the new compute is the same as the fix group.
</P>
<P>Note that this is NOT the compute used by thermodynamic output (see
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>.
This means you can change the attributes of this fix's temperature
(e.g. its degrees-of-freedom) via the
<A HREF = "compute_modify.html">compute_modify</A> command or print this temperature
during thermodynamic output via the <A HREF = "thermo_style.html">thermo_style
custom</A> command using the appropriate compute-ID.
It also means that changing attributes of <I>thermo_temp</I> will have no
effect on this fix.
</P>
<P>Like other fixes that perform thermostatting, this fix can be used
with <A HREF = "compute.html">compute commands</A> that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the <A HREF = "fix_modify.html">fix_modify</A> command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual <A HREF = "compute.html">compute
commands</A> to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option is supported by this
fix. You can use it to assign a temperature <A HREF = "compute.html">compute</A>
you have defined to this fix which will be used in its thermostatting
procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
</P>
<P>No global scalar or vector or per-atom quantities are stored by this
fix for access by various <A HREF = "Section_howto.html#4_15">output commands</A>.
</P>
<P>This fix can ramp its target temperature over multiple runs, using the
<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the
<A HREF = "run.html">run</A> command for details of how to do this.
</P>
<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
</P>
<P><B>Restrictions:</B> none
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix
temp/rescale</A>, <A HREF = "fix_langevin.html">fix langevin</A>,
<A HREF = "fix_modify.html">fix_modify</A>, <A HREF = "compute_temp.html">compute temp</A>
</P>
<P><B>Default:</B> none
</P>
<HR>
<A NAME = "Berendsen"></A>
<P><B>(Berendsen)</B> Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem
Phys, 81, 3684 (1984).
</P>
</HTML>

120
doc/fix_temp_berendsen.txt Normal file
View File

@ -0,0 +1,120 @@
"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
fix temp/berendsen command :h3
[Syntax:]
fix ID group-ID temp/berendsen Tstart Tstop Tdamp :pre
ID, group-ID are documented in "fix"_fix.html command
temp/berendsen = style name of this fix command
Tstart,Tstop = desired temperature at start/end of run
Tdamp = temperature damping parameter (time units) :ul
[Examples:]
fix 1 all nvt 300.0 300.0 100.0
fix 1 all nvt 300.0 300.0 100.0 drag 0.2 :pre
[Description:]
Reset the temperature of a group of atoms by using a Berendsen
thermostat "(Berendsen)"_#Berendsen, which rescale their velocities
every timestep.
The desired temperature at each timestep is a ramped value during the
run from {Tstart} to {Tstop}. The {Tdamp} parameter is specified in
time units and determines how rapidly the temperature is relaxed. For
example, a value of 100.0 means to relax the temperature in a timespan
of (roughly) 100 time units (tau or fmsec or psec - see the
"units"_units.html command).
IMPORTANT NOTE: Unlike the "fix nvt"_fix_nvt.html command which
performs Nose/Hoover thermostatting AND time integration, this fix
does NOT perform time integration. It only modifies velocities to
effect thermostatting. Thus you must use a separate time integration
fix, like "fix nve"_fix_nve.html to actually update the positions of
atoms using the modified velocities. Likewise, this fix should not
normally be used on atoms that also have their temperature controlled
by another fix - e.g. by "fix nvt"_fix_nvt.html or "fix
langevin"_fix_langevin.html commands.
:line
This fix computes a temperature each timestep. To do this, the fix
creates its own compute of style "temp", as if this command had been
issued:
compute fix-ID_temp group-ID temp :pre
See the "compute temp"_compute_temp.html command for details. Note
that the ID of the new compute is the fix-ID + underscore + "temp",
and the group for the new compute is the same as the fix group.
Note that this is NOT the compute used by thermodynamic output (see
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}.
This means you can change the attributes of this fix's temperature
(e.g. its degrees-of-freedom) via the
"compute_modify"_compute_modify.html command or print this temperature
during thermodynamic output via the "thermo_style
custom"_thermo_style.html command using the appropriate compute-ID.
It also means that changing attributes of {thermo_temp} will have no
effect on this fix.
Like other fixes that perform thermostatting, this fix can be used
with "compute commands"_compute.html that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the "fix_modify"_fix_modify.html command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual "compute
commands"_compute.html to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
[Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart
files"_restart.html.
The "fix_modify"_fix_modify.html {temp} option is supported by this
fix. You can use it to assign a temperature "compute"_compute.html
you have defined to this fix which will be used in its thermostatting
procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
No global scalar or vector or per-atom quantities are stored by this
fix for access by various "output commands"_Section_howto.html#4_15.
This fix can ramp its target temperature over multiple runs, using the
{start} and {stop} keywords of the "run"_run.html command. See the
"run"_run.html command for details of how to do this.
This fix is not invoked during "energy minimization"_minimize.html.
[Restrictions:] none
[Related commands:]
"fix nve"_fix_nve.html, "fix nvt"_fix_nvt.html, "fix
temp/rescale"_fix_temp_rescale.html, "fix langevin"_fix_langevin.html,
"fix_modify"_fix_modify.html, "compute temp"_compute_temp.html
[Default:] none
:line
:link(Berendsen)
[(Berendsen)] Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem
Phys, 81, 3684 (1984).

View File

@ -20,20 +20,13 @@
<LI>N = perform rescaling every N steps <LI>N = perform rescaling every N steps
<LI>Tstart,Tstop = desired temperature at start/end of run (temperature units) <LI>Tstart,Tstop = desired temperature at start/end of run (temperature units)
<LI>window = only rescale if temperature is outside this window (temperature units) <LI>window = only rescale if temperature is outside this window (temperature units)
<LI>fraction = rescale to target temperature by this fraction <LI>fraction = rescale to target temperature by this fraction
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>region</I> or <I>partial</I>
</UL> </UL>
<PRE> <I>region</I> values = region-ID
region-ID = ID of region to apply rescaling to
<I>partial</I> values = xflag yflag zflag
xflag,yflag,zflag = 0/1 if the velocity component should not or should be rescaled
</PRE>
<P><B>Examples:</B> <P><B>Examples:</B>
</P> </P>
<PRE>fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5 <PRE>fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5
fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 region edge fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0
fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 partial 0 1 1 fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0
</PRE> </PRE>
<P><B>Description:</B> <P><B>Description:</B>
</P> </P>
@ -51,37 +44,27 @@ difference between the actual and desired temperature. E.g. if
<I>fraction</I> = 1.0, the temperature is reset to exactly the desired <I>fraction</I> = 1.0, the temperature is reset to exactly the desired
value. value.
</P> </P>
<P>The keyword <I>region</I> applies the fix only to atoms that are in the <P>IMPORTANT NOTE: Unlike the <A HREF = "fix_nvt.html">fix nvt</A> command which
specified geometric region (and in the fix group). Since atoms can performs Nose/Hoover thermostatting AND time integration, this fix
enter/leave a region, this test is performed each timestep. does NOT perform time integration. It only modifies velocities to
</P> effect thermostatting. Thus you must use a separate time integration
<P>The keyword <I>partial</I> rescales only the specified velocity components. fix, like <A HREF = "fix_nve.html">fix nve</A> to actually update the positions of
A compute of style temp/partial is used to compute the current atoms using the modified velocities. Likewise, this fix should not
temperature of just those components (see below). normally be used on atoms that also have their temperature controlled
</P> by another fix - e.g. by <A HREF = "fix_nvt.html">fix nvt</A> or <A HREF = "fix_langevin.html">fix
<P>The <I>region</I> and <I>partial</I> keywords cannot currently be used together. langevin</A> commands.
</P>
<P>A temp/rescale fix does not update the coordinates of its atoms. It
is normally used with a fix of style <I>nve</I> that does that. A
temp/rescale fix should not normally be used on atoms that also have
their temperature controlled by another fix - e.g. a
<A HREF = "fix_nvt.html">nvt</A> or <A HREF = "fix_langevin.html">langevin</A> fix.
</P> </P>
<HR>
<P>This fix computes a temperature each timestep. To do this, the fix <P>This fix computes a temperature each timestep. To do this, the fix
creates its own compute of style "temp" or "temp/region" or creates its own compute of style "temp", as if one of this command had
"temp/partial", as if one of these commands had been issued: been issued:
</P> </P>
<PRE>compute fix-ID_temp group-ID temp <PRE>compute fix-ID_temp group-ID temp
compute fix-ID_temp group-ID temp/region region-ID
compute fix-ID_temp group-ID temp/partial xflag yflag zflag
</PRE> </PRE>
<P>Which is used depends on whether the <I>region</I> or <I>partial</I> keywords <P>See the <A HREF = "compute_temp.html">compute temp</A> for details. Note that the
were specified with the fix. See the <A HREF = "compute_temp.html">compute ID of the new compute is the fix-ID + underscore + "temp", and the
temp</A>, <A HREF = "compute_temp_region.html">compute group for the new compute is the same as the fix group.
temp/region</A>, and <A HREF = "compute_temp_partial.html">compute
temp/partial</A> commands for details. Note
that the ID of the new compute is the fix-ID + underscore + "temp",
and the group for the new compute is the same as the fix group.
</P> </P>
<P>Note that this is NOT the compute used by thermodynamic output (see <P>Note that this is NOT the compute used by thermodynamic output (see
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>. the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>.
@ -93,17 +76,31 @@ custom</A> command using the appropriate compute-ID.
It also means that changing attributes of <I>thermo_temp</I> will have no It also means that changing attributes of <I>thermo_temp</I> will have no
effect on this fix. effect on this fix.
</P> </P>
<P>Like other fixes that perform thermostatting, this fix can be used
with <A HREF = "compute.html">compute commands</A> that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the <A HREF = "fix_modify.html">fix_modify</A> command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual <A HREF = "compute.html">compute
commands</A> to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B> <P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P> </P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart <P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. files</A>.
</P> </P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option is supported by this <P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option is supported by this
fix. You can use it to assign a <A HREF = "compute.html">compute</A> you have fix. You can use it to assign a temperature <A HREF = "compute.html">compute</A>
defined to this fix which will be used in its thermostatting you have defined to this fix which will be used in its thermostatting
procedure. For consistency, if using the keyword <I>region</I>, the procedure, as described above. For consistency, the group used by
compute you assign should also be of style this fix and by the compute should be the same.
<A HREF = "compute_temp_region.html">temp/region</A>.
</P> </P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this <P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this
fix to add the energy change implied by a velocity rescaling to the fix to add the energy change implied by a velocity rescaling to the

View File

@ -17,19 +17,13 @@ temp/rescale = style name of this fix command
N = perform rescaling every N steps N = perform rescaling every N steps
Tstart,Tstop = desired temperature at start/end of run (temperature units) Tstart,Tstop = desired temperature at start/end of run (temperature units)
window = only rescale if temperature is outside this window (temperature units) window = only rescale if temperature is outside this window (temperature units)
fraction = rescale to target temperature by this fraction fraction = rescale to target temperature by this fraction :ul
zero or more keyword/value pairs may be appended
keyword = {region} or {partial} :ul
{region} values = region-ID
region-ID = ID of region to apply rescaling to
{partial} values = xflag yflag zflag
xflag,yflag,zflag = 0/1 if the velocity component should not or should be rescaled :pre
[Examples:] [Examples:]
fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5 fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5
fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 region edge fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0
fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 partial 0 1 1 :pre fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 :pre
[Description:] [Description:]
@ -47,37 +41,27 @@ difference between the actual and desired temperature. E.g. if
{fraction} = 1.0, the temperature is reset to exactly the desired {fraction} = 1.0, the temperature is reset to exactly the desired
value. value.
The keyword {region} applies the fix only to atoms that are in the IMPORTANT NOTE: Unlike the "fix nvt"_fix_nvt.html command which
specified geometric region (and in the fix group). Since atoms can performs Nose/Hoover thermostatting AND time integration, this fix
enter/leave a region, this test is performed each timestep. does NOT perform time integration. It only modifies velocities to
effect thermostatting. Thus you must use a separate time integration
fix, like "fix nve"_fix_nve.html to actually update the positions of
atoms using the modified velocities. Likewise, this fix should not
normally be used on atoms that also have their temperature controlled
by another fix - e.g. by "fix nvt"_fix_nvt.html or "fix
langevin"_fix_langevin.html commands.
The keyword {partial} rescales only the specified velocity components. :line
A compute of style temp/partial is used to compute the current
temperature of just those components (see below).
The {region} and {partial} keywords cannot currently be used together.
A temp/rescale fix does not update the coordinates of its atoms. It
is normally used with a fix of style {nve} that does that. A
temp/rescale fix should not normally be used on atoms that also have
their temperature controlled by another fix - e.g. a
"nvt"_fix_nvt.html or "langevin"_fix_langevin.html fix.
This fix computes a temperature each timestep. To do this, the fix This fix computes a temperature each timestep. To do this, the fix
creates its own compute of style "temp" or "temp/region" or creates its own compute of style "temp", as if one of this command had
"temp/partial", as if one of these commands had been issued: been issued:
compute fix-ID_temp group-ID temp compute fix-ID_temp group-ID temp :pre
compute fix-ID_temp group-ID temp/region region-ID
compute fix-ID_temp group-ID temp/partial xflag yflag zflag :pre
Which is used depends on whether the {region} or {partial} keywords See the "compute temp"_compute_temp.html for details. Note that the
were specified with the fix. See the "compute ID of the new compute is the fix-ID + underscore + "temp", and the
temp"_compute_temp.html, "compute group for the new compute is the same as the fix group.
temp/region"_compute_temp_region.html, and "compute
temp/partial"_compute_temp_partial.html commands for details. Note
that the ID of the new compute is the fix-ID + underscore + "temp",
and the group for the new compute is the same as the fix group.
Note that this is NOT the compute used by thermodynamic output (see Note that this is NOT the compute used by thermodynamic output (see
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}.
@ -89,17 +73,31 @@ custom"_thermo_style.html command using the appropriate compute-ID.
It also means that changing attributes of {thermo_temp} will have no It also means that changing attributes of {thermo_temp} will have no
effect on this fix. effect on this fix.
Like other fixes that perform thermostatting, this fix can be used
with "compute commands"_compute.html that calculate a temperature
after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the "fix_modify"_fix_modify.html command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual "compute
commands"_compute.html to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
[Restart, fix_modify, output, run start/stop, minimize info:] [Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart No information about this fix is written to "binary restart
files"_restart.html. files"_restart.html.
The "fix_modify"_fix_modify.html {temp} option is supported by this The "fix_modify"_fix_modify.html {temp} option is supported by this
fix. You can use it to assign a "compute"_compute.html you have fix. You can use it to assign a temperature "compute"_compute.html
defined to this fix which will be used in its thermostatting you have defined to this fix which will be used in its thermostatting
procedure. For consistency, if using the keyword {region}, the procedure, as described above. For consistency, the group used by
compute you assign should also be of style this fix and by the compute should be the same.
"temp/region"_compute_temp_region.html.
The "fix_modify"_fix_modify.html {energy} option is supported by this The "fix_modify"_fix_modify.html {energy} option is supported by this
fix to add the energy change implied by a velocity rescaling to the fix to add the energy change implied by a velocity rescaling to the