[QE-users] Random seed for MD calculations
Han Hsu (徐翰)
hanhsu at ncu.edu.tw
Sun Aug 27 09:32:53 CEST 2023
Dear Professor Giannozzi,
Thank you very much for the update. I am glad that my suggestion helps. I
look forward to the next release.
Best wishes,
Han
On Fri, Aug 25, 2023 at 8:58 PM Paolo Giannozzi <paolo.giannozzi at uniud.it>
wrote:
> Thank you for noticing again a problem. It will be fixed in next release:
> https://gitlab.com/QEF/q-e/-/merge_requests/2137
> Paolo
>
> On 8/14/23 19:24, Han Hsu (徐翰) wrote:
> >
> > You don't often get email from hanhsu at ncu.edu.tw. Learn why this is
> > important <https://aka.ms/LearnAboutSenderIdentification>
> >
> >
> > Dear Professor Giannozzi, QE developers, and QE users:
> >
> > Previously, I reported that while the patch file provided by Prof.
> > Giannozzi works (namely, not all restart MD calculations got the same
> > sequence of the random numbers), a particular sequence of random numbers
> > is generated much more frequently than the others: Nearly half of my
> > restart calculations got that sequence of random numbers. Now I think I
> > have found out the reason why. By modifying Modules/random_numbers.f90,
> > in particular, its subroutine "set_random_seed" (lines 74–87), this
> > problem can be resolved, as described below.
> >
> > In the subroutine "set_random_seed" , the parameter "iseed" is generated
> > based on the system time (lines 81–84), as shown below. By calling
> > "date_and_time", the system time is extracted in terms of eight numbers
> > (year, month, ..., milliseonds). Four of these numbers are adopted to
> > generate "iseed", including the time difference with respect to UTC (in
> > minutes) [itime(4)], and minutes, seconds, and milliseconds
> > [itime(6–8)]. Among them, I find the inclusion of itime(4)
> > incomprehensible, as this term is a constant based on the location of
> > the computer. Remarkably, in the UK, itime(4)= 0, meaning this term has
> > ZERO effects on "iseed", so why should it be included anyway? By
> > contrast, in my country Taiwan (GMT+8), itime(4)= 480, which results in
> > a much larger "iseed" than in the UK, by up to hundreds of times...
> >
> > CALL date_and_time ( values = itime )
> > ! itime contains: year, month, day, time difference in minutes, hours,
> > ! minutes, seconds and milliseconds.
> > iseed = ( itime(8) + itime(6) ) * ( itime(7) + itime(4) )
> > irand = randy ( iseed )
> >
> > Given the above analysis, I modified this subroutine by replacing
> > itime(4) with itime(5) (namely, hours), making "iseed" fully
> > time-dependent. With this modification, all my test calculations
> > (from_scratch and all the restart rounds) got different sequences of
> > random numbers. If this modification is correct, perhaps it can be
> > included in the next release of Quantum Espresso (7.3)?
> >
> > Thank you for your suggestions and advice.
> >
> > Best regards,
> >
> > Han Hsu
> >
> > On Sat, Aug 12, 2023 at 1:25 AM Han Hsu (徐翰) <hanhsu at ncu.edu.tw
> > <mailto:hanhsu at ncu.edu.tw>> wrote:
> >
> > Dear Professor Giannozzi
> >
> > Thank you very much for the patch file. It works!! Now, the random
> > numbers generated in all rounds of calculations (including
> > from_scratch and all the restart calculations) are not always
> > repetitive.
> >
> > After more tests, however, I noticed that some "random numbers" are
> > generated much much more frequently than the others. Not
> > surprisingly, this occurs in both 'andersen' and 'svr' thermostats.
> > What surprises me is that this occurs on different machines at
> > different institutes as well. I therefore believe this should be
> > reported, as further described below.
> >
> > Again, all the test runs were performed using a 8-atom cell of fcc
> > Si, with dt = 20, tempw = 600. Each run lasts for 12000 steps,
> > divided into a from_scratch (steps 1–1000) and 11 restart
> > calculations (steps 1001–2000, 2001–3000, ..., 11001–12000). Both
> > 'andersen' and 'svr' are tested (nraise = 100). A few representative
> > results obtained on two different machines are shown below (JobID on
> > these two machines are very different). In order to print out the
> > random numbers, additional WRITE statements are added to the patched
> > dynamics_module.f90 file.
> >
> >
> > (1) svr (random numbers R1, R2, ..., R_Nf are generated in each step)
> >
> > In run_4323, same sequence of random numbers were generated in
> > rounds 2, 4, 6, 8, 10, and 12. In run_6632321 (on a different
> > machine), same sequence of random numbers were generated in rounds
> > 3, 5, 6, 7, 8, and 12. Furthermore, all these 12 rounds on two
> > different machines got the same sequence of random numbers...
> >
> > ===========
> > run_4323
> > ===========
> > In pwscf.md.1.out, ...
> > Entering Dynamics: iteration = 1
> > rr**2 = R1**2 = 0.5153
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 26.0457
> > Entering Dynamics: iteration = 2
> > rr**2 = R1**2 = 0.0411
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 14.9090
> > Entering Dynamics: iteration = 3
> > rr**2 = R1**2 = 0.2940
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 20.9707
> > Entering Dynamics: iteration = 4
> > rr**2 = R1**2 = 1.0311
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.6863
> > Entering Dynamics: iteration = 5
> > rr**2 = R1**2 = 0.0971
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 8.4677
> > Entering Dynamics: iteration = 6
> > rr**2 = R1**2 = 0.1053
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 16.8005
> > Entering Dynamics: iteration = 7
> > rr**2 = R1**2 = 1.3552
> > In pwscf.md.2.out, ...
> > Entering Dynamics: iteration = 1001
> > rr**2 = R1**2 = 1.4715
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.4598
> > Entering Dynamics: iteration = 1002
> > rr**2 = R1**2 = 1.1178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.6385
> > Entering Dynamics: iteration = 1003
> > rr**2 = R1**2 = 1.3458
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.8245
> > Entering Dynamics: iteration = 1004
> > rr**2 = R1**2 = 0.6379
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.7133
> > Entering Dynamics: iteration = 1005
> > rr**2 = R1**2 = 0.0146
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.9063
> > Entering Dynamics: iteration = 1006
> > rr**2 = R1**2 = 2.2273
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > Entering Dynamics: iteration = 1007
> > rr**2 = R1**2 = 0.0441
> > In pwscf.md.3.out, ...
> > Entering Dynamics: iteration = 2001
> > rr**2 = R1**2 = 0.0243
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.0970
> > Entering Dynamics: iteration = 2002
> > rr**2 = R1**2 = 0.8330
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 16.2563
> > Entering Dynamics: iteration = 2003
> > rr**2 = R1**2 = 1.2013
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.2091
> > Entering Dynamics: iteration = 2004
> > rr**2 = R1**2 = 2.0586
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 8.7939
> > Entering Dynamics: iteration = 2005
> > rr**2 = R1**2 = 0.1827
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.2563
> > Entering Dynamics: iteration = 2006
> > rr**2 = R1**2 = 0.0228
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 12.6388
> > Entering Dynamics: iteration = 2007
> > rr**2 = R1**2 = 2.0902
> > In pwscf.md.4.out, ...
> > Entering Dynamics: iteration = 3001
> > rr**2 = R1**2 = 1.4715
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.4598
> > Entering Dynamics: iteration = 3002
> > rr**2 = R1**2 = 1.1178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.6385
> > Entering Dynamics: iteration = 3003
> > rr**2 = R1**2 = 1.3458
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.8245
> > Entering Dynamics: iteration = 3004
> > rr**2 = R1**2 = 0.6379
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.7133
> > Entering Dynamics: iteration = 3005
> > rr**2 = R1**2 = 0.0146
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.9063
> > Entering Dynamics: iteration = 3006
> > rr**2 = R1**2 = 2.2273
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > Entering Dynamics: iteration = 3007
> > rr**2 = R1**2 = 0.0441
> > In pwscf.md.5.out, ...
> > Entering Dynamics: iteration = 4001
> > rr**2 = R1**2 = 0.2530
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 32.6780
> > Entering Dynamics: iteration = 4002
> > rr**2 = R1**2 = 1.3396
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 20.7820
> > Entering Dynamics: iteration = 4003
> > rr**2 = R1**2 = 1.5373
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.2314
> > Entering Dynamics: iteration = 4004
> > rr**2 = R1**2 = 0.1242
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 20.5036
> > Entering Dynamics: iteration = 4005
> > rr**2 = R1**2 = 3.9032
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 29.7656
> > Entering Dynamics: iteration = 4006
> > rr**2 = R1**2 = 0.2589
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 34.8099
> > Entering Dynamics: iteration = 4007
> > rr**2 = R1**2 = 0.7697
> > In pwscf.md.6.out, ...
> > Entering Dynamics: iteration = 5001
> > rr**2 = R1**2 = 1.4715
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.4598
> > Entering Dynamics: iteration = 5002
> > rr**2 = R1**2 = 1.1178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.6385
> > Entering Dynamics: iteration = 5003
> > rr**2 = R1**2 = 1.3458
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.8245
> > Entering Dynamics: iteration = 5004
> > rr**2 = R1**2 = 0.6379
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.7133
> > Entering Dynamics: iteration = 5005
> > rr**2 = R1**2 = 0.0146
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.9063
> > Entering Dynamics: iteration = 5006
> > rr**2 = R1**2 = 2.2273
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > Entering Dynamics: iteration = 5007
> > rr**2 = R1**2 = 0.0441
> > In pwscf.md.7.out, ...
> > Entering Dynamics: iteration = 6001
> > rr**2 = R1**2 = 2.6903
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 37.9392
> > Entering Dynamics: iteration = 6002
> > rr**2 = R1**2 = 0.0692
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 28.5578
> > Entering Dynamics: iteration = 6003
> > rr**2 = R1**2 = 2.1152
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 27.7485
> > Entering Dynamics: iteration = 6004
> > rr**2 = R1**2 = 0.9331
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 14.8966
> > Entering Dynamics: iteration = 6005
> > rr**2 = R1**2 = 2.9484
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 21.5477
> > Entering Dynamics: iteration = 6006
> > rr**2 = R1**2 = 3.1608
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.2826
> > Entering Dynamics: iteration = 6007
> > rr**2 = R1**2 = 1.1782
> > In pwscf.md.8.out, ...
> > Entering Dynamics: iteration = 7001
> > rr**2 = R1**2 = 1.4715
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.4598
> > Entering Dynamics: iteration = 7002
> > rr**2 = R1**2 = 1.1178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.6385
> > Entering Dynamics: iteration = 7003
> > rr**2 = R1**2 = 1.3458
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.8245
> > Entering Dynamics: iteration = 7004
> > rr**2 = R1**2 = 0.6379
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.7133
> > Entering Dynamics: iteration = 7005
> > rr**2 = R1**2 = 0.0146
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.9063
> > Entering Dynamics: iteration = 7006
> > rr**2 = R1**2 = 2.2273
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > Entering Dynamics: iteration = 7007
> > rr**2 = R1**2 = 0.0441
> > In pwscf.md.9.out, ...
> > Entering Dynamics: iteration = 8001
> > rr**2 = R1**2 = 0.3924
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 13.3758
> > Entering Dynamics: iteration = 8002
> > rr**2 = R1**2 = 0.0280
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.0291
> > Entering Dynamics: iteration = 8003
> > rr**2 = R1**2 = 0.4009
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 9.2801
> > Entering Dynamics: iteration = 8004
> > rr**2 = R1**2 = 7.4547
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 12.8219
> > Entering Dynamics: iteration = 8005
> > rr**2 = R1**2 = 0.1901
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.8295
> > Entering Dynamics: iteration = 8006
> > rr**2 = R1**2 = 3.9323
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 7.4508
> > Entering Dynamics: iteration = 8007
> > rr**2 = R1**2 = 0.5293
> > In pwscf.md.10.out, ...
> > Entering Dynamics: iteration = 9001
> > rr**2 = R1**2 = 1.4715
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.4598
> > Entering Dynamics: iteration = 9002
> > rr**2 = R1**2 = 1.1178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.6385
> > Entering Dynamics: iteration = 9003
> > rr**2 = R1**2 = 1.3458
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.8245
> > Entering Dynamics: iteration = 9004
> > rr**2 = R1**2 = 0.6379
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.7133
> > Entering Dynamics: iteration = 9005
> > rr**2 = R1**2 = 0.0146
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.9063
> > Entering Dynamics: iteration = 9006
> > rr**2 = R1**2 = 2.2273
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > Entering Dynamics: iteration = 9007
> > rr**2 = R1**2 = 0.0441
> > In pwscf.md.11.out, ...
> > Entering Dynamics: iteration = 10001
> > rr**2 = R1**2 = 0.3791
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.5365
> > Entering Dynamics: iteration = 10002
> > rr**2 = R1**2 = 0.0077
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 29.3416
> > Entering Dynamics: iteration = 10003
> > rr**2 = R1**2 = 0.6284
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 32.4019
> > Entering Dynamics: iteration = 10004
> > rr**2 = R1**2 = 0.4572
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 16.9506
> > Entering Dynamics: iteration = 10005
> > rr**2 = R1**2 = 4.8563
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 20.8781
> > Entering Dynamics: iteration = 10006
> > rr**2 = R1**2 = 5.3850
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 16.7095
> > Entering Dynamics: iteration = 10007
> > rr**2 = R1**2 = 2.0461
> > In pwscf.md.12.out, ...
> > Entering Dynamics: iteration = 11001
> > rr**2 = R1**2 = 1.4715
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.4598
> > Entering Dynamics: iteration = 11002
> > rr**2 = R1**2 = 1.1178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.6385
> > Entering Dynamics: iteration = 11003
> > rr**2 = R1**2 = 1.3458
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.8245
> > Entering Dynamics: iteration = 11004
> > rr**2 = R1**2 = 0.6379
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.7133
> > Entering Dynamics: iteration = 11005
> > rr**2 = R1**2 = 0.0146
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.9063
> > Entering Dynamics: iteration = 11006
> > rr**2 = R1**2 = 2.2273
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > Entering Dynamics: iteration = 11007
> > rr**2 = R1**2 = 0.0441
> >
> > ===========
> > run_6632321
> > ===========
> > In pwscf.md.1.out, ...
> > Entering Dynamics: iteration = 1
> > rr**2 = R1**2 = 0.0002
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 16.0931
> > Entering Dynamics: iteration = 2
> > rr**2 = R1**2 = 0.4551
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 16.9707
> > Entering Dynamics: iteration = 3
> > rr**2 = R1**2 = 0.4066
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.9916
> > Entering Dynamics: iteration = 4
> > rr**2 = R1**2 = 0.1343
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.5648
> > Entering Dynamics: iteration = 5
> > rr**2 = R1**2 = 0.0178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.4946
> > Entering Dynamics: iteration = 6
> > rr**2 = R1**2 = 0.0675
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 20.0069
> > Entering Dynamics: iteration = 7
> > rr**2 = R1**2 = 0.0900
> > In pwscf.md.2.out, ...
> > Entering Dynamics: iteration = 1001
> > rr**2 = R1**2 = 0.0005
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.2561
> > Entering Dynamics: iteration = 1002
> > rr**2 = R1**2 = 5.9788
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 17.5861
> > Entering Dynamics: iteration = 1003
> > rr**2 = R1**2 = 6.3549
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 21.5348
> > Entering Dynamics: iteration = 1004
> > rr**2 = R1**2 = 0.2456
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 21.4447
> > Entering Dynamics: iteration = 1005
> > rr**2 = R1**2 = 3.4239
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.1115
> > Entering Dynamics: iteration = 1006
> > rr**2 = R1**2 = 7.3649
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 27.9920
> > Entering Dynamics: iteration = 1007
> > rr**2 = R1**2 = 0.0014
> > In pwscf.md.3.out, ...
> > Entering Dynamics: iteration = 2001
> > rr**2 = R1**2 = 1.4715
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.4598
> > Entering Dynamics: iteration = 2002
> > rr**2 = R1**2 = 1.1178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.6385
> > Entering Dynamics: iteration = 2003
> > rr**2 = R1**2 = 1.3458
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.8245
> > Entering Dynamics: iteration = 2004
> > rr**2 = R1**2 = 0.6379
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.7133
> > Entering Dynamics: iteration = 2005
> > rr**2 = R1**2 = 0.0146
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.9063
> > Entering Dynamics: iteration = 2006
> > rr**2 = R1**2 = 2.2273
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > Entering Dynamics: iteration = 2007
> > rr**2 = R1**2 = 0.0441
> > In pwscf.md.4.out, ...
> > Entering Dynamics: iteration = 3001
> > rr**2 = R1**2 = 5.4303
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.3932
> > Entering Dynamics: iteration = 3002
> > rr**2 = R1**2 = 1.8734
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 13.0914
> > Entering Dynamics: iteration = 3003
> > rr**2 = R1**2 = 2.5076
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.2020
> > Entering Dynamics: iteration = 3004
> > rr**2 = R1**2 = 0.1433
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 20.0210
> > Entering Dynamics: iteration = 3005
> > rr**2 = R1**2 = 0.0064
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.3024
> > Entering Dynamics: iteration = 3006
> > rr**2 = R1**2 = 0.0149
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 20.2369
> > Entering Dynamics: iteration = 3007
> > rr**2 = R1**2 = 0.0167
> > In pwscf.md.5.out, ...
> > Entering Dynamics: iteration = 4001
> > rr**2 = R1**2 = 1.4715
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.4598
> > Entering Dynamics: iteration = 4002
> > rr**2 = R1**2 = 1.1178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.6385
> > Entering Dynamics: iteration = 4003
> > rr**2 = R1**2 = 1.3458
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.8245
> > Entering Dynamics: iteration = 4004
> > rr**2 = R1**2 = 0.6379
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.7133
> > Entering Dynamics: iteration = 4005
> > rr**2 = R1**2 = 0.0146
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.9063
> > Entering Dynamics: iteration = 4006
> > rr**2 = R1**2 = 2.2273
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > Entering Dynamics: iteration = 4007
> > rr**2 = R1**2 = 0.0441
> > In pwscf.md.6.out, ...
> > Entering Dynamics: iteration = 5001
> > rr**2 = R1**2 = 1.4715
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.4598
> > Entering Dynamics: iteration = 5002
> > rr**2 = R1**2 = 1.1178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.6385
> > Entering Dynamics: iteration = 5003
> > rr**2 = R1**2 = 1.3458
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.8245
> > Entering Dynamics: iteration = 5004
> > rr**2 = R1**2 = 0.6379
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.7133
> > Entering Dynamics: iteration = 5005
> > rr**2 = R1**2 = 0.0146
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.9063
> > Entering Dynamics: iteration = 5006
> > rr**2 = R1**2 = 2.2273
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > Entering Dynamics: iteration = 5007
> > rr**2 = R1**2 = 0.0441
> > In pwscf.md.7.out, ...
> > Entering Dynamics: iteration = 6001
> > rr**2 = R1**2 = 1.4715
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.4598
> > Entering Dynamics: iteration = 6002
> > rr**2 = R1**2 = 1.1178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.6385
> > Entering Dynamics: iteration = 6003
> > rr**2 = R1**2 = 1.3458
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.8245
> > Entering Dynamics: iteration = 6004
> > rr**2 = R1**2 = 0.6379
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.7133
> > Entering Dynamics: iteration = 6005
> > rr**2 = R1**2 = 0.0146
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.9063
> > Entering Dynamics: iteration = 6006
> > rr**2 = R1**2 = 2.2273
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > Entering Dynamics: iteration = 6007
> > rr**2 = R1**2 = 0.0441
> > In pwscf.md.8.out, ...
> > Entering Dynamics: iteration = 7001
> > rr**2 = R1**2 = 1.4715
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.4598
> > Entering Dynamics: iteration = 7002
> > rr**2 = R1**2 = 1.1178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.6385
> > Entering Dynamics: iteration = 7003
> > rr**2 = R1**2 = 1.3458
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.8245
> > Entering Dynamics: iteration = 7004
> > rr**2 = R1**2 = 0.6379
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.7133
> > Entering Dynamics: iteration = 7005
> > rr**2 = R1**2 = 0.0146
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.9063
> > Entering Dynamics: iteration = 7006
> > rr**2 = R1**2 = 2.2273
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > Entering Dynamics: iteration = 7007
> > rr**2 = R1**2 = 0.0441
> > In pwscf.md.9.out, ...
> > Entering Dynamics: iteration = 8001
> > rr**2 = R1**2 = 0.4205
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 14.5080
> > Entering Dynamics: iteration = 8002
> > rr**2 = R1**2 = 0.3050
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.6254
> > Entering Dynamics: iteration = 8003
> > rr**2 = R1**2 = 0.0240
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 30.3102
> > Entering Dynamics: iteration = 8004
> > rr**2 = R1**2 = 0.3059
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 27.2656
> > Entering Dynamics: iteration = 8005
> > rr**2 = R1**2 = 1.3938
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 25.6995
> > Entering Dynamics: iteration = 8006
> > rr**2 = R1**2 = 0.1644
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 20.0694
> > Entering Dynamics: iteration = 8007
> > rr**2 = R1**2 = 0.9569
> > In pwscf.md.10.out, ...
> > Entering Dynamics: iteration = 9001
> > rr**2 = R1**2 = 0.0004
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.3357
> > Entering Dynamics: iteration = 9002
> > rr**2 = R1**2 = 0.6318
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 29.0240
> > Entering Dynamics: iteration = 9003
> > rr**2 = R1**2 = 1.6068
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 16.8952
> > Entering Dynamics: iteration = 9004
> > rr**2 = R1**2 = 8.1291
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 20.1966
> > Entering Dynamics: iteration = 9005
> > rr**2 = R1**2 = 0.3745
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 17.5602
> > Entering Dynamics: iteration = 9006
> > rr**2 = R1**2 = 0.2051
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 9.9412
> > Entering Dynamics: iteration = 9007
> > rr**2 = R1**2 = 0.6497
> > In pwscf.md.11.out, ...
> > Entering Dynamics: iteration = 10001
> > rr**2 = R1**2 = 0.2037
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 12.8909
> > Entering Dynamics: iteration = 10002
> > rr**2 = R1**2 = 1.7910
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 25.1091
> > Entering Dynamics: iteration = 10003
> > rr**2 = R1**2 = 0.0001
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.1760
> > Entering Dynamics: iteration = 10004
> > rr**2 = R1**2 = 1.5191
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 28.9042
> > Entering Dynamics: iteration = 10005
> > rr**2 = R1**2 = 0.1570
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 16.3407
> > Entering Dynamics: iteration = 10006
> > rr**2 = R1**2 = 1.5338
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 22.1876
> > Entering Dynamics: iteration = 10007
> > rr**2 = R1**2 = 0.8845
> > In pwscf.md.12.out, ...
> > Entering Dynamics: iteration = 11001
> > rr**2 = R1**2 = 1.4715
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 24.4598
> > Entering Dynamics: iteration = 11002
> > rr**2 = R1**2 = 1.1178
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.6385
> > Entering Dynamics: iteration = 11003
> > rr**2 = R1**2 = 1.3458
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 15.8245
> > Entering Dynamics: iteration = 11004
> > rr**2 = R1**2 = 0.6379
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.7133
> > Entering Dynamics: iteration = 11005
> > rr**2 = R1**2 = 0.0146
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 11.9063
> > Entering Dynamics: iteration = 11006
> > rr**2 = R1**2 = 2.2273
> > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > Entering Dynamics: iteration = 11007
> > rr**2 = R1**2 = 0.0441
> >
> >
> > (2) andersen (atoms are randomly selected in each step)
> >
> > In run_4347, rounds 2, 5, 7, 8, 9, 11, and 12, atoms were randomly
> > selected in the same manner. In run_6632450 (on a different
> > machine), rounds 2, 4, 5, 6, 7, 8, 10, and 11, atoms were randomly
> > selected in the same manner. Furthermore, in all these 15 rounds on
> > two different machines, atoms were randomly selected in the same
> > manner...
> >
> > ===========
> > run_4347
> > ===========
> > In pwscf.md.1.out, ...
> > Entering Dynamics: iteration = 1
> > Atom # 2 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 2
> > Entering Dynamics: iteration = 3
> > Entering Dynamics: iteration = 4
> > Entering Dynamics: iteration = 5
> > Entering Dynamics: iteration = 6
> > Entering Dynamics: iteration = 7
> > Entering Dynamics: iteration = 8
> > Entering Dynamics: iteration = 9
> > Entering Dynamics: iteration = 10
> > Entering Dynamics: iteration = 11
> > Entering Dynamics: iteration = 12
> > Entering Dynamics: iteration = 13
> > Entering Dynamics: iteration = 14
> > Entering Dynamics: iteration = 15
> > Entering Dynamics: iteration = 16
> > Entering Dynamics: iteration = 17
> > Entering Dynamics: iteration = 18
> > In pwscf.md.2.out, ...
> > Entering Dynamics: iteration = 1001
> > Entering Dynamics: iteration = 1002
> > Entering Dynamics: iteration = 1003
> > Entering Dynamics: iteration = 1004
> > Entering Dynamics: iteration = 1005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 1006
> > Entering Dynamics: iteration = 1007
> > Entering Dynamics: iteration = 1008
> > Entering Dynamics: iteration = 1009
> > Entering Dynamics: iteration = 1010
> > Entering Dynamics: iteration = 1011
> > Entering Dynamics: iteration = 1012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 1013
> > Entering Dynamics: iteration = 1014
> > Entering Dynamics: iteration = 1015
> > Entering Dynamics: iteration = 1016
> > In pwscf.md.3.out, ...
> > Entering Dynamics: iteration = 2001
> > Entering Dynamics: iteration = 2002
> > Entering Dynamics: iteration = 2003
> > Entering Dynamics: iteration = 2004
> > Entering Dynamics: iteration = 2005
> > Entering Dynamics: iteration = 2006
> > Entering Dynamics: iteration = 2007
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 2008
> > Entering Dynamics: iteration = 2009
> > Entering Dynamics: iteration = 2010
> > Entering Dynamics: iteration = 2011
> > Atom # 1 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 2012
> > Entering Dynamics: iteration = 2013
> > Entering Dynamics: iteration = 2014
> > Entering Dynamics: iteration = 2015
> > Entering Dynamics: iteration = 2016
> > In pwscf.md.4.out, ...
> > Entering Dynamics: iteration = 3001
> > Entering Dynamics: iteration = 3002
> > Entering Dynamics: iteration = 3003
> > Entering Dynamics: iteration = 3004
> > Entering Dynamics: iteration = 3005
> > Entering Dynamics: iteration = 3006
> > Entering Dynamics: iteration = 3007
> > Entering Dynamics: iteration = 3008
> > Entering Dynamics: iteration = 3009
> > Entering Dynamics: iteration = 3010
> > Entering Dynamics: iteration = 3011
> > Atom # 5 is randomly selected
> > Atom # 7 is randomly selected
> > Andersen thermostat: 2 collisions
> > Entering Dynamics: iteration = 3012
> > Entering Dynamics: iteration = 3013
> > Atom # 1 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 3014
> > Atom # 4 is randomly selected
> > In pwscf.md.5.out, ...
> > Entering Dynamics: iteration = 4001
> > Entering Dynamics: iteration = 4002
> > Entering Dynamics: iteration = 4003
> > Entering Dynamics: iteration = 4004
> > Entering Dynamics: iteration = 4005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 4006
> > Entering Dynamics: iteration = 4007
> > Entering Dynamics: iteration = 4008
> > Entering Dynamics: iteration = 4009
> > Entering Dynamics: iteration = 4010
> > Entering Dynamics: iteration = 4011
> > Entering Dynamics: iteration = 4012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 4013
> > Entering Dynamics: iteration = 4014
> > Entering Dynamics: iteration = 4015
> > Entering Dynamics: iteration = 4016
> > In pwscf.md.6.out, ...
> > Entering Dynamics: iteration = 5001
> > Entering Dynamics: iteration = 5002
> > Entering Dynamics: iteration = 5003
> > Entering Dynamics: iteration = 5004
> > Atom # 4 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 5005
> > Entering Dynamics: iteration = 5006
> > Entering Dynamics: iteration = 5007
> > Atom # 2 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 5008
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 5009
> > Entering Dynamics: iteration = 5010
> > Entering Dynamics: iteration = 5011
> > Entering Dynamics: iteration = 5012
> > Entering Dynamics: iteration = 5013
> > Entering Dynamics: iteration = 5014
> > In pwscf.md.7.out, ...
> > Entering Dynamics: iteration = 6001
> > Entering Dynamics: iteration = 6002
> > Entering Dynamics: iteration = 6003
> > Entering Dynamics: iteration = 6004
> > Entering Dynamics: iteration = 6005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 6006
> > Entering Dynamics: iteration = 6007
> > Entering Dynamics: iteration = 6008
> > Entering Dynamics: iteration = 6009
> > Entering Dynamics: iteration = 6010
> > Entering Dynamics: iteration = 6011
> > Entering Dynamics: iteration = 6012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 6013
> > Entering Dynamics: iteration = 6014
> > Entering Dynamics: iteration = 6015
> > Entering Dynamics: iteration = 6016
> > In pwscf.md.8.out, ...
> > Entering Dynamics: iteration = 7001
> > Entering Dynamics: iteration = 7002
> > Entering Dynamics: iteration = 7003
> > Entering Dynamics: iteration = 7004
> > Entering Dynamics: iteration = 7005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 7006
> > Entering Dynamics: iteration = 7007
> > Entering Dynamics: iteration = 7008
> > Entering Dynamics: iteration = 7009
> > Entering Dynamics: iteration = 7010
> > Entering Dynamics: iteration = 7011
> > Entering Dynamics: iteration = 7012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 7013
> > Entering Dynamics: iteration = 7014
> > Entering Dynamics: iteration = 7015
> > Entering Dynamics: iteration = 7016
> > In pwscf.md.9.out, ...
> > Entering Dynamics: iteration = 8001
> > Entering Dynamics: iteration = 8002
> > Entering Dynamics: iteration = 8003
> > Entering Dynamics: iteration = 8004
> > Entering Dynamics: iteration = 8005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 8006
> > Entering Dynamics: iteration = 8007
> > Entering Dynamics: iteration = 8008
> > Entering Dynamics: iteration = 8009
> > Entering Dynamics: iteration = 8010
> > Entering Dynamics: iteration = 8011
> > Entering Dynamics: iteration = 8012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 8013
> > Entering Dynamics: iteration = 8014
> > Entering Dynamics: iteration = 8015
> > Entering Dynamics: iteration = 8016
> > In pwscf.md.10.out, ...
> > Entering Dynamics: iteration = 9001
> > Entering Dynamics: iteration = 9002
> > Entering Dynamics: iteration = 9003
> > Entering Dynamics: iteration = 9004
> > Entering Dynamics: iteration = 9005
> > Entering Dynamics: iteration = 9006
> > Entering Dynamics: iteration = 9007
> > Entering Dynamics: iteration = 9008
> > Entering Dynamics: iteration = 9009
> > Entering Dynamics: iteration = 9010
> > Entering Dynamics: iteration = 9011
> > Entering Dynamics: iteration = 9012
> > Entering Dynamics: iteration = 9013
> > Entering Dynamics: iteration = 9014
> > Atom # 3 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 9015
> > Atom # 3 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 9016
> > In pwscf.md.11.out, ...
> > Entering Dynamics: iteration = 10001
> > Entering Dynamics: iteration = 10002
> > Entering Dynamics: iteration = 10003
> > Entering Dynamics: iteration = 10004
> > Entering Dynamics: iteration = 10005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 10006
> > Entering Dynamics: iteration = 10007
> > Entering Dynamics: iteration = 10008
> > Entering Dynamics: iteration = 10009
> > Entering Dynamics: iteration = 10010
> > Entering Dynamics: iteration = 10011
> > Entering Dynamics: iteration = 10012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 10013
> > Entering Dynamics: iteration = 10014
> > Entering Dynamics: iteration = 10015
> > Entering Dynamics: iteration = 10016
> > In pwscf.md.12.out, ...
> > Entering Dynamics: iteration = 11001
> > Entering Dynamics: iteration = 11002
> > Entering Dynamics: iteration = 11003
> > Entering Dynamics: iteration = 11004
> > Entering Dynamics: iteration = 11005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 11006
> > Entering Dynamics: iteration = 11007
> > Entering Dynamics: iteration = 11008
> > Entering Dynamics: iteration = 11009
> > Entering Dynamics: iteration = 11010
> > Entering Dynamics: iteration = 11011
> > Entering Dynamics: iteration = 11012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 11013
> > Entering Dynamics: iteration = 11014
> > Entering Dynamics: iteration = 11015
> > Entering Dynamics: iteration = 11016
> >
> >
> > ===========
> > run_6632450
> > ===========
> > In pwscf.md.1.out, ...
> > Entering Dynamics: iteration = 1
> > Atom # 2 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 2
> > Entering Dynamics: iteration = 3
> > Entering Dynamics: iteration = 4
> > Entering Dynamics: iteration = 5
> > Entering Dynamics: iteration = 6
> > Entering Dynamics: iteration = 7
> > Entering Dynamics: iteration = 8
> > Entering Dynamics: iteration = 9
> > Entering Dynamics: iteration = 10
> > Entering Dynamics: iteration = 11
> > Entering Dynamics: iteration = 12
> > Entering Dynamics: iteration = 13
> > Entering Dynamics: iteration = 14
> > Entering Dynamics: iteration = 15
> > Entering Dynamics: iteration = 16
> > Entering Dynamics: iteration = 17
> > Entering Dynamics: iteration = 18
> > In pwscf.md.2.out, ...
> > Entering Dynamics: iteration = 1001
> > Entering Dynamics: iteration = 1002
> > Entering Dynamics: iteration = 1003
> > Entering Dynamics: iteration = 1004
> > Entering Dynamics: iteration = 1005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 1006
> > Entering Dynamics: iteration = 1007
> > Entering Dynamics: iteration = 1008
> > Entering Dynamics: iteration = 1009
> > Entering Dynamics: iteration = 1010
> > Entering Dynamics: iteration = 1011
> > Entering Dynamics: iteration = 1012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 1013
> > Entering Dynamics: iteration = 1014
> > Entering Dynamics: iteration = 1015
> > Entering Dynamics: iteration = 1016
> > In pwscf.md.3.out, ...
> > Entering Dynamics: iteration = 2001
> > Entering Dynamics: iteration = 2002
> > Entering Dynamics: iteration = 2003
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 2004
> > Entering Dynamics: iteration = 2005
> > Entering Dynamics: iteration = 2006
> > Entering Dynamics: iteration = 2007
> > Entering Dynamics: iteration = 2008
> > Entering Dynamics: iteration = 2009
> > Entering Dynamics: iteration = 2010
> > Entering Dynamics: iteration = 2011
> > Entering Dynamics: iteration = 2012
> > Entering Dynamics: iteration = 2013
> > Entering Dynamics: iteration = 2014
> > Entering Dynamics: iteration = 2015
> > Entering Dynamics: iteration = 2016
> > Entering Dynamics: iteration = 2017
> > Entering Dynamics: iteration = 2018
> > In pwscf.md.4.out, ...
> > Entering Dynamics: iteration = 3001
> > Entering Dynamics: iteration = 3002
> > Entering Dynamics: iteration = 3003
> > Entering Dynamics: iteration = 3004
> > Entering Dynamics: iteration = 3005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 3006
> > Entering Dynamics: iteration = 3007
> > Entering Dynamics: iteration = 3008
> > Entering Dynamics: iteration = 3009
> > Entering Dynamics: iteration = 3010
> > Entering Dynamics: iteration = 3011
> > Entering Dynamics: iteration = 3012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 3013
> > Entering Dynamics: iteration = 3014
> > Entering Dynamics: iteration = 3015
> > Entering Dynamics: iteration = 3016
> > In pwscf.md.5.out, ...
> > Entering Dynamics: iteration = 4001
> > Entering Dynamics: iteration = 4002
> > Entering Dynamics: iteration = 4003
> > Entering Dynamics: iteration = 4004
> > Entering Dynamics: iteration = 4005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 4006
> > Entering Dynamics: iteration = 4007
> > Entering Dynamics: iteration = 4008
> > Entering Dynamics: iteration = 4009
> > Entering Dynamics: iteration = 4010
> > Entering Dynamics: iteration = 4011
> > Entering Dynamics: iteration = 4012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 4013
> > Entering Dynamics: iteration = 4014
> > Entering Dynamics: iteration = 4015
> > Entering Dynamics: iteration = 4016
> > In pwscf.md.6.out, ...
> > Entering Dynamics: iteration = 5001
> > Entering Dynamics: iteration = 5002
> > Entering Dynamics: iteration = 5003
> > Entering Dynamics: iteration = 5004
> > Entering Dynamics: iteration = 5005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 5006
> > Entering Dynamics: iteration = 5007
> > Entering Dynamics: iteration = 5008
> > Entering Dynamics: iteration = 5009
> > Entering Dynamics: iteration = 5010
> > Entering Dynamics: iteration = 5011
> > Entering Dynamics: iteration = 5012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 5013
> > Entering Dynamics: iteration = 5014
> > Entering Dynamics: iteration = 5015
> > Entering Dynamics: iteration = 5016
> > In pwscf.md.7.out, ...
> > Entering Dynamics: iteration = 6001
> > Entering Dynamics: iteration = 6002
> > Entering Dynamics: iteration = 6003
> > Entering Dynamics: iteration = 6004
> > Entering Dynamics: iteration = 6005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 6006
> > Entering Dynamics: iteration = 6007
> > Entering Dynamics: iteration = 6008
> > Entering Dynamics: iteration = 6009
> > Entering Dynamics: iteration = 6010
> > Entering Dynamics: iteration = 6011
> > Entering Dynamics: iteration = 6012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 6013
> > Entering Dynamics: iteration = 6014
> > Entering Dynamics: iteration = 6015
> > Entering Dynamics: iteration = 6016
> > In pwscf.md.8.out, ...
> > Entering Dynamics: iteration = 7001
> > Entering Dynamics: iteration = 7002
> > Entering Dynamics: iteration = 7003
> > Entering Dynamics: iteration = 7004
> > Entering Dynamics: iteration = 7005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 7006
> > Entering Dynamics: iteration = 7007
> > Entering Dynamics: iteration = 7008
> > Entering Dynamics: iteration = 7009
> > Entering Dynamics: iteration = 7010
> > Entering Dynamics: iteration = 7011
> > Entering Dynamics: iteration = 7012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 7013
> > Entering Dynamics: iteration = 7014
> > Entering Dynamics: iteration = 7015
> > Entering Dynamics: iteration = 7016
> > In pwscf.md.9.out, ...
> > Entering Dynamics: iteration = 8001
> > Entering Dynamics: iteration = 8002
> > Entering Dynamics: iteration = 8003
> > Entering Dynamics: iteration = 8004
> > Entering Dynamics: iteration = 8005
> > Entering Dynamics: iteration = 8006
> > Entering Dynamics: iteration = 8007
> > Entering Dynamics: iteration = 8008
> > Entering Dynamics: iteration = 8009
> > Entering Dynamics: iteration = 8010
> > Entering Dynamics: iteration = 8011
> > Entering Dynamics: iteration = 8012
> > Entering Dynamics: iteration = 8013
> > Entering Dynamics: iteration = 8014
> > Entering Dynamics: iteration = 8015
> > Entering Dynamics: iteration = 8016
> > Entering Dynamics: iteration = 8017
> > Entering Dynamics: iteration = 8018
> > Entering Dynamics: iteration = 8019
> > Entering Dynamics: iteration = 8020
> > In pwscf.md.10.out, ...
> > Entering Dynamics: iteration = 9001
> > Entering Dynamics: iteration = 9002
> > Entering Dynamics: iteration = 9003
> > Entering Dynamics: iteration = 9004
> > Entering Dynamics: iteration = 9005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 9006
> > Entering Dynamics: iteration = 9007
> > Entering Dynamics: iteration = 9008
> > Entering Dynamics: iteration = 9009
> > Entering Dynamics: iteration = 9010
> > Entering Dynamics: iteration = 9011
> > Entering Dynamics: iteration = 9012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 9013
> > Entering Dynamics: iteration = 9014
> > Entering Dynamics: iteration = 9015
> > Entering Dynamics: iteration = 9016
> > In pwscf.md.11.out, ...
> > Entering Dynamics: iteration = 10001
> > Entering Dynamics: iteration = 10002
> > Entering Dynamics: iteration = 10003
> > Entering Dynamics: iteration = 10004
> > Entering Dynamics: iteration = 10005
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 10006
> > Entering Dynamics: iteration = 10007
> > Entering Dynamics: iteration = 10008
> > Entering Dynamics: iteration = 10009
> > Entering Dynamics: iteration = 10010
> > Entering Dynamics: iteration = 10011
> > Entering Dynamics: iteration = 10012
> > Atom # 6 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 10013
> > Entering Dynamics: iteration = 10014
> > Entering Dynamics: iteration = 10015
> > Entering Dynamics: iteration = 10016
> > In pwscf.md.12.out, ...
> > Entering Dynamics: iteration = 11001
> > Entering Dynamics: iteration = 11002
> > Entering Dynamics: iteration = 11003
> > Entering Dynamics: iteration = 11004
> > Entering Dynamics: iteration = 11005
> > Entering Dynamics: iteration = 11006
> > Entering Dynamics: iteration = 11007
> > Entering Dynamics: iteration = 11008
> > Entering Dynamics: iteration = 11009
> > Entering Dynamics: iteration = 11010
> > Entering Dynamics: iteration = 11011
> > Entering Dynamics: iteration = 11012
> > Entering Dynamics: iteration = 11013
> > Atom # 3 is randomly selected
> > Andersen thermostat: 1 collisions
> > Entering Dynamics: iteration = 11014
> > Entering Dynamics: iteration = 11015
> > Entering Dynamics: iteration = 11016
> > Entering Dynamics: iteration = 11017
> > Entering Dynamics: iteration = 11018
> >
> >
> > Again, thank you very much for the patch file. I hope this report
> > could provide some useful information for QE development.
> >
> > Best regards,
> >
> > Han Hsu
> >
> >
> > On Thu, Aug 10, 2023 at 9:48 PM Paolo Giannozzi
> > <paolo.giannozzi at uniud.it <mailto:paolo.giannozzi at uniud.it>> wrote:
> >
> > Thank you for reporting this. Could you please try the attached
> > patch
> > and report if it fixes your problem?
> >
> > Paolo
> >
> > On 8/10/23 12:36, Han Hsu (徐翰) wrote:
> > >
> > > You don't often get email from hanhsu at ncu.edu.tw
> > <mailto:hanhsu at ncu.edu.tw>. Learn why this is
> > > important <https://aka.ms/LearnAboutSenderIdentification
> > <https://aka.ms/LearnAboutSenderIdentification>>
> > >
> > >
> > > Dear QE developers and users,
> > >
> > > I've been performing Born-Oppenheimer molecular dynamics
> (BOMD)
> > > calculations for hcp Fe at high-PT conditions using Quantum
> > Espresso
> > > (pw.x, calculation= 'md'). For the thermostats, I am testing
> > stochastic
> > > velocity rescaling (svr) and Andersen, as they are the only
> > ones (in QE)
> > > that generate canonical ensembles. For these two thermostats,
> > random
> > > numbers are generated in each time step. I find, however,
> > that in
> > > restart calculations (restart_mode= 'restart'), the random
> > numbers are
> > > not generated properly. In each restart calculation, the same
> > sequence
> > > of random numbers are generated, as shown in detail in the
> > next few
> > > paragraphs. Consequently, the calculation results (e.g
> pressure,
> > > temperature) exhibit a periodic behavior, with a period same
> > as the
> > > length of each restart calculation. My question is: Can we
> > avoid this
> > > problem by properly setting the random seed in restart
> > calculations? If
> > > so, how to do that? (For restart_mode= 'from_scratch', such a
> > problem
> > > does not occur, as also shown in the next few paragraphs).
> > >
> > > Note: To print out the random numbers generated in each time
> > step, a few
> > > more lines (write statements) have to be added to the file
> > > PW/src/dynamics_module.f90. Also, to obtain lots of data
> > within a short
> > > time, I use fcc Si (8-atom cells) to run extensive tests. For
> > these
> > > tests, each run consists of 12000 time steps divided into 12
> > rounds of
> > > calculations: A from_scratch round (steps 1–1000) followed by
> > 11 restart
> > > rounds (steps 1001–2000, 2001–3000, ..., 11001–12000).
> > >
> > > For the 'svr' thermostat, random numbers (R1, R2,..., R_Nf)
> from
> > > gaussian distribution are generated in teach time step. In the
> > > from_scratch calculation (steps 1–1000), the random numbers
> > generated in
> > > steps 1–4 are are as below:
> > >
> > > Entering Dynamics: iteration = 1
> > > rr**2 = R1**2 = 2.2273
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 23.3447
> > > Entering Dynamics: iteration = 2
> > > rr**2 = R1**2 = 0.0441
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 17.0921
> > > Entering Dynamics: iteration = 3
> > > rr**2 = R1**2 = 0.6032
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 16.4800
> > > Entering Dynamics: iteration = 4
> > > rr**2 = R1**2 = 1.2989
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 13.2204
> > >
> > > Next, in the restart calculation for steps 1001–2000, the
> > random numbers
> > > generated in steps 1001–1004 are are as below:
> > >
> > > Entering Dynamics: iteration = 1001
> > > rr**2 = R1**2 = 0.0008
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.0810
> > > Entering Dynamics: iteration = 1002
> > > rr**2 = R1**2 = 0.8306
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.9568
> > > Entering Dynamics: iteration = 1003
> > > rr**2 = R1**2 = 1.0171
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 14.5561
> > > Entering Dynamics: iteration = 1004
> > > rr**2 = R1**2 = 0.0605
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 28.3579
> > >
> > > Next, in the restart calculation for steps 2001–3000, the
> > random numbers
> > > generated in steps 2001–2004 are are as below:
> > >
> > > Entering Dynamics: iteration = 2001
> > > rr**2 = R1**2 = 0.0008
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.0810
> > > Entering Dynamics: iteration = 2002
> > > rr**2 = R1**2 = 0.8306
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.9568
> > > Entering Dynamics: iteration = 2003
> > > rr**2 = R1**2 = 1.0171
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 14.5561
> > > Entering Dynamics: iteration = 2004
> > > rr**2 = R1**2 = 0.0605
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 28.3579
> > >
> > > Next, in the restart calculation for steps 3001–4000, the
> > random numbers
> > > generated in steps 3001–3004 are are as below:
> > >
> > > Entering Dynamics: iteration = 3001
> > > rr**2 = R1**2 = 0.0008
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 18.0810
> > > Entering Dynamics: iteration = 3002
> > > rr**2 = R1**2 = 0.8306
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 19.9568
> > > Entering Dynamics: iteration = 3003
> > > rr**2 = R1**2 = 1.0171
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 14.5561
> > > Entering Dynamics: iteration = 3004
> > > rr**2 = R1**2 = 0.0605
> > > sum_of_gaussians2 = R2**2+...+R_Nf**2 = 28.3579
> > >
> > > Clearly, the same sequence of random numbers are generated in
> > all
> > > restart rounds (steps 1001–2000, 2001–3000, 3001–4000, ...,
> > etc.), while
> > > the from_scratch round (steps 1–1000) is an exception. I am
> thus
> > > wondering how to properly generate/seed the random numbers in
> > restart
> > > calculations?
> > >
> > > A few more remarks:
> > > (1) I have done this test on different facilities at different
> > > institutes. The same pattern persists.
> > > (2) For Andersen thermostat, the same pattern persists: In
> > the restart
> > > calculations, at the same respective time steps (e.g. steps
> > 1001, 2001,
> > > 3001, ...), the same atoms are "randomly" chosen to interact
> > with the
> > > heat bath.
> > >
> > > Finally, my understanding is that in Quantum Espresso,
> > generation and
> > > seed of random numbers are controlled by
> > Modules/random_numbers.f90 and
> > > a subroutine set_random_seed(). To properly set the random
> > seed in
> > > restart calculations, perhaps the subroutine
> > set_random_seed() should be
> > > called somewhere? (Probably not in dynamics_module.f90, as we
> > do not
> > > want to reseed the random number in every time step...)
> > >
> > > Any suggestions and advice are appreciated. Thank you very
> > much for the
> > > help!!
> > >
> > >
> > > Best regards,
> > >
> > >
> > > Han Hsu
> > > Department of Physics
> > > National Central University (Taiwan)
> > >
> > > --
> > > ===============================
> > > Han Hsu (徐翰)
> > > Associate Professor
> > > Department of Physics
> > > National Central University
> > > Taoyuan 32001, Taiwan
> > > Email: hanhsu at ncu.edu.tw <mailto:hanhsu at ncu.edu.tw>
> > <mailto:hanhsu at ncu.edu.tw <mailto:hanhsu at ncu.edu.tw>>
> > > Web: sites.google.com/site/hanhsuphys
> > <http://sites.google.com/site/hanhsuphys>
> > > <https://sites.google.com/site/hanhsuphys/
> > <https://sites.google.com/site/hanhsuphys/>>
> > > Tel: +886-3-422-7151 ext 65303
> > > Fax: +886-3-425-1175
> > > ===============================
> > >
> > > _______________________________________________
> > > The Quantum ESPRESSO community stands by the Ukrainian
> > > people and expresses its concerns about the devastating
> > > effects that the Russian military offensive has on their
> > > country and on the free and peaceful scientific, cultural,
> > > and economic cooperation amongst peoples
> > > _______________________________________________
> > > Quantum ESPRESSO is supported by MaX (www.max-centre.eu
> > <http://www.max-centre.eu>)
> > > users mailing list users at lists.quantum-espresso.org
> > <mailto: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
> >
> >
> >
> > --
> > =========================
> > Han Hsu (徐翰)
> > NCU Physics, Taoyuan, Taiwan
> > +886-3-422-7151 ext 65303
> > =========================
> >
> >
> >
> > --
> > =========================
> > Han Hsu (徐翰)
> > NCU Physics, Taoyuan, Taiwan
> > +886-3-422-7151 ext 65303
> > =========================
>
> --
> Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
> Univ. Udine, via delle Scienze 208, 33100 Udine Italy, +39-0432-558216
>
--
=========================
Han Hsu (徐翰)
NCU Physics, Taoyuan, Taiwan
+886-3-422-7151 ext 65303
=========================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20230827/84d78763/attachment.html>
More information about the users
mailing list