From: Mayne, Christopher G (cmayne2_at_illinois.edu)
Date: Thu Dec 04 2014 - 16:53:13 CST

Sezen,

This one was a real doozy, but I was finally able to track down the source of the error. The full details are not worth going into here, but the short end of the story is that Gaussian has changed the format of their LOG file with regard to harmonic frequency data somewhere between G09RevB (what I have to test against) and G09RevD (the version you are running). These changes broke the QMtool code that parses the Gaussian LOG file. While i know what needs to be fixed in parser code, implementing it will be non-trivial. Fortunately, this frequency data is not needed for the purposes of ffTK.

Normally I would suggest waiting until I can appropriately fix the code and include it in the next alpha/beta version of VMD, but I happen to know that Sezen needs a fix quickly. As a temporary measure to keep ffTK running without error, you can do the following:

In the tkCon type: proc ::QMtool::read_harmonic_frequencies { file } { return }

Here, we are redefining the broken function call to immediately return with an empty data set, bypassing the error generating code. While this will "fix" ffTK, it will break specific features of QMtool. Restarting VMD will revert back to the original operation.

Regards,
Christopher Mayne

On Nov 26, 2014, at 2:44 AM, Mayne, Christopher G wrote:

Sezen,

This looks like a syntax error in the QMTool code. I'm currently traveling internationally and won't be able to get to this until after the upcoming holiday (~Dec 1). My apologies for taking awhile to get to this.

Regards,
Christopher Mayne

On Nov 20, 2014, at 6:23 AM, SEZEN VATANSEVER wrote:

Dear Christopher Mayne,
Althougtmy new hess LOG file terminateswith"Normal termination of Gaussian", I got a new error:

"unmatched open quote in list
unmatched open quote in list
    while executing
"lrange $line 0 1"
    (procedure "read_harmonic_frequencies" line 18)
    invoked from within
"read_harmonic_frequencies $file"
    (procedure "::QMtool::load_gaussian_log" line 58)
    invoked from within
"::QMtool::load_gaussian_log $hessLog $hessLogID"
    (procedure "::ForceFieldToolKit::BondAngleOpt::optimize" line 81)
    invoked from within
"::ForceFieldToolKit::BondAngleOpt::optimize"
    (procedure "::ForceFieldToolKit::gui::baoptRunOpt" line 40)
    invoked from within
"::ForceFieldToolKit::gui::baoptRunOpt "
    invoked from within
".fftk_gui.hlf.nb.bondangleopt.runOpt invoke "
    invoked from within
".fftk_gui.hlf.nb.bondangleopt.runOpt instate {pressed !disabled} { .fftk_gui.hlf.nb.bondangleopt.runOpt state !pressed; .fftk_gui.hlf.nb.bondangleopt..."
    (command bound to event)"

Sezen,

It seems that the error is triggered while extracting data from the hessian LOG file; this is the first place I would look. Open the hessian LOG file and look at the very end for "Normal termination of Gaussian" to check if the calculation completed normally. If it did not, then there is something wrong with that calculation.

If the hessian calculation did complete normally can you zip up and send me the following files?
initial PSF, geometry optimized PDB, initial parameter (PAR) file,
from the geometry optimization, the input (GAU), output (LOG), and checkpoint (CHK) files
from the hessian calculation, the input (GAU), output (LOG) files

Regards,
Christopher Mayne

On Nov 12, 2014, at 6:51 AM, Ashar Malik wrote:

Hey,

You probably need to give a little more detail. From the error it can be speculated that you are trying to just MULTIPLY something and one of then or maybe both have not been initialized.

You will have to look at this yourself, or provide more detail, if you expect some constructive feed back.

Best,
/A

On Wed, Nov 12, 2014 at 11:40 PM, SEZEN VATANSEVER <svatansever13_at_ku.edu.tr<mailto:svatansever13_at_ku.edu.tr>> wrote:
 Dear VMD users/experts,
 I have been trying to use the Force field toolkit in VMD 1.9.2 Beta (Windows) to parameterize a new molecule. In the "Opt.Bonded" tab, when I tried to Run Optimisation, I got the I got the following error message:

"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 197)
    invoked from within
"::ForceFieldToolKit::BondAngleOpt::computePESqm $hessLogID"
    (procedure "::ForceFieldToolKit::BondAngleOpt::optimize" line 93)
    invoked from within
"::ForceFieldToolKit::BondAngleOpt::optimize"
    (procedure "::ForceFieldToolKit::gui::baoptRunOpt" line 40)
    invoked from within
"::ForceFieldToolKit::gui::baoptRunOpt "
    invoked from within
".fftk_gui.hlf.nb.bondangleopt.runOpt invoke "
    invoked from within
".fftk_gui.hlf.nb.bondangleopt.runOpt instate {pressed !disabled} { .fftk_gui.hlf.nb.bondangleopt.runOpt state !pressed; .fftk_gui.hlf.nb.bondangleopt..."
    (command bound to event)"

I found a solution offer from there: http://guido.vonrudorff.de/force-field-toolkit-empty-string-during-bonded-optimization/
But it didn't help me. Is there any way to solve this problem?

--
Best,
/A