[Pw_forum] question on slow rescaling of velocities

degironc degironc at sissa.it
Wed Feb 7 17:46:54 CET 2007


I modified (in the cvs version) the description of delta_t in INPUT_PW 
as you suggested.
thanks,
 stefano

Eduardo Ariel Menendez P wrote:

>Thanks Stefano for the clariying this issue. I have a humble suggestion
>for the documentation (INPUT_PW), which is just a feedback from my own
>doubts and time spent thinking and testing.
>
>This is a section of INPUT_PW
>
>delta_t        REAL ( default = 1.D0 )
>               delta_t = 1                 : every 'nraise' step the actual
>                                             temperature is rescaled to tempw
>               delta_t /= 1 && delta_T > 0 : at each step the temperature is
>                                             multiplied by delta_t; this is
>                                             done rescaling all the velocities.
>               delta_t < 0                 : every 'nraise' steps temperature
>                                             is reduced by -delta_T
>               This keyword is NOT used in the case of variable cell
>               calculations.
>
>This is the way that would be instantly clear to my twin brother or my
>clon, with a few more bytes of disk space.
>
>delta_t        REAL ( default = 1.D0 )
>               delta_t = 1                 : every 'nraise' step the instantaneous
>                                             temperature is rescaled to tempw
>               delta_t /= 1 && delta_T > 0 : at each step the instantaneous temperature is
>                                             multiplied by delta_t; this is
>                                             done rescaling all the velocities. See comment
>                                             below.
>               delta_t < 0                 : every 'nraise' steps the instantaneous temperature
>                                             is reduced by -delta_T. See comment below.
>               This keyword is NOT used in the case of variable cell
>               calculations.
>               The instantaneous temperature is calculated at the end of every
>               ionic move and BEFORE rescaling. This is the temperature reported
>               in the main output.
>               For delta_t /= 1, the actual average rate of heating or cooling
>               should be rougly C*delta_t/(nraise*dt) (C=1 for an
>               ideal gas, C=0.5 for a harmonic solid, theorem of energy
>               equipartition between all quadratic degrees of freedom).
>
>Regards
>Eduardo
>
>  
>
>>Message: 7
>>Date: Mon, 05 Feb 2007 22:51:29 +0100
>>From: degironc <degironc at sissa.it>
>>To: pw_forum at pwscf.org
>>Subject: Re: [Pw_forum] question on slow rescaling of velocities
>>Reply-To: pw_forum at pwscf.org
>>
>>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
>>>_______________________________________________
>>>      
>>>
>k
>_______________________________________________
>Pw_forum mailing list
>Pw_forum at pwscf.org
>http://www.democritos.it/mailman/listinfo/pw_forum
>  
>




More information about the users mailing list