Refactor angle force constant formula and add test suite#7
Refactor angle force constant formula and add test suite#7Eashan-H wants to merge 2 commits intotheochem:mainfrom
Conversation
|
Hi @QC-Devs team, I’m Eashan, a student at IIT Bhilai, and I’ve really enjoyed diving into the ffprime codebase to implement this fix for the Seminario angle force Beyond this contribution, I am writing to express my strong interest in participating in Google Summer of Code (GSoC) 2026 with the QC-Devs organization. I would love to learn more about your GSoC project ideas or any specific areas where I can contribute further to demonstrate my skills. Please let me know Looking forward to your feedback on the PR! Best regards, |
Summary
This PR refactors the get_angle_force_constant method in ffprime/bond.py to strictly adhere to the standard Seminario (1996) method. The previous
implementation produced physically unrealistic values (~2500 kcal/mol/rad²) due to squared eigenvalue analysis and incorrect unit scaling. The corrected
code now yields standard molecular mechanics values (~10–25 kcal/mol/rad²) that match established literature results.
Physical & Mathematical Rationale
The derivation follows the Seminario method for calculating harmonic force constants directly from the QM Hessian. The core logic was updated to address
three critical issues:
3$ Hessian blocks (
squared weights, as specified in the original paper.
the harmonic mean of the projected Cartesian stiffness:
where
Changes
Verification Results
The implementation was verified using the provided examples/lig.log and lig.fchk files:
Closes : Bug: Physically unrealistic angle force constants in get_angle_force_constant #6