eljost/pysisyphus

Trust radius reduction for "Unexpected energy increase" of negligible size

Closed this issue · 0 comments

ptrab commented

During the optimization, it makes sense to change the trust radius to make only steps of reasonable size. However, I often find this happens even for minor energy changes (see below). Do you think it is necessary even at this level?

I have no deep understanding of it, but I assume this could make the calculation take longer to converge, as the trust radius is kept very small for, in principle, converged geometries. By this, the steps needed until convergence should increase unnecessarily. Maybe there can also be a threshold for ΔE that prevents trust radius updates when they are below.

Spent 0.0 s preparing the first cycle.
       cycle    Δ(energy) max(|force|)   rms(force)  max(|step|)    rms(step)      s/cycle
          0          nan*    0.010059     0.001391     0.023344     0.006090       127.27 
       Unexpected energy increase (0.013892 au)! Trust radius: old=0.3, new=0.1
          1     0.013892*    0.010074     0.001385     0.011261     0.003219       242.93 
          2    -0.014758*    0.006472     0.000929     0.016833     0.004543       248.26 
       Unexpected energy increase (0.014178 au)! Trust radius: old=0.1, new=0.1
          3     0.014178*    0.007396     0.001071     0.020433     0.005226       243.66 
          4    -0.000184*    0.006858     0.001000     0.022375     0.005105       128.25 
          5    -0.014071*    0.007472     0.001088     0.038674     0.010192       252.57 
       Unexpected energy increase (0.013652 au)! Trust radius: old=0.2, new=0.1
          6     0.013652*    0.005838     0.000870     0.021090     0.005083       250.15 
          7    -0.000129*    0.005540     0.000829     0.048443     0.010231       128.39 
          8    -0.013254*    0.008967     0.001335     0.064303     0.017690       246.95 
          9    -0.000588*    0.007893     0.001197     0.065005     0.018942       133.31 
       -----------------------------------------------------------------------------------
         10    -0.001065*    0.003824     0.000624     0.024803     0.006966       137.67 
         11    -0.000335*    0.001316     0.000240     0.017524     0.004525       133.47 
         12    -0.000076*    0.000775     0.000120     0.022380     0.005079       132.30 
         13    -0.000051*    0.000414     0.000077     0.008418     0.001803       130.90 
         14    -0.000019*    0.000247     0.000050     0.004693     0.001176       130.47 
         15    -0.000012*    0.000140     0.000026     0.003756     0.000846       129.01 
         16    -0.000001*    0.000117     0.000018     0.003164     0.000731       128.12 
       Unexpected energy increase (0.000004 au)! Trust radius: old=0.4, new=0.1
         17     0.000004*    0.000072     0.000012     0.002473     0.000607       126.17 
       Unexpected energy increase (0.000004 au)! Trust radius: old=0.1, new=0.1
         18     0.000004*    0.000041     0.000008*    0.002775     0.000705       127.32 
       Unexpected energy increase (0.000003 au)! Trust radius: old=0.1, new=0.1
         19     0.000003*    0.000052     0.000009*    0.002546     0.000685       128.06 
       Unexpected energy increase (0.000001 au)! Trust radius: old=0.1, new=0.1
       -----------------------------------------------------------------------------------
         20     0.000001*    0.000057     0.000009*    0.001880     0.000546       127.35 
         21    -0.000000*    0.000042     0.000007*    0.001039     0.000297       128.03 
         22    -0.000001*    0.000017     0.000004*    0.000565     0.000124       126.56 
       Unexpected energy increase (0.000000 au)! Trust radius: old=0.1, new=0.1
         23     0.000000*    0.000008*    0.000002*    0.000216     0.000049       125.93 
       Unexpected energy increase (0.000000 au)! Trust radius: old=0.1, new=0.1
         24     0.000000*    0.000008*    0.000001*    0.000115     0.000027*      124.94 
       Unexpected energy increase (0.000001 au)! Trust radius: old=0.1, new=0.1
         25     0.000001*    0.000006*    0.000001*    0.000085     0.000021*      123.65 
       Unexpected energy increase (0.000000 au)! Trust radius: old=0.1, new=0.1
         26     0.000000*    0.000003*    0.000000*    0.000064     0.000016*      124.76 
       Converged!