From: Rahul Nikhar (
Date: Tue Apr 05 2022 - 18:46:47 CDT

Dear developers/users,

I have successfully used ffTK for fitting intramonomer parameters for a
small molecule (called mon1 which has 16 atoms). I used Orca 5.0.1 for my
QM calculations.
Now, I have been trying to perform such a calculation for a slightly larger
molecule (called mon2 which has 27 atoms), larger only when compared to
Since fitting parameters for mon1 was straightforward, I was surprised that
I am facing issues for mon2.
When I tried to optimize bonds/angles, I got an error given at the end of
the email.
I found a thread from 2014 from a simple google search where the developer
(Christopher) solved such an issue for one of the users of ffTK.
As suggested in that thread, I checked if my calculation of Hessians was
successfully completed.
This was even easy for my case, as I compared the output files of mon1
(successful run) against mon2.
It doesn't look like there is an issue with the calculation.
I checked the tcl file (fftk_QMORCA.tcl), which reads the information from
the output file and determines whether the calculation was successful, and
it seems okay.
All of the information searched ("FINAL ENERGY EVALUATION AT THE STATIONARY
POINT", "THE OPTIMIZATION HAS CONVERGED") by $inLine are found in the
output file.

I am not sure how to debug this problem.
Any insight will be very much appreciated.

ERROR from ffTK

can't use empty string as operand of "*"
can't use empty string as operand of "*"
    while executing
"expr {($kc)*$h1up*$h2up}"
    (procedure "::ForceFieldToolKit::BondAngleOpt::computePESqm" line 206)
    invoked from within
"::ForceFieldToolKit::BondAngleOpt::computePESqm $hessLogID"
    (procedure "::ForceFieldToolKit::BondAngleOpt::optimize" line 91)
    invoked from within
    (procedure "::ForceFieldToolKit::gui::baoptRunOpt" line 40)
    invoked from within
    invoked from within
".fftk_gui.hlf.nb.bondangleopt.runOpt invoke "
    invoked from within
".fftk_gui.hlf.nb.bondangleopt.runOpt instate !disabled {
.fftk_gui.hlf.nb.bondangleopt.runOpt invoke } "
    invoked from within
".fftk_gui.hlf.nb.bondangleopt.runOpt instate pressed {
.fftk_gui.hlf.nb.bondangleopt.runOpt state !pressed;
.fftk_gui.hlf.nb.bondangleopt.runOpt insta..."
    (command bound to event)