Skip to content

feat: add solvent radial distribution benchmark - #728

Open
lwalew wants to merge 5 commits into
ddmms:mainfrom
lwalew:feat/add-solvent-rdf-benchmark
Open

feat: add solvent radial distribution benchmark#728
lwalew wants to merge 5 commits into
ddmms:mainfrom
lwalew:feat/add-solvent-rdf-benchmark

Conversation

@lwalew

@lwalew lwalew commented Jul 23, 2026

Copy link
Copy Markdown

Pre-review checklist for PR author

Summary

Migrates the solvent radial distribution benchmark from the MLIP Audit suite. For each of
carbon tetrachloride, methanol and acetonitrile, a short NVT molecular dynamics simulation
is run from an equilibrated box, and the radial distribution function of the characteristic
atom (C-C, O-O and N-N respectively) is computed from the trajectory. The position of the
first solvent peak is compared to the experimental reference peak position and the absolute
deviation is averaged across the solvents. The interactive feature is a line plot of the
RDF profiles for each model and solvent.

This PR also adds the shared mlipaudit wiring (optional extra, uv git source, mlip_audit
framework badge and the ml_peg/calcs/utils/mlipaudit.py calculator adapter). This overlaps
with other in-flight MLIP Audit benchmark PRs (e.g. #666, #660); whichever merges first
introduces the shared wiring, and the others will need a rebase to drop the duplicate.

Linked issue

Resolves #723

Progress

  • Calculations
  • Analysis
  • Application
  • Documentation

Testing

The end-to-end run is pending the upload of the input data to S3
(inputs/molecular_dynamics/solvent_radial_distribution/solvent_radial_distribution.zip).
All pre-commit hooks (ruff check, ruff format, numpydoc-validation, whitespace/EOF) pass
locally.

New decorators/callbacks

None. The benchmark reuses the existing plot_scatter / build_table decorators and the
plot_from_table_column callback.

@ElliottKasoar ElliottKasoar added external Contribution from external framework new benchmark Proposals and suggestions for new benchmarks labels Jul 23, 2026
@lwalew
lwalew force-pushed the feat/add-solvent-rdf-benchmark branch from b225c78 to 0203949 Compare July 23, 2026 14:54
lwalew and others added 3 commits August 3, 2026 13:48
Migrate the solvent radial distribution benchmark from the MLIP Audit
suite. A short NVT molecular dynamics simulation is run for boxes of
carbon tetrachloride, methanol and acetonitrile, and the radial
distribution function of the characteristic atom is compared to the
experimental first solvent peak position.

Adds the shared mlipaudit wiring (optional extra, uv source, framework
badge and calculator adapter).

# Conflicts:
#	ml_peg/calcs/utils/mlipaudit.py
Guard the module-level `mlipaudit` imports with `pytest.importorskip` so
collection skips instead of erroring when the optional `mlipaudit` extra is
not installed. Placed ahead of the `ml_peg.calcs.utils.mlipaudit` import,
which pulls in `mlipaudit` unconditionally.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Save the downloaded input data to the calculation outputs and read it from
there during analysis, so the analysis no longer re-downloads from S3. Raise a
clear error if the calculation has not been run.

Store elements as one list per structure rather than a single union, so
individual structures can be excluded once partial filtering is supported.

Report a failed model as NaN rather than None.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@lwalew
lwalew force-pushed the feat/add-solvent-rdf-benchmark branch from 5d420b3 to 4123d40 Compare August 3, 2026 11:48
@lwalew
lwalew marked this pull request as ready for review August 7, 2026 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

external Contribution from external framework new benchmark Proposals and suggestions for new benchmarks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

New benchmark: solvent radial distribution

2 participants