Post

GSoC 2026 - Week 9

Here is week 9 update for my project:

This week I made all the changes from review comments and merged PR #37, which adds support for generic auto-correlation function (ACF).

Here are some of the changes made as part of this PR:

  • Added generic Autocorrelation function
  • Added a generic SlidingWindowACF class that is O(n) with each new frame
    • supported physical properties: position, velocity, force
  • Support to compute and display particle wise ACFs
  • Support for displaying running integral of ACF
  • Support for centering (mean subtraction)
  • Support for configuring selection, dimension type and normalization
  • Add new test trajectory data file that supports velocities
  • Add support for showing diffusion coefficient in MSD widget

From the last sync-up meeting, we agreed that for the remaining time of this project, I’ll first focus on wrapping up the dashboard feature of allowing users to create custom widgets through a notebook like interface from the dashboard UI and after that spend time on adding a few more analyses widgets discussed in issues and meeting notes and finally prep for the mini workshop around Aug 19-21.

I got started on the custom widgets support and made good progress. The overall PR isn’t ready yet, but we now have a common NotebookCell UI component that has code complete (and inspect) support that works with our AsyncKernelManager core. We will use this at multiple places:

  1. Universe configuration
    • to allow users to add custom transformations
  2. Custom notebooks
    • to allow users to add custom widgets
  3. Widget with allows user-defined code
    • to allows users to add direct code blocks that output text content and simple plots of numeric values
    • Eg: box volume (u.trajectory.ts.volume), kinetic energy, COM (center_of_mass()), etc

Apart from the work on customization, I fixed issues that showed up with ruff 0.16.0 and added all the frontend packages needed for Notebook support.

Next week, I plan to wrap up the customization support described above.

This post is licensed under CC BY 4.0 by the author.