Author Topic: NumThird  (Read 481 times)

Michael_Patzschke

  • Newbie
  • *
  • Posts: 2
  • Karma: +0/-0
NumThird
« on: February 12, 2021, 01:54:43 PM »
Hello,

I wanted to try the NumThird script. I followed the --help advice and added the following lines to my control file:

$noproj
$numthird
  delta 0.001
  level dft

The calculation should be performed as ridft. I start the job in the same directory as the optimisation was run in. But I get a lot of error messages which mostly seem to be connected to the fact, that dscf is used instead of ridft. I have tried to start NumThird with "-ri" which seems to be ignored. I also tried adding ri to the $numthird block. All without avail. I cannot find any information on numthird in the manual, so I don't even know if there are any additional options.

I would really appreciate it, if someone could point me to a manual or a detailed description of NumThird and its functionality or maybe provide me with a working input for an ridft calculation of third derivatives.

Thank you very much.

Kind regards,
Michael

antti_karttunen

  • Sr. Member
  • ****
  • Posts: 216
  • Karma: +1/-0
Re: NumThird
« Reply #1 on: February 12, 2021, 10:53:46 PM »
Hi Michael!

I have no real experience with NumThird, but with a minor tweak of the script, I got it running with ridft.

1. In a directory with optimized structure, add the following to control file
Code: [Select]
$numthird
  delta 0.001
  level dft
$noproj
$vibrational reduced masses file=vib_reduced_masses

2. Calculate second derivatives with aoforce

3. Edit NumThird by changing line 473 (in TM version 7.5)

Code: [Select]
elif [ $level = "scf" -o "dft" ]; then
        getmo=$TURBOLOAD/dscf; getgrad=$TURBOLOAD/aoforce

to

Code: [Select]
elif [ $level = "scf" -o $level = "dft" ]; then
    if [ $level = "dft" ]; then
        getmo=$TURBOLOAD/ridft; getgrad=$TURBOLOAD/rdgrad
    else
        getmo=$TURBOLOAD/dscf; getgrad=$TURBOLOAD/grad
    fi

After this NumThird runs with ridft/rdgrad, at least in serial mode. I did not have a real test case, so I have no idea if the numbers are OK  ;).

There appears to be a parallel mode available with "mfile machinefile" under $numthird, but I did not immediately get it working (login-test was OK, but the jobs did not start).

Best,
Antti

Michael_Patzschke

  • Newbie
  • *
  • Posts: 2
  • Karma: +0/-0
Re: NumThird
« Reply #2 on: February 13, 2021, 08:08:04 PM »
Thank you Antti!

I got it running like that. It is unfortunate, that this useful script seems to be completely undocumented in the manual. The parallel version does run if you add the file thusly:

Code: [Select]
$numthird
  delta 0.001
  level dft
  mfile mfile

Unlike NumForce the output is not updated until the aoforce calculations have all finished. But I can live with that.

Best wishes,
Michael

antti_karttunen

  • Sr. Member
  • ****
  • Posts: 216
  • Karma: +1/-0
Re: NumThird
« Reply #3 on: February 13, 2021, 10:01:09 PM »
Great to hear that the parallel version runs fine! Good to know that it was just an output issue and the actual jobs were running OK.

In my first reply I included $noproj keyword already before the aoforce calculation, but I'm not sure if this is a reasonable thing to do. Perhaps one should only add it right before NumThird. Anyway, I hope you'll have fun times with the script and the results :D

Best,
Antti