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

Giuseppe Mattioli giuseppe.mattioli at ism.cnr.it
Tue Oct 23 11:48:59 CEST 2018


Dear Riccardo
Thank you for the detailed information.
Best
Giuseppe

Quoting Riccardo Bertossa <rbertoss at sissa.it>:

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



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>



More information about the users mailing list