Syntax:
fix ID group-ID temp/rescale N Tstart Tstop window fraction keyword values ...
region values = region-ID of region to apply rescaling to
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
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. The run command documents how to make the ramping take place across multiple runs.
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.
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", 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
Which is used depends on whether a region was specified with the fix. See the compute temp and >compute temp/region commands for details. Note that the ID of the new compute is the fix-ID with 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. Alternatively, you can directly assign a new compute (for calculating temeperature) that you have defined to this fix via the fix_modify command. For consistency, if using the keyword region, the compute you assign should also be of style temp/region.
This fix makes a contribution to the potential energy of the system that can be included in thermodynamic output of potential energy using the fix_modify energy option. The contribution can also be printed by itself via the keyword f_fix-ID in the thermo_style custom command. Note that because this fix is invoked every N steps and thermodynamic info may be printed every M steps, that unless M is a multiple of N, the energy info accessed will not be for the current timestep.
Restrictions: none
Related commands:
fix langevin, fix nvt, fix_modify
Default: none