-
Notifications
You must be signed in to change notification settings - Fork 2
Description
📚 Package Description and Impact
FFprime is a Python library designed to derive and evaluate the accuracy of atom-centered force-field parameters from quantum-chemical calculations. The package currently supports the computation of atomic charges, dipoles, and quadrupoles using physically motivated partitioning schemes based on the atom-in-molecules theory.
Electrostatic interactions govern many natural and biological processes and are among the most important contributions to inter- and intramolecular interactions. While most standard biomolecular force fields approximate electrostatics using fixed atomic charges (monopoles), this approximation neglects the anisotropy of the molecular electrostatic potential. We recently demonstrated that including higher-order atomic multipoles derived from specific AIM methods provides a systematic improvement while maintaining computational efficiency https://pubs.rsc.org/en/content/articlelanding/2026/ra/d5ra07866k.
This project aims to extend FFprime by implementing efficient and well-tested routines to compute electrostatic potentials and electric fields generated by atom-centered multipoles (charges, dipoles, and quadrupoles), enabling their direct use in early analysis for future force-field development.
👷 What will you do?
The student will design and implement functions in FFprime to compute:
- The electrostatic potential generated by atomic multipoles (monopoles, dipoles, quadrupoles)
- The electric field derived from these multipoles at arbitrary spatial points
The work will also include:
- Integrating the new functionality with all the required utility functions into FFprime
- Writing unit tests to validate correctness against analytical results and reference calculations
🏁 Expected Outcomes
- New FFprime modules/functions to compute electrostatic potential and electric field from atomic multipoles.
- Support for monopole, dipole, and quadrupole contributions
- Well-documented, tested, and maintainable code
- Example use cases illustrating the improvement over charge-only electrostatics
Required Skills
| Skill | Description |
|---|---|
| Requied Skills | Python, Scientific OOP, Linear algebra & vector calculus |
| Preferred Skills | Computational chemistry or molecular modeling, Familiarity with molecular simulations and force fields |
| Project size | Small |
| Difficulty | Medium |
🙋 Mentors
| Name | GitHub | |
|---|---|---|
| Carlos Castillo-Orellana | ccastilloo1995_at_gmail_dot_com | @ccastilloo |
| Farnaz Heidar-Zadeh | farnaz.heidarzadeh_at_queensu_dot_ca | @FarnazH |
| Omid Hossainzadeh | ohosseinzade0_at_gmail_dot_com | @ohzde |
| -- |
🏋️ Stretch Goal
Build analysis utilities on top of the electrostatic field implementation, such as projecting the field onto bonds or reaction coordinates, comparing fields using cosine similarity or other metrics.