[QE-users] Random seed for MD calculations
Paolo Giannozzi
paolo.giannozzi at uniud.it
Fri Aug 25 14:57:55 CEST 2023
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
More information about the users
mailing list