[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