• Stars
    star
    269
  • Rank 151,801 (Top 4 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created over 5 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Powerful, efficient particle trajectory analysis in scientific Python.

freud

Citing freud PyPI conda-forge ReadTheDocs Binder GitHub-Stars

Overview

The freud Python library provides a simple, flexible, powerful set of tools for analyzing trajectories obtained from molecular dynamics or Monte Carlo simulations. High performance, parallelized C++ is used to compute standard tools such as radial distribution functions, correlation functions, order parameters, and clusters, as well as original analysis methods including potentials of mean force and torque (PMFTs) and local environment matching. The freud library supports many input formats and outputs NumPy arrays, enabling integration with the scientific Python ecosystem for many typical materials science workflows.

Resources

Related Tools

  • HOOMD-blue: Perform MD / MC simulations that can be analyzed with freud.
  • signac: Manage your workflow with signac.

Citation

When using freud to process data for publication, please use this citation.

Installation

The easiest ways to install freud are using pip:

pip install freud-analysis

or conda:

conda install -c conda-forge freud

freud is also available via containers for Docker or Singularity. If you need more detailed information or wish to install freud from source, please refer to the Installation Guide to compile freud from source.

Examples

The freud library is called using Python scripts. Many core features are demonstrated in the freud documentation. The examples come in the form of Jupyter notebooks, which can also be downloaded from the freud examples repository or launched interactively on Binder. Below is a sample script that computes the radial distribution function for a simulation run with HOOMD-blue and saved into a GSD file.

import freud
import gsd.hoomd

# Create a freud compute object (RDF is the canonical example)
rdf = freud.density.RDF(bins=50, r_max=5)

# Load a GSD trajectory (see docs for other formats)
traj = gsd.hoomd.open('trajectory.gsd', 'rb')
for frame in traj:
    rdf.compute(system=frame, reset=False)

# Get bin centers, RDF data from attributes
r = rdf.bin_centers
y = rdf.rdf

Support and Contribution

Please visit our repository on GitHub for the library source code. Any issues or bugs may be reported at our issue tracker, while questions and discussion can be directed to our user forum. All contributions to freud are welcomed via pull requests!

More Repositories

1

hoomd-blue

Molecular dynamics and Monte Carlo soft matter simulation on GPUs.
C++
294
star
2

signac

Manage large and heterogeneous data spaces on the file system.
Python
126
star
3

fresnel

Publication quality path tracing in real time.
C++
104
star
4

signac-flow

Workflow management for signac-managed data spaces.
Python
48
star
5

hoomd-examples

HOOMD-blue example scripts.
Jupyter Notebook
28
star
6

gsd

Read and write GSD files for use with HOOMD-blue.
Python
23
star
7

coxeter

Collection of tools to help initialize and manipulate shapes.
Jupyter Notebook
21
star
8

rowan

A Python package for working with quaternions.
Python
17
star
9

signac-dashboard

Rapidly visualize signac projects through a customizable dashboard interface.
Python
16
star
10

signac-examples

Examples for the signac framework.
Jupyter Notebook
14
star
11

freud-examples

Examples for the freud library.
Jupyter Notebook
13
star
12

plato

Efficient visualization of particle data supporting several rendering engines.
Python
12
star
13

pythia

A library to generate numerical descriptions of particle systems.
Python
12
star
14

software

Docker image for Glotzer Lab software
Shell
11
star
15

ovito-scripts

A collection of scripts for pairing OVITO with freud and other Glotzer lab packages
Python
9
star
16

signac-docs

Documentation for the signac framework.
9
star
17

garnett

Collection of file parsers and writers for particle trajectory formats used by the Glotzer Group.
Python
8
star
18

hoomd-benchmarks

A collection of benchmarks for HOOMD-blue
Python
7
star
19

synced_collections

Add transparent file synchronization to standard Python collections
Python
5
star
20

dupin

Package for detecting rare events in molecular simulations.
Python
4
star
21

plato-gallery

Example notebooks for the plato visualization project
Jupyter Notebook
4
star
22

signac-project-template

!!! OUTDATED!!!
Python
4
star
23

hoomd-validation

Longer Running Validation Tests for HOOMD-blue
Python
3
star
24

hoomd-workshop

Interactive workshop teaching HOOMD-blue.
Jupyter Notebook
3
star
25

fsph

Library to quickly compute series of complex spherical harmonics.
C++
3
star
26

fresnel-examples

Example notebooks for fresnel
Jupyter Notebook
3
star
27

libgetar

Library to read and write GEneric Trajectory ARchives, a binary data format designed for efficient, extensible storage of trajectory data.
C
2
star
28

glotzerlab_citations

Collection of citations commonly used in papers in the Glotzer group
TeX
2
star
29

peact

A library for reactive programming in Python.
Python
2
star
30

signac-workshop

Interactive signac tutorials.
Jupyter Notebook
1
star
31

flowws-unit-cell

Workflow for interactively identifying crystal unit cells.
Python
1
star
32

fix-license-header

Python
1
star
33

hoomd-component-template

Template repository for HOOMD-blue C++ components.
CMake
1
star
34

fedorov

A python package to initialize different crystal structures
Python
1
star