Version v1.7.0 Makes Empirical Potentials First-Class Citizens
It's been 7 years since the last version was released: Now v1.7.0 is out! (see docker, source tarballs, and handbook)
I was working on walking the chemical space and subsequently on fixing so called "compound potentials" from ab-initio calculations. This necessitated some changes and also fixes which you find in a bit more detail below.
I plan to follow-up till the end of the year with a series of small posts where I highlight the more important changes. I want to end the series with a detailed explanation on how to fit your own set of empirical potentials for a given molecular system. Note that there are projects like https://openkim.org/ whose goal is to create a database of potential parameters that have been tested in deriving specific macroscopic quantities. I see the potentials more as a mean of saving computational effort: As the BOSSANOVA fragmentation approach is at the core of molecuilder, we end up running a lot of repetitive computations whose result we already know. In principle, the Born-Oppenheimer Surface (BOS) whose dynamics we compute can be very complex (narrow tunnels or deep potential holes). However, the empirical potentials keep it simple and we rely on the assumption that interactions are simple but their combined effects can be complex, i.e., it's the geometry that causes complexity.
List of Changes
Major
- saturate (fixes to polyhedra and scaling) and bondify (new)
- potentials are first class citizens
- proper path from molecule, to automated fragmentation, computation, homologies and finally potential training (and visualizing in the UI).
- convenience changes in the UI: bigger icons, context menu in gl view, potential tab with plotting
- enhancements to python scripting: numpy compatibility, wait returns status, python3
- works inside jupyter notebooks.
- can be deployed to k8s for large-scale computations.
- graph6 strings, evaluating stability and chemical space evaluation
- more selection actions
Minor
- switch to simpler kubernetes-aimed worker-server setup (health probes, workers don't register but accessed through load balancer)
- potential list shown in UI, new actions to add and remove, also potential curves are plotted in UI
- general fixes to potential setup to make them work as compound potentials
- undomark action
- context menu (right-click) in gl view to manipulate atoms directly
- docker file contained in repo
- bondify has undo/redo
- switched all python to python3
- graph6 fixes and writing strings
- generatePotentialAction generates all combinations
- full numpy getter and setter to atom position, velocities, and forces.
- saturate action allows for just using outer shell (unocc and occ orbitals, only unocc used for adding hydrogens)
- stretch bond falls back to tabled distances for element pairs on zero length
- select atom's bond neighbors
- select atoms randomly
- calculate pair correlation between element and selected atoms.
Fixes
- corrected units and computation in SaveEnergies, renamed from SaveTemperatures
- InputAction will also save that file on exit

rss