[QE-users] how to obtain random initial velocities with CP

Riccardo Bertossa rbertoss at sissa.it
Tue Oct 23 22:23:00 CEST 2018


Hi

0) the merge request was accepted, so just download the develop branch 
from https://gitlab.com/QEF/q-e

1) larger with respect to the system at equilibrium evolved with wft 
starting with zero velocity? If you give velocities to electrons they 
will have kinetic energy, that has to be greater, for example, to the 
kinetic energy of the electrons after a minimization.

2) Don't know, there are so many variables... what is the system? how 
many steps? is it expensive? what are the typical correlation times of 
the system? ... Knowing nothing, my general suggestion to perform 
equilibration is to do an initial cheap easy-to-equilibrate classical 
molecular dynamics simulation with your favorite force field (not 
necessarily a sophisticated one) and your favorite code. Then use a 
snapshot of the equilibrated classical molecular simulation as a 
starting point for the car-parrinello one (be careful to the units of 
velocities: same units specified for the input of the positions divided 
by time in atomic units). Getting equilibrium in cp should be easier 
with this initial condition.

3) ion_velocities = 'from_input' works also with restart_mode='restart', 
the documentation will be corrected soon. But usually ionic and wfc 
velocities are read from the restart file, not from input, after you 
started the simulation (unless you want to manually change the velocity 
of some atoms). Wfc is always saved in the restart, why you said that it 
would be random?


best,

Riccardo Bertossa

Il 23/10/18 19:34, Eduardo Menendez ha scritto:
> Thank you Riccardo. I followed the link you pointed and I see the 
> issue is fixed, but I do not know how to download the fixed source 
> file(s).
>
> I have more doubts.
>
> 1) I have twice tested the procedure of doing 2 CG steps, then restart 
> the CP simulation. In both cases  I have gotten an increased electron 
> kinetic energy, significantly larger than before the CG steps.
>
> 2) I have succeded to give initial velocities via random initial 
> positions, followed by velocity rescaling, but I stil do not get 
> equilibrium. I find an intriguing statement about the mean square 
> displacements
>
>    Partial temperatures (for each ionic specie)
>    Species  Temp (K)   Mean Square Displacement (a.u.)
>         1   5.54E+02     1.9353E+03
>         2   3.12E+02     1.9354E+03
>         3   2.52E+01     1.9352E+03
>         4   5.43E+02     1.9354E+03
>         5   1.03E+02     1.9355E+03
>
> 3) finally, regarding the documentation statement:
> 'ATOMIC_VELOCITIES'
>   BEWARE: works only if restart_mode='from_scratch',
>   tested only with electrons_dynamics='cg'
> I guess one cannot use 'sd' or 'cp', unless it admits 
> restart_mode='restart', otherwise the wfc would be random. Am I 
> missing something?
>
> Best regards,
>
> Eduardo Menendez Proupin
>
>
> ---------- Forwarded message ----------
> From: Riccardo Bertossa <rbertoss at sissa.it <mailto:rbertoss at sissa.it>>
> To: users at lists.quantum-espresso.org 
> <mailto:users at lists.quantum-espresso.org>
> Cc:
> Bcc:
> Date: Tue, 23 Oct 2018 10:53:28 +0200
> Subject: Re: [QE-users] how to obtain random initial velocities with CP
> Hi,
>
> I had too the issue with starting random velocities.
> I think I've fixed it in the merge requesthttps://gitlab.com/QEF/q-e/merge_requests/189, can you please give it a try?
>
>
> Regarding the reading of the velocities from the input:
> the documentation was wrong, because the units of the velocities were not correctly stated, it was corrected few months ago. I think that it works also without CG.
> But please note that after manually setting the velocities you should do a step of CG, that in fact does two steps in this case
> (one with the starting ions position and one with the position updated with the new velocities), to set the initial wavefunction velocity to a reasonable value with respect to the ions velocities.
> In my experience, if you don't do this, the kinetic energy that the wfc gain at the end is bigger than the kinetic energy that you get with the electron velocities calculated in the "correct" way.
>
> Note also that in the new version, I added an option "change_step" also for the electron_velocities when you change step. This was a little modification to allow a smoother change
> (before the electron velocities was not updated if the timestep changed, increasing the kinetic energy of the electrons that were no more moving, in some sense, following the ions).
> electron_velocities 	CHARACTER
>
>     'zero'      : restart setting electronic velocities to zero
>     'default'   : restart using electronic velocities of the
>                  previous run
>     'change_step' : restart simulation using electronic velocities of the
>                  previous run, with rescaling due to the timestep change.
>                  specify the old step via tolp as in
>                  tolp = 'old_time_step_value' in au.
>                  Note that you may want to specify
>                   ion_velocities = 'change_step'
>               
>
> Note also that the change of dt is correctly implemented in the autopilot module
> (so, it is not necessary to use a restart file, and you can change easily dt on the fly and try more values of it)
>
>
> Best regards
>
>
>
> Riccardo Bertossa
>
> _______________________________________________
> users mailing list
> users at lists.quantum-espresso.org
> https://lists.quantum-espresso.org/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20181023/ea69115e/attachment.html>


More information about the users mailing list