The freud
library enables advanced analysis of particle simulations, particularly those utilizing periodic boundary conditions.
This collection of Jupyter notebooks provides examples of how the different modules of freud
can be used for different types of analysis.
These notebooks may be launched interactively on Binder or downloaded and run on your own system.
Run locally:
git clone https://github.com/glotzerlab/freud-examples.git
cd freud-examples
jupyter notebook # or "jupyter lab"
See Notebook Basics and Running Code for tutorials on using Jupyter itself.
The recommended method for installing freud
is using conda (conda install -c conda-forge freud
) or pip (pip install freud-analysis
).
Refer to the Installation Guide for instructions to install from source.
Some of these notebooks also have a number of additional dependencies. In particular, all of these notebooks involve making plots with either Matplotlib or Bokeh, so you will also need to install those to run these notebooks locally. Note that because Bokeh uses Javascript, if you are running these notebooks using JupyterLab you will need to execute an additional command for installation:
jupyter labextension install jupyterlab_bokeh
If you have any issues with installing or seek more information about freud
, please refer to the freud
documentation.
There are a few critical concepts, algorithms, and data structures that are central to all of freud
.
In order to familiarize yourself with these before delving too deep into the workings of specific freud
modules, we recommend looking through certain notebooks first.
In this cell and the next one, each freud
module is linked to the documentation for more information, while the links in the list point to Jupyter notebooks demonstrating the classes in those modules.
freud.box
: The box module defines the Box object used throughout freud
to represent periodic simulation boxes. Since all analysis methods involve some representation of particles in a box of some sort, it is useful to understand boxes and periodicity before attempting to use the rest of freud
.
freud.locality
: The locality module enables NeighborQuery
and NeighborList
calculations, which provide information on which particles are near to other particles in a system. These are described in the Reference documentation. Additional classes are demonstrated below.These notebooks go into greater detail, showing the full functionality of each module in freud
.
freud.cluster
freud.density
freud.diffraction
freud.environment
freud.interface
freud.order
freud.pmft