Reproducibility issue with SODFT


Just Got Here
Hello,

I am trying to run SODFT calculations on the iodine atom and they yield different electronic energies with the same input.
I first thought that the convengence criteria where too loose so I tightened them but with no succes.

here is my input file :
start i_with_SO
echo

charge 0

geometry
  zmatrix
I
end
end

basis "ao basis" spherical print
 I    S
0.680300000 1.00000000
I S
0.520800000 1.00000000
I S
0.114300000 1.00000000
I S
0.023792200 1.00000000
I P
1.125000000 1.00000000
I P
0.350800000 1.00000000
I P
0.116600000 1.00000000
I P
0.029974500 1.00000000
I D
3.950200000 1.00000000
I D
2.574200000 1.00000000
I D
1.307100000 1.00000000
I D
0.511600000 1.00000000
I D
0.220000000 1.00000000
I D
0.100000000 1.00000000
I F
0.426500000 1.00000000
I F
0.170000000 1.00000000
end

ecp
I library crenbl_ecp
end

so
 I P
2 0.9111 -8.943754
2 1.0658 23.698540
2 1.3899 -24.499522
2 1.7958 9.482398
1 2.5479 1.858838
0 1.1725 -0.172766
I D
2 0.8653 -0.236477
2 0.8996 0.215437
2 4.5872 0.734985
2 5.5282 -0.401384
1 22.2080 -0.567771
0 19.1401 0.039591
I F
2 2.0066 -0.038072
2 5.4120 0.130806
2 20.8879 -0.245891
1 63.8211 0.331683
end

dft
mult 2
xc m06-2x
grid xfine
convergence energy 1.000E-07
convergence density 1.000E-06
convergence gradient 1.000E-05
iterations 200
end

task sodft energy

Here are examples of the energy I get with the number of iterations before if converges :
1) -111.256242105425 after 73 iterations
2) -111.261775078069 after 176 iterations
3) -111.261470628259 after 78 iterations
4) -111.261784696829 after 75 iterations

Has anyone encountered the same problem ?
Is there a way to avoid such an uncertainty or am I spotting a bug on nwchem program ?

Thanks in advance for your help.
Regards,

Forum Vet
Please try to run first a regular DFT task as shown in the input below since this should give a more reliable convergence

start i_with_SO

echo

charge 0

geometry
I 0. 0. 0.
end

basis "ao basis" spherical print
 I    S
        0.680300000      1.00000000
 I    S
        0.520800000      1.00000000
 I    S
        0.114300000      1.00000000
 I   S
        0.023792200      1.00000000
 I    P
        1.125000000      1.00000000
 I    P
        0.350800000      1.00000000
 I    P
        0.116600000      1.00000000
 I   P
        0.029974500      1.00000000
 I    D
        3.950200000      1.00000000
 I    D
        2.574200000      1.00000000
 I    D
        1.307100000      1.00000000
 I    D
        0.511600000      1.00000000
 I   D
        0.220000000      1.00000000
 I   D
        0.100000000      1.00000000
 I   F
        0.426500000      1.00000000
 I   F
        0.170000000      1.00000000
end

ecp
I library crenbl_ecp
end


dft
 mult 2
 xc m06-2x
 grid fine
 convergence energy 1.000E-08
 tolerances acccoul 13
 iterations 200
 vectors input atomic  output irat.mos
end
task dft

so
 I P
       2        0.9111             -8.943754
       2        1.0658             23.698540
       2        1.3899            -24.499522
       2        1.7958              9.482398
       1        2.5479              1.858838
       0        1.1725             -0.172766
 I D
       2        0.8653             -0.236477
       2        0.8996              0.215437
       2        4.5872              0.734985
       2        5.5282             -0.401384
       1       22.2080             -0.567771
       0       19.1401              0.039591
 I F
       2        2.0066             -0.038072
       2        5.4120              0.130806
       2       20.8879             -0.245891
       1       63.8211              0.331683
end

dft
 vectors input irat.mos output irso.mos
end
 
task sodft

Just Got Here
Hello,

I realize that I did't thank you for you advice. So thanks.
Running the calculation for a regular DFT guess function gave me better results but it only reduced the distribution of energies. I will try to run two successive SO-DFT calculation but it's getting a bit complicated for a single point energy.

Regards,

Gets Around
You can get the very same energies each time by running in serial instead of parallel mode. I am guessing that you want to do larger calculations also where this is not a practical workaround. I tried running 25 instances of your initial input and then 25 instances of the variation suggested by Edoapra. Within each group of 25, Edoapra's had modestly lower standard deviation among energies, 3.51759317924e-05 vs. 4.32143681234e-05. The maximum absolute difference was very close in the two groups: a maximum difference of 0.0001303668269940772 in the first group, 0.0001303645710066803 in the second group.

Here's the little Python script I used to automate and process the multiple runs, plus the log files:
http://www.sciencemadness.org/cc/iodine-sodft-test.zip

And here's the energy results and differences from the first group and the second. I had to trim the differences to only show the 10 greatest differences from each group, otherwise the post was too long. Download the script if you want to see all differences.

ENERGIES I

[-111.264029798081,
 -111.26402979805,
 -111.263985503976,
 -111.263981695197,
 -111.263980619461,
 -111.263980548577,
 -111.263980543614,
 -111.263927334838,
 -111.263908317052,
 -111.263907897043,
 -111.263905806428,
 -111.263903650468,
 -111.263903504641,
 -111.263903153903,
 -111.263902852252,
 -111.26390126782,
 -111.263900925281,
 -111.263900687624,
 -111.263900544382,
 -111.263899898156,
 -111.263899655918,
 -111.263899623602,
 -111.263899435115,
 -111.263899431433,
 -111.263899431254]

STANDARD DEVIATION 4.32143681234e-05

DIFFERENCES I

[0.00013014213200790437,
 0.0001301421630017785,
 0.0001301744480031175,
 0.00013017447899699164,
 0.00013036293501045293,
 0.00013036296600432706,
 0.00013036661700027707,
 0.0001303666479941512,
 0.00013036679600020307,
 0.0001303668269940772]

ENERGIES II

[-111.264029795362,
 -111.263984337878,
 -111.263982310785,
 -111.26398054393,
 -111.263926319113,
 -111.2639117327,
 -111.263904505574,
 -111.263904339896,
 -111.2639019858,
 -111.263901272317,
 -111.263900885848,
 -111.263900840543,
 -111.263900472191,
 -111.263899699611,
 -111.263899640777,
 -111.263899534106,
 -111.263899531909,
 -111.263899497567,
 -111.263899476559,
 -111.263899441205,
 -111.263899437064,
 -111.26389943464,
 -111.263899431947,
 -111.263899431344,
 -111.263899430791]

STANDARD DEVIATION 3.51759317924e-05

DIFFERENCES II

[0.00013026125600390515,
 0.00013026345300204412,
 0.0001302977950103923,
 0.0001303188030021829,
 0.0001303541570081279,
 0.00013035829800855936,
 0.00013036072201089155,
 0.00013036341501049264,
 0.00013036401800547992,
 0.0001303645710066803]


Forum >> NWChem's corner >> General Topics