rgpot

Author:

Rohit Goswami

Overview

rgpot provides a unified Cap’n Proto schema and RPC server for potential energy calculations. Clients send ForceInput messages containing geometry and units, receive PotentialResult messages containing energy and forces, and use PotentialConfig only for backend setup.

The C++ server hosts built-in potentials such as Lennard-Jones and CuH2, optional xTB / tblite / metatomic backends, and runtime-loaded quantum engines. NWChemPot loads libnwchemc from the split nwchemc project. CPMDPot loads libcpmdc from the split cpmdc project. Both quantum frontends keep geometry on ForceInput and carry method options in the matching PotentialConfig arm.

The pip package (pip install rgpot) ships nanobind abi3 bindings and multi-ABI Metatomic engines for torch 2.7+. See:

Python package (PyPI)

git clone https://github.com/OmniPotentRPC/rgpot.git
cd rgpot && pixi shell -e rpctest
meson setup bbdir -Dwith_tests=true -Dwith_rpc=true --buildtype=debug
meson compile -C bbdir && meson test -C bbdir

License

MIT, however note that some of the potentials are adapted from eOn which is under a BSD 3-Clause License.