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 ... 
  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 + 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 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 scalar value calculated by this fix is "extensive", meaning it scales with the number of atoms in the simulation.

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