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