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 ... 

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.

This fix computes a temperature each timestep. The fix creates its own method for computing T, as if it had been defined by one of these commands:

temperature fix-ID group-ID full
temperature fix-ID group-ID region region-ID 

Which is used depends on whether a region was specified with the fix. See the temperature command for details. Note that this is NOT the temperature with ID = default. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the temp_modify command or print the temperature with thermodyanmic output via the thermo_style custom command using the appropriate temp-ID = fix-ID. It also means that changing attributes of the default temperature will have no effect on this fix. Alternatively, you can directly assign a new temperature to the fix via the fix_modify command. For consistency, if using the keyword region, the temperature you assign should also be of style region.

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 supports the fix_modify options for thermo and energy. The former will print the contribution the fix makes to the energy of the system when thermodynamics is printed. The latter will add this contribution to the total potential energy (PotEng) so that energy conservation can be monitored. Note that the energy value printed by thermo is not cummulative energy, but energy added in the most recent rescaling. Also note that because this fix is invoked every N steps and thermo may be printed every M steps, that unless M is a multiple of N, the energy info printed by thermo will not be for the current timestep.

Restrictions: none

Related commands:

fix langevin, fix nvt, fix_modify

Default: none