Skip to main content

High-performance molecular dynamics trajectory analysis (RDF, SSF, VHF, ISF, four-point functions, diffusion and non-Gaussian metrics).

Project description

Ripple

PyPI version Python versions License

Ripple is a high-performance Python package for molecular dynamics trajectory analysis. It combines ASE-compatible trajectory input, reusable NumPy memmap caches, and threaded C++ kernels for large workstation and HPC workflows.

Installation

pip install ripple-hpc

Ripple requires Python 3.10+. The only hard runtime dependency is NumPy. Prebuilt wheels are published for the supported CPython versions; source builds require a C++17 compiler and CMake.

What It Computes

  • RDF: radial distribution function
  • SSF: static structure factor
  • VHF: self and distinct van Hove functions
  • ISF: self and distinct intermediate scattering functions
  • Diffusion: MSD, cMSD, OLS/GLS diffusion tensor fits
  • Non-Gaussian metrics: alpha2 and fourth-order cumulant tensor kappa4
  • Four-point dynamics: chi4(t), G4(r,t), and S4(q,t)

Basic Workflow

Ripple uses a two-step workflow:

  1. prepare_* reads trajectory frames and writes reusable cache files.
  2. *_cal() runs the compiled kernel and returns a typed result object.

Use reuse_memmap=True with a stable trajectory_tag when running several analyses on the same trajectory.

Minimal Example

from ase.io import iread

from ripple.prepare_diffusion import prepare_diffusion
from ripple.prepare_rdf import prepare_rdf

traj = lambda: iread("trajectory.extxyz", format="extxyz", index=":")
species = "Li"

rdf_job = prepare_rdf(
    traj,
    target_atoms1=species,
    target_atoms2=species,
    n_frames=1000,
    save_dir="ripple_cache",
    trajectory_tag="run_001",
    reuse_memmap=True,
)
rdf = rdf_job.rdf_cal(mode="abc", r_max=10.0, dr=0.05, n_workers=8)
print(rdf.bins, rdf.rdf)

diff_job = prepare_diffusion(
    traj,
    target_atoms=species,
    timestep_ps=0.1,
    n_frames=1000,
    save_dir="ripple_cache",
    trajectory_tag="run_001",
    reuse_memmap=True,
)
msd = diff_job.msd_cal(n_workers=8)
alpha2 = diff_job.alpha2_cal(n_workers=8)
fit = msd.diffusion_tensor(method="ols")
print(msd.msd_tensor.shape, alpha2.alpha2.shape, fit.D_tensor)

Public Entry Points

Observable Preparation function Main calculation methods
RDF prepare_rdf rdf_cal
SSF prepare_ssf ssf_cal
VHF prepare_vhf_self, prepare_vhf_distinct vhf_self_cal, vhf_distinct_cal
ISF prepare_isf_self, prepare_isf_distinct isf_self_cal, isf_distinct_cal
Diffusion prepare_diffusion msd_cal, cmsd_cal, alpha2_cal, kappa4_cal
Four-point dynamics prepare_4pcf chi4_cal, G4_cal, S4_cal

Notes

  • Trajectories may be passed as sequences, iterables with n_frames, or factories such as lambda: ase.io.iread(...).
  • Periodic analyses validate the required periodic axes before entering the C++ kernels.
  • The diffusion module requires continuous unwrapped trajectory coordinates. It uses Atoms.positions directly and does not unwrap periodic images during preparation.
  • Prepared objects provide .clean() to remove their cache directory.

License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ripple_hpc-1.3.5.tar.gz (90.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ripple_hpc-1.3.5-cp312-cp312-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.12Windows x86-64

ripple_hpc-1.3.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

ripple_hpc-1.3.5-cp312-cp312-macosx_11_0_arm64.whl (916.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ripple_hpc-1.3.5-cp311-cp311-win_amd64.whl (998.6 kB view details)

Uploaded CPython 3.11Windows x86-64

ripple_hpc-1.3.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

ripple_hpc-1.3.5-cp311-cp311-macosx_11_0_arm64.whl (902.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ripple_hpc-1.3.5-cp310-cp310-win_amd64.whl (993.9 kB view details)

Uploaded CPython 3.10Windows x86-64

ripple_hpc-1.3.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

ripple_hpc-1.3.5-cp310-cp310-macosx_11_0_arm64.whl (890.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file ripple_hpc-1.3.5.tar.gz.

File metadata

  • Download URL: ripple_hpc-1.3.5.tar.gz
  • Upload date:
  • Size: 90.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ripple_hpc-1.3.5.tar.gz
Algorithm Hash digest
SHA256 ca602a238a69ea733f6d4eb779285db93afde6f4eb0f66b3ef6cac00c9f864de
MD5 1f4fb9cd98f82371375bc476c5fdbee6
BLAKE2b-256 c778bd003a9707996122efd99345cde2cca19a8a7a5283051bc3fddfdf027876

See more details on using hashes here.

Provenance

The following attestation bundles were made for ripple_hpc-1.3.5.tar.gz:

Publisher: wheels.yml on Lucius2019/Ripple-hpc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ripple_hpc-1.3.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ripple_hpc-1.3.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ripple_hpc-1.3.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ee9bc19d146bb2d83cb48a8cfc38d03ab0952075047c52cc3e2d15bb26a91c9b
MD5 4738acadcd983efed21a9e6a303f52f9
BLAKE2b-256 4d9a3418072968566fa5045e5e2ecf922a9aae08272f6b993641678879c3a07a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ripple_hpc-1.3.5-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on Lucius2019/Ripple-hpc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ripple_hpc-1.3.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ripple_hpc-1.3.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1d6cb0d5e5f6779acda2128decb63a5f1b8903b00f02f9a6a2feb55eeaac9f39
MD5 7290ab21aa9cc980b62c4cbe513d9cdf
BLAKE2b-256 2f008c052586b4381c0c0e2b238995b815a67b3944a720bdb95284d669bf1f1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ripple_hpc-1.3.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: wheels.yml on Lucius2019/Ripple-hpc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ripple_hpc-1.3.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ripple_hpc-1.3.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d74827d272302308b31fadff4e67323d0b7654cc23da7ac8463211afa94eab02
MD5 08b6a52fe2a8f6e2c63d3ba17668fe1a
BLAKE2b-256 eb12366de00baece75e13b4cbe0977ad9fc83889c0c25db291df93b91443c0bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ripple_hpc-1.3.5-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on Lucius2019/Ripple-hpc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ripple_hpc-1.3.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ripple_hpc-1.3.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 998.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ripple_hpc-1.3.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4cffc0ac726285692a9ae5a5a73717ad4fd6acfc6ff8102cc3cd6905f3554715
MD5 b48904851836117263a8b3ad06a71912
BLAKE2b-256 e1954565769edb0c91fc7688ba0bf0e11452c3f7c85818abad6375e03235c931

See more details on using hashes here.

Provenance

The following attestation bundles were made for ripple_hpc-1.3.5-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on Lucius2019/Ripple-hpc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ripple_hpc-1.3.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ripple_hpc-1.3.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c45cd4d14a6dcce71d877c90f1931c16dcf1cbad62c229217b3146778a106f80
MD5 f0ac39ed62ab7c2fb2ded6c1203c0713
BLAKE2b-256 ee5ea661803e77cd60a97627866ab76c47f54ea637f403550a293071f4a55e70

See more details on using hashes here.

Provenance

The following attestation bundles were made for ripple_hpc-1.3.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: wheels.yml on Lucius2019/Ripple-hpc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ripple_hpc-1.3.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ripple_hpc-1.3.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fdf2d165f3a8bae3499cb104ddc0cc8e9dc2ce86042bfc820162ccbcaee03206
MD5 1c5157093daa0cdc3efb7bc0475c7f03
BLAKE2b-256 59a4db889c63902561d619e199c0d3c1fbd6ff37f789de59453ce34ad40b42f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ripple_hpc-1.3.5-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on Lucius2019/Ripple-hpc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ripple_hpc-1.3.5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ripple_hpc-1.3.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 993.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ripple_hpc-1.3.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 936e5a7018ed86c4ed6f063f2053783da9aa052f6c331c4761e5907d10f13a5b
MD5 31032bb716f8c4bad07d5b1dbbcb6af9
BLAKE2b-256 e0d7ceecfebf7660cae937aad67d13a712bf8a4437b60b32fe492740159de24c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ripple_hpc-1.3.5-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on Lucius2019/Ripple-hpc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ripple_hpc-1.3.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ripple_hpc-1.3.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a1ec1529946e4bbd7edb271067f89b8691dd06f7d4ab4b0b8ee8de7572c12dd9
MD5 3a407b7bfff11bb31c295551ac945ebb
BLAKE2b-256 3b905ade15f538938f7aaa9163da50075bd03294672b5df9af81efd0f1f33065

See more details on using hashes here.

Provenance

The following attestation bundles were made for ripple_hpc-1.3.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: wheels.yml on Lucius2019/Ripple-hpc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ripple_hpc-1.3.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ripple_hpc-1.3.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8ad381e98fb1278bcc377b8f4da9a43a53018f586f6ec3f5fb4dccd24ef2cde4
MD5 3c7b049d1473f56fa28e995c10c88561
BLAKE2b-256 42b63ecab5aa197c7091e9a9c4e424abe192ed4bcacf96cda85f5db4f3da90d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ripple_hpc-1.3.5-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on Lucius2019/Ripple-hpc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page