Hi all,
I added a couple of codes to the Logarithmic scheme for 3D mode of set_vbc.F to check the cff1. After saving set_vbc.F and build again without "make clean". I got different outputs between two times running even if the set_vbc.F are exactly the same in those two cases.
For the first time,
11 0 00:07:20 9.323186E-04 1.693565E+01 1.693659E+01 4.298394E+09
before cff1(395,30) = 0.255622218635250
after cff1(395,30) = 0.355440460236525
before cff1(395,30) = 0.255622218635172
after cff1(395,30) = 0.355440460236373
12 0 00:08:00 9.958819E-04 1.693316E+01 1.693416E+01 4.297999E+09
13 0 00:08:40 1.045671E-03 1.693067E+01 1.693172E+01 4.297609E+09
before cff1(395,30) = 0.255622218635031
after cff1(395,30) = 0.355440460236100
14 0 00:09:20 1.095586E-03 1.692799E+01 1.692909E+01 4.297224E+09
before cff1(395,30) = 0.255622218634783
after cff1(395,30) = 0.355440460235621
For the second time, I execute "./build.bash" again without change anything.
11 0 00:07:20 9.323186E-04 1.693565E+01 1.693659E+01 4.298394E+09
before cff1(395,30) = 0.255622218635250
after cff1(395,30) = 0.355440460236525
12 0 00:08:00 9.958819E-04 1.693316E+01 1.693416E+01 4.297999E+09
before cff1(395,30) = 0.255622218635172
after cff1(395,30) = 0.355440460236373
13 0 00:08:40 1.045671E-03 1.693067E+01 1.693172E+01 4.297609E+09
before cff1(395,30) = 0.255622218635031
after cff1(395,30) = 0.355440460236100
before cff1(395,30) = 0.255622218634783
after cff1(395,30) = 0.355440460235621
14 0 00:09:20 1.095586E-03 1.692799E+01 1.692909E+01 4.297224E+09
before cff1(395,30) = 0.255622218634358
after cff1(395,30) = 0.355440460234800
It seems that:
a. Logarithmic routine is called two times in model step 11
11 0 00:07:20 9.323186E-04 1.693565E+01 1.693659E+01 4.298394E+09
before cff1(395,30) = 0.255622218635250
after cff1(395,30) = 0.355440460236525
before cff1(395,30) = 0.255622218635172
after cff1(395,30) = 0.355440460236373
but not be called in the 12ed step.
b. even though the sequences of output are different, the values in the two run are exactly the same(both for model energy and cff1 value).
I am just curious about that and much appreciated the explanation from you.
different outputs in two identical runs
Re: different outputs in two identical runs
Well, how are you doing the write statements? Or which process is doing them? Is this a parallel run? Process 0 is performing the write in diag for each timestep. If a different process is performing the other writes, you aren't guaranteed anything about the order of statements in the write buffer.