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

Riccardo Bertossa rbertoss at sissa.it
Tue Oct 23 10:53:28 CEST 2018


Hi,

I had too the issue with starting random velocities.
I think I've fixed it in the merge request https://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


> Quoting GIUSEPPE MATTIOLI
> Hi Paolo and Eduardo
> I would like to add some consideration, because I have a similar
> problem. I'm going to simulate the subtraction of one electron from a
> thermalized system. To do this, in previous cp.x versions (up to
> 4.3.2, AFAIK), it was possible to: 1) run a cp.x dynamics
> (electrons+ions) with tot_charge=0.0; 2) minimize the electrons with
> tot_charge=+1.0 using the last geometry saved in the previous run; 3a)
> restart a new cp.x dynamics (electrons+ions) by using wavefunctions
> optimized in step 2) and the last velocities saved in step 1)
> (ion_velocities='from_input'), and run a few steps with a short dt to
> assess the equilibration of the dynamics; 3b) restart again
> (ion_velocities='change_step') by using the same dt as in 1).
>
> However, it is apparently not possible in recent versions, as the cp.x
> manual states that
>
>                      'from_input'  : restart the simulation with atomic
> velocities read
>                                      from standard input - see card
> 'ATOMIC_VELOCITIES'
>                                      BEWARE: works only if
> restart_mode='from_scratch',
>                                      tested only with electrons_dynamics='cg'
>
> As long as you know what you are doing, the simulation of oxidation or
> reduction processes in thermalized systems was a desirable feature of
> cp.x...
> Best
> Giuseppe
>
>
> Quoting Paolo Giannozzi <p.giannozzi at gmail.com 
> <https://lists.quantum-espresso.org/mailman/listinfo/users>>:
>
> >/Hi Eduardo />//>/apparently ions_velocities="random" does not set random initial 
> velocities, />/but velocity rescaling. Not sure why. In any event: I am not sure that />/starting the CP dynamics from ground-state positions and electrons and />/nonzero initial velocities is a good idea. />//>/Paolo />//>/On Sun, Oct 14, 2018 at 8:21 PM Eduardo Menendez <eariel99 at 
> gmail.com <https://lists.quantum-espresso.org/mailman/listinfo/users>> 
> wrote: />//>>/Hi, />>/I am unable to start a MD with CP with random velocities setting an />>/initial temperature, using QE 6.3. Reading the input description I />>/understood that I could start it using ion_velocities = />>/'random', tempw= starting T. However, I always start with 0 temperature. />>//>>/This is my output />>/&CONTROL />>/calculation = 'cp' , />>/restart_mode = 'restart' , />>/pseudo_dir = './' , />>/outdir='./tmp', />>/wfcdir='./tmp', />>/prefix='mapi', />>/nstep = 500, />>/dt = 4.13413733424, />>/ndr = 51, />>/ndw = 51, />>/iprint =50, />>/isave = 50, />>// />>/&SYSTEM />>/ibrav=0, />>/celldm(1)=1.889726132885 , />>/nat=768, />>/ntyp=5, />>/ecutwfc=35.0 ! 50, />>/ecutrho=200.0 , ! 180, />>/input_dft = 'pbesol', />>/nr1b=21, nr2b=21, nr3b=21, ! nr1b=(2*r_cut)/(Lx)*nr1 />>/nbnd = 1700, />>// />>/&ELECTRONS />>/conv_thr = 1.0e-5, />>/! options for CP />>/emass = 400.d0, ! default, Mosconi et al,PCCP 16,16137 (2014), />>/doi: 10.1039/C4CP00569D />>/emass_cutoff = 2.5d0, ! default />>/electron_dynamics = 'verlet' , />>//>>// />>/&IONS />>/ion_dynamics = 'verlet' , ! 'verlet' , />>/! ion_temperature = 'not_controlled', />>/ion_velocities = 'random', />>/tempw = 600.0 , />>// />>/&CELL />>/cell_dynamics = 'none' />>// />>/In the output I read />>/Ionic position will be re-read from restart file />>/All atoms are allowed to move />>/Ionic temperature control via canonical velocities rescaling : />>/temperature required = 600.00000K, tolerance = 100.00000K />>/...... />>/nfi ekinc temph tempp etot />>/enthal econs econt vnhh />>/xnhh0 vnhp xnhp0 />>/5 0.000002129555068 0.0 0.00 -12738.991035174058 />>/-12738.991035174058 -12738.991033373713 -12738.991031244159 0.0000 />>/0.0000 0.0000 0.0000 />>/6 0.000005713182507 0.0 0.00 -12738.991057915813 />>/-12738.991057915813 -12738.991042309621 -12738.991036596439 0.0000 />>/0.0000 0.0000 0.0000 />>//>>/nfi begins at 5 because there were 4 previous steepest descent dynamics />>/(ould I reset the nfi counter? ), which got the wfc from a PWSCF />>/self-consistent run. />>//>>/Thanks, />>//>>/Eduardo Menendez Proupin />>/University of Chile />>/www.gnm.cl/emenendez />>/_______________________________________________ />>/users mailing list />>/users at lists.quantum-espresso.org 
> <https://lists.quantum-espresso.org/mailman/listinfo/users> />>/https://lists.quantum-espresso.org/mailman/listinfo/users />//>//>//>/-- />/Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche, />/Univ. Udine, via delle Scienze 208, 33100 Udine, Italy />/Phone +39-0432-558216, fax +39-0432-558222 /
>
>
> GIUSEPPE MATTIOLI
> CNR - ISTITUTO DI STRUTTURA DELLA MATERIA
> Via Salaria Km 29,300 - C.P. 10
> I-00015 - Monterotondo Scalo (RM)
> Mob (*preferred*) +39 373 7305625
> Tel + 39 06 90672342 - Fax +39 06 90672316
> E-mail: <giuseppe.mattioli at ism.cnr.it 
> <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/29b20bd6/attachment.html>


More information about the users mailing list