Author Topic: Bug in damp within DEFINE script?  (Read 642 times)

Glxblt76

  • Full Member
  • ***
  • Posts: 26
  • Karma: +0/-0
Bug in damp within DEFINE script?
« on: March 30, 2019, 02:42:10 am »
Hello,

I just want to state a strange behavior I noticed repeteadly now. It may be only on my machine.

I'm modelling a heavy metal/ligand complex, the SCF of which does not converge unless I'm using Fermi smearing with damping and orbital shifting.

I'm entering fairly high values of damping (9 in initial damping, 1 in final damping) because the system is very unstable and not only may exhibit oscillation, it may also exhibit energies going completely crazy to the point of divergence.

So, the problem I have is that when I enter the values through the define interface, and then check the control file, they are not taken into account. Still default values are written there. So I got many convergence failures until I noticed in the ridft.out file that the system was not taking my parameters into account, which led me to check the control file which was not modified accordingly. By manually changing the parameters within the control file, I could get convergence.

My question is: is this problem due to bad manipulation from me, my own system or to a potential bug within define script?

Best regards.

uwe

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 452
  • Karma: +0/-0
Re: Bug in damp within DEFINE script?
« Reply #1 on: April 01, 2019, 10:51:29 am »
Hi,

you can check if define works correctly by opening the control file in an editor. Check the settings in the $scfdamp line:

$scfdamp   start=1.000  step=0.050  min=0.100

It should always contain the numbers you set when running define. If not, please send the input as bug report to the Turbomole support!

But the damping parameters are part of the restart information if the energy has not yet converged. So if you ran into the maximum number of SCF iterations limit ($scfiterlimit), the orbitals, the occupation numbers and the damping factors are stored and automatically re-used if you restart the job. In that case, running define and setting different damping values will not be sufficient. Either remove the $restart keyword in the control file or simply run the script

kdg restart

Then the $scfdamp keyword values will be taken.

Hope this helps,

Uwe

Glxblt76

  • Full Member
  • ***
  • Posts: 26
  • Karma: +0/-0
Re: Bug in damp within DEFINE script?
« Reply #2 on: April 02, 2019, 07:06:17 am »
Dear Uwe,

Thanks for your answer. I checked and there is no $restart keyword in the control file. Here is the list of commands I use in the define script:

Code: [Select]

title
a coord
desy
ired
*
*
eht
y
3
y
scf
iter
1000
damp
18

13
fermi
2
10
1
50

shift

0.1


dft
on

ri
on

*

On my machine, all entered input is taken into account there except the damping. The resulting damping is still:
Code: [Select]
$scfdamp   start=0.700  step=0.050  min=0.050where I expect:
Code: [Select]
$scfdamp   start=18  step=0.050  min=13
Best regards.
« Last Edit: April 02, 2019, 07:07:57 am by Glxblt76 »