gms-bbg / gamess-issues

GAMESS issue tracking
7 stars 1 forks source link

HSSTYP key on $CONTRL group not properly coded #6

Closed ghost closed 5 years ago

ghost commented 5 years ago

I'm using the up to date binary release of GAMESS for macOS. Digging through the input documentation (page 2-21) I found a key, on $CONTRL group: HSSTYP. The options can either be FAST or GENERAL (default). The documentation doesn't elaborate on that, but my guess is that it changes the algorithm for Hessian calculations.

Even though I can see the key set to HSSTYP=GENERAL on my log files, when I try to use HSSTYP=FAST on my input, it fails to parse, indicating HSSTYP to be an unknown key for $CONTRL group.

While we're at it, could anybody confirm or deny that HSSTYP is about Hessian calculation?

Make sure these boxes are checked before submitting your issue - thank you!

colleeneb commented 5 years ago

I'm not too familiar with HSSTYP, but when I quickly looked at INPUT.DOC, I saw

HSSTYP = BEST    use faster routines.
       = GENERAL use slower code (default).

Did you mean BEST instead of FAST?

ghost commented 5 years ago

I'm not too familiar with HSSTYP, but when I quickly looked at INPUT.DOC, I saw

HSSTYP = BEST    use faster routines.
       = GENERAL use slower code (default).

Did you mean BEST instead of FAST?

Yep, sorry about that.

colleeneb commented 5 years ago

After a little digging, it looks like HSSTYP is read in the code as a keyword in $FORCE. (So $FORCE HSSTYP=BEST $END works, and did change the log file printout when I tested it. Feel free to confirm.)

I'm not sure why it's listed in $CONTRL, but I'll ask around or dig more if I have time. There might be a reason but I'm not familiar enough with it to say anything about the intention of this keyword. From what I can see HSSTYP=BEST uses different integral routines than HSSTYP=GENERAL in the 1e- and 2e- integral derivative terms in an analytic Hessian calculation.

I'll ask around and update later hopefully. Thanks for the note about it!

ghost commented 5 years ago

After a little digging, it looks like HSSTYP is read in the code as a keyword in $FORCE. (So $FORCE HSSTYP=BEST $END works, and did change the log file printout when I tested it. Feel free to confirm.)

I'm not sure why it's listed in $CONTRL, but I'll ask around or dig more if I have time. There might be a reason but I'm not familiar enough with it to say anything about the intention of this keyword. From what I can see HSSTYP=BEST uses different integral routines than HSSTYP=GENERAL in the 1e- and 2e- integral derivative terms in an analytic Hessian calculation.

I'll ask around and update later hopefully. Thanks for the note about it!

Thank you for your time and answers.

colleeneb commented 5 years ago

Update: This was added by a grad student who had a new implementation for 2nd derivative integrals in the Hessian, and wanted to be able to go back and forth testing the implementation. Similar to the what it says for the INTTYP description, HSSTYP is only meant for debugging purposes.

HSSTYP will either be moved to the $FORCE group in INPUT.DOC or removed (since it’s only for debugging purposes) in a push to GAMESS in the near future. (It’s more likely to just be moved, but we’re still trying to decide.)

This feedback is really helpful in correcting the manual, so thank you again.

ghost commented 5 years ago

A last note: it is just as right to leave this option alone. It breaks Hessian calculation for U-DFT with a Fortran runtime error.

colleeneb commented 5 years ago

Thanks for the feedback. If it goes in the manual, it will say something like "experimental, not fully tested"