Skip to main content

Post-processing tools for particle simulations

Project description

Postprocessing

pypi version license Binder pipeline coverage report

A Python package to compute static and dynamic correlation functions from simulations of interacting particles, such as molecular dynamics or Monte Carlo simulations. Based on atooms.

Quick start

Postprocessing works on trajectories. Any trajectory format recognized by atooms can be processed, for instance most "xyz" files should work fine. If you use a custom trajectory format, it is easy to add it.

As an example, we compute the structure factor S(k) from the file trajectory.xyz in the data/ folder.

From the command line

pp.py --norigins 0.2 msd data/trajectory.xyz

We just used 20% of the available time frames to compute the averages using the --norigins flag. Without it, atooms-pp applies an heuristics to determine the number of time frames required to achieve a reasonable data quality. The results of the calculation are stored in the file data/trajectory.xyz.pp.sk.

From Python

The same calculation can be done from Python:

from atooms.trajectory import Trajectory
import atooms.postprocessing as pp

with Trajectory('data/trajectory.xyz') as t:
     p = pp.StructureFactor(t)
     p.do()

Features

Available correlation and distribution functions

  • Real space
    • radial distribution function
    • mean square displacement
    • velocity auto-correlation function
    • self overlap functions
    • collective overlap functions
    • dynamic susceptibility of the self overlap function
    • non-Gaussian parameter
    • bond-angle distribution
  • Fourier space
    • structure factor
    • spectral density
    • self intermediate scattering functions
    • collective intermediate scattering functions
    • four-point dynamic susceptibility

Documentation

Check out the tutorial for more examples and the public API for full details.

Org-mode and jupyter notebooks are available under docs/. You can run the tutorial interactively on Binder.

Installation

Install with pip

pip install atooms-pp

Or clone the project repository

git clone https://framagit.org/atooms/postprocessing.git
cd postprocessing
make install

Contributing

Contributions to the project are welcome. If you wish to contribute, check out these guidelines.

Authors

Daniele Coslovich: https://www.units.it/daniele.coslovich/

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

atooms_pp-4.0.2.tar.gz (67.5 kB view details)

Uploaded Source

Built Distribution

atooms_pp-4.0.2-py3-none-any.whl (71.3 kB view details)

Uploaded Python 3

File details

Details for the file atooms_pp-4.0.2.tar.gz.

File metadata

  • Download URL: atooms_pp-4.0.2.tar.gz
  • Upload date:
  • Size: 67.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for atooms_pp-4.0.2.tar.gz
Algorithm Hash digest
SHA256 aa72c83708009239ce1ebb0277d2ddf6ac1260111244417b049c127f54a4047f
MD5 d7a82cc16103a8d7ea36ab01f36d70b7
BLAKE2b-256 3608e38a00a42f6ad508f271c118f6d8dceccddbb7ac317edbe32a625bda6492

See more details on using hashes here.

File details

Details for the file atooms_pp-4.0.2-py3-none-any.whl.

File metadata

  • Download URL: atooms_pp-4.0.2-py3-none-any.whl
  • Upload date:
  • Size: 71.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for atooms_pp-4.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bd2e12210ead71963d5e42fd0b4fbfa0a06854bbc3987bdcd4b87f18d1e3a34a
MD5 25c327d692b6cc0ce37d19ad0e57e931
BLAKE2b-256 5e7c803e98d7bfc3b40a960f5ecafd608cd233512ca5e14805dd3f7630fd54ef

See more details on using hashes here.

Supported by

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