LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

### fix temp/rescale command

Syntax:

    fix ID group-ID temp/rescale N Tstart Tstop window fraction keyword values ...

- ID, group-ID are documented in fix command
- temp/rescale = style name of this fix command
- N = perform rescaling every N steps
- Tstart,Tstop = desired temperature at start/end of run (temperature units)
- window = only rescale if temperature is outside this window (temperature units)
- fraction = rescale to target temperature by this fraction
- zero or more keyword/value pairs may be appended
- keyword = region or partial

      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

Examples:

    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 partial 0 1 1

Description:

Reset the temperature of a group of atoms by explicitly rescaling their velocities.

Rescaling is performed every N timesteps. The target temperature is a ramped value between the Tstart and Tstop temperatures at the beginning and end of the run.

Rescaling is only performed if the difference between the current and desired temperatures is greater than the window value. The amount of rescaling that is applied is a fraction (from 0.0 to 1.0) of the difference between the actual and desired temperature. E.g. if fraction = 1.0, the temperature is reset to exactly the desired value.

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.

The keyword partial rescales only the specified velocity components. 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 or langevin fix.

This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp" or "temp/region" or "temp/partial", as if one of these commands had been issued:

    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

Which is used depends on whether the region or partial keywords were specified with the fix. See the compute temp, compute temp/region, and compute temp/partial commands for details. Note that the ID of the new compute is the fix-ID with underscore + "temp" appended 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 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 command or print this temperature during thermodyanmic output via the thermo_style custom command using the appropriate compute-ID. It also means that changing attributes of thermo_temp will have no effect on this fix.

Restart, fix_modify, output, run start/stop, minimize info:

No information about this fix is written to binary restart files.

The fix_modify temp option is supported by this fix. You can use it to assign a compute you have defined to this fix which will be used in its thermostatting procedure. For consistency, if using the keyword region, the compute you assign should also be of style temp/region.

The fix_modify energy option is supported by this fix to add the energy change implied by a velocity rescaling to the system's potential energy as part of thermodynamic output. Note that because this fix is invoked every N steps and thermodynamic info is printed every M steps, that unless M is a multiple of N, the energy contribution will be zero.

The potential energy change due to this fix is stored as a scalar quantity, which can be accessed by various output commands.

The energy change can be printed as part of thermodynamic output via the keyword f_ID, where ID is the fix-ID of this fix. See the thermo_style custom command for details.

This fix can ramp its target temperature over multiple runs, using the start and stop keywords of the run command. See the run command for details of how to do this.

This fix is not invoked during energy minimization.

Restrictions: none

Related commands:

fix langevin, fix nvt, fix_modify

Default: none