Skip to content

Fokker-Planck Score Learning: Efficient Free-Energy Estimation Under Periodic Boundary Conditions

This package contains a proof-of-concept implementation of the Fokker-Planck score learning approach.

This package is published in:

Fokker-Planck Score Learning: Efficient Free-Energy Estimation Under Periodic Boundary Conditions,
D. Nagel, and T. Bereau,
arXiv 2025,
doi: 10.48550/arXiv.2506.15653

We kindly ask you to cite this article in case you use this software package for published works.

Features

  • TBA
  • Documentation including tutorials
  • Supports Python 3.10-3.13

Getting started

Installation

The package is called fpsl and will be soon available via PyPI. To install it, simply call:

python3 -m pip install fpsl
For now, you can install it from github. Download the repo and setup an env with with fpsl installed with uv. If you do not have uv you can get it here.
uv sync --extra cuda  # if you have an Nvidia GPU

Usage

Add here a short example.

import fpsl

ddm = fps.DrivenDDM(
    sigma_min=1e-3,
    symmetric=True,
    fourier_features=4,
    ...,
)
# load x position of MD trajectory and forces f
ddm.train(
    ...
)
...