Author Topic: jobex results in molecule rotation  (Read 8443 times)

luyj

  • Jr. Member
  • **
  • Posts: 11
  • Karma: +0/-0
jobex results in molecule rotation
« on: September 04, 2016, 11:41:41 AM »
Hello,

I used the jobex module to optimize a molecule. It did not converge within the time limit so I used the new coord file to restart it. Interestingly, it did not converge the second time either. The structure seems to not have changed. Instead the molecule simply rotated.

I will now calculate the frequencies to see if some are negative. Anyway, is this behaviour known? At least to me it happend for the first time.

Will include molden files.

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 558
  • Karma: +0/-0
Re: jobex results in molecule rotation
« Reply #1 on: September 05, 2016, 12:38:18 PM »
Hello,

seems that the job did converge after about 20 geometry cycles, but the requested convergence criteria for the geometry optimization was not reached. A simple reason could be that the convergence criteria of the energy steps was lower than the one of the geometry optimization. Could you check the $scfconv settings compared to the -energy threshold in jobex?

Please check the job.last file and search for the lines:

      ******************************************************************
                          CONVERGENCE INFORMATION

                               Converged?     Value      Criterion
             Energy change         yes      0.0000007   0.0000010
             RMS of displacement   yes      0.0000378   0.0005000
             RMS of gradient       yes      0.0000062   0.0005000
             MAX displacement      yes      0.0000875   0.0010000
             MAX gradient          yes      0.0000138   0.0010000
      ******************************************************************


In your case one of the convergence checks will not be met, I guess it will be 'MAX displacement'. If the minimum has a very shallow potential energy surface, very small energy changes will cause larger displacements than usual. Within the usual errors (basis set, DFT quadrature, convergence criteria, ...) the structure can be considered as converged.

A small note not related to the topic: If you simply post the file gradient from your job directory, this will contain the structures, the gradients and the energies of each geometry step. It can be opened in the COSMOview program which is part of the free graphical user interface TmoleX. Just click on 'open' and choose 'gradient' in the list of file types to import and visualize the whole optimization.

Regards,

Uwe

luyj

  • Jr. Member
  • **
  • Posts: 11
  • Karma: +0/-0
Re: jobex results in molecule rotation
« Reply #2 on: September 05, 2016, 01:05:44 PM »
Hello,

job.last convergence information:

Code: [Select]
      ******************************************************************
                          CONVERGENCE INFORMATION

                               Converged?     Value      Criterion
             Energy change         yes      0.0000000   0.0000010
             RMS of displacement   no       0.0097435   0.0005000
             RMS of gradient       yes      0.0003632   0.0005000
             MAX displacement      no       0.0237655   0.0010000
             MAX gradient          no       0.0019523   0.0010000
      ******************************************************************

From control:
Code: [Select]
$title
$operating system unix
$symmetry c1
$coord    file=coord
$user-defined bonds    file=coord
$basis    file=basis
$rundimensions
   dim(fock,dens)=1929693
   natoms=79
   nshell=659
   nbf(CAO)=1962
   dim(trafo[SAO<-->AO/CAO])=2416
   rhfshells=1
$scfmo   file=mos
$scfiterlimit       100
$thize     0.10000000E-04
$thime        5
$scfdump
$scfintunit
 unit=30       size=0        file=twoint
$scfdiis
$scforbitalshift  automatic=.1
$drvopt
   cartesian  on
   basis      off
   global     off
   hessian    on
   dipole     on
   nuclear polarizability
$optimize
   internal   off
   cartesian  on
   global     off
   basis      off   logarithm
$dft
   functional pbe
   gridsize   m4
$disp3 bj
$last SCF energy change = 0.34940058E-07
$charge from dscf
         -0.000 (not to be modified here)
$optinfo       file=optinfo
$hessapprox   file=hessapprox
$atoms
c  1-4,6-7,9-13,15-17,19-23,30-31,37-38,44-45,51-52,58,62,66-67,73-74          \
   basis =c def2-TZVPP
n  5,8,14,18                                                                   \
   basis =n def2-TZVPP
h  24-29,32-36,39-43,46-50,53-57,59-61,63-65,68-72,75-79                       \
   basis =h def2-TZVPP
$scfconv   8
$scfdamp   start=0.700  step=0.050  min=0.050
$closed shells
 a       1-134                                  ( 2 )
$energy    file=energy
$grad    file=gradient
$last step     tm2molden
$maxcor 1387
$dipole from dscf
  x     0.66212539298252    y     0.12143406649628    z     0.21366724058496    a.u.
   | dipole | =    1.7951596126  debye
$tmpdir /local/2095100.1.parallel_long/
$orbital_max_rnorm 0.10199144284387E-04
$end

« Last Edit: September 05, 2016, 10:50:35 PM by luyj »

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 558
  • Karma: +0/-0
Re: jobex results in molecule rotation
« Reply #3 on: September 05, 2016, 05:19:34 PM »
Hello,

it is sometimes faster to remove the restart files - in this case the internal redundant coordinates and the approximate hessian (file hessapprox) - and to continue with a new set of internal coordinate. Otherwise the whole history of the previous steps is taken into account to guess the next coordinates in an optimization (GDIIS).

If you use DFT and want to converge energy and geometry to the 'limit', please use a larger grid size (gridsize   m4 in the $dft section). If you utilize a large basis set and especially one with diffuse basis functions, also add diffuse keyword to $dft (see manual).

I do not know which method and basis set you used, but if I take your input file and run a default RI-DFT optimization with $scfconv 8 and gridsize m4 the gradients and the energy converges quite well:

  [...]
  cycle =     34    SCF energy =    -1500.7645357290   |dE/dxyz| =  0.000015
  cycle =     35    SCF energy =    -1500.7645357270   |dE/dxyz| =  0.000011


Hope this helps,

Uwe


luyj

  • Jr. Member
  • **
  • Posts: 11
  • Karma: +0/-0
Re: jobex results in molecule rotation
« Reply #4 on: September 05, 2016, 11:02:30 PM »
Hello,

and thanks for your reply.

I updated my last post with the full control file. In short:
$grid m4, PBE/def2-TZVPP but no RI. Is that already considered "very diffuse"?

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 558
  • Karma: +0/-0
Re: jobex results in molecule rotation
« Reply #5 on: September 07, 2016, 04:43:02 PM »
Hi,

def2-TZVPP is not what I would call diffuse, so adding the diffuse keyword to the $dft section should not be necessary.

But I again started a job with your coords and settings and saw no problems during the optimization.

I did, however, switch on RI. For PBE you will see a huge performance boost, the whole job converged smoothly in less than an hour on a cheap 6 core machine. For geometry optimizations there really is no reason to switch off RI, the geometry will be the same. If you do need the conventional total energy, just run the optimization with RI, remove $rij after convergence from the control file and start dscf for a single-point energy calculation. You will get (after a while) the non-RI total energy.

To get back to your initial problem: If the default settings in a geometry optimization are not sufficient to achieve convergence, check the history of the optimization before restarting the job, for example on the command line by entering:

grep cycle gradient

Or, if you use TmoleX, click on the 'Convergence' button behind the 'Status geometry' line in the Results section. This will show a graphics (energy plotted vs. number of geometry cycle). But also in TmoleX you will see an output in the 'Gradient' result section which looks like the output of 'grep cycle gradient' :

  cycle =     18    SCF energy =    -1500.7645309390   |dE/dxyz| =  0.02407
  cycle =     19    SCF energy =    -1500.7645314420   |dE/dxyz| =  0.01774
  cycle =     20    SCF energy =    -1500.7645316870   |dE/dxyz| =  0.01366
  cycle =     21    SCF energy =    -1500.7645323370   |dE/dxyz| =  0.01276
  cycle =     22    SCF energy =    -1500.7645333420   |dE/dxyz| =  0.01522


If the energy is not constantly decreasing and the gradient norm (dE/dxyz) is more or less constant (and not tiny), I'd recommend to remove the hessapprox file and generate new internal redundant coordinates (call define, enter geometry menu, type in 'ired', exit the menu with * and then exit define with qq). Then start jobex again to let the geometry optimization continue.

Regards,

Uwe