[Pw_forum] question on slow rescaling of velocities

degironc degironc at sissa.it
Mon Feb 5 22:51:29 CET 2007


Temperature rescaling is performed in PW/dynamics_module.f90.
Look for delta_t  and you'll find that

      ! ... delta_t, nraise are used to change the temperature as follows:
      !
      ! ... delta_t = 1 :                   every 'nraise' step the actual
      ! ...                                 temperature is rescaled to the
      ! ...                                 initial value.
      ! ... delta_t /= 1 and delta_t > 0 :  at each step the actual 
temperature
      ! ...                                 is multiplied by delta_t; 
this is
      ! ...                                 done rescaling all the 
velocities.
      ! ... delta_t < 0 :                   every 'nraise' step the 
temperature
      ! ...                                 reduced by -delta_t.
      !
Searching further for delta_t you'll find the actual code dealing with 
temperature rescaling
(which is rather straightforward).
 
Thus for delta_t < 0 every nraise steps the kinetic energy is rescaled 
so as to
reduce the (istantaneous) temperature by delta_t .
Temperature rescaling is a way to extract energy from your system by 
reducing
the kinetic energy, however kinetic and potential energy are roughly in 
equilibrium
(energy equipartition between all quadratic degrees of freedom if you 
are close to
equilibrium) thus the amount of energy you should extract is roughly 
twice the change
in kinetic energy (temperature) that you want at the end.

An alternative could be (I think, never actually tried) to restart the 
calculation setting the
input temperature to the desired temperaure and define delta_t=1 and 
nraise to something like
50-100. In this way every nraise steps the temperature (calculated as  
the average kinetic energy
in the last nraise steps) will be rescaled to the input temperature. 
Within a few rescaling cycles
it should stabilize at the desired temperature.

stefano
  

Eduardo Ariel Menendez P wrote:

>Hi,
>I am changing the temperature of a sample from 3000 to 1360 K. I thought
>that with the setting below the temperature would rescale in 200 steps,
>but it goes much more slowly.
>
> &IONS
>                ion_dynamics = 'verlet' ,
>                     upscale = 10.D0 ,
>             ion_temperature = 'rescaling' ,
>                       tempw = 3000.D0 ,
>                        tolp = 1.D-3 ,
>                        nraise = 1,
>                        delta_t = -8.2D0,
>
>1) IS there somthing wrong in this setting?
>2) Is the net temperature rescaling equal to delta_t*nstep/nraise, or this
>is only an estimate?
>3) It seems that I must either scale longer time or increase delta_t. Is
>there any other option?
>
>Thanks
>Eduardo
>_______________________________________________
>Pw_forum mailing list
>Pw_forum at pwscf.org
>http://www.democritos.it/mailman/listinfo/pw_forum
>  
>




More information about the users mailing list