Overview
hoomd-rs is not an application that you install and use. It is a coupled set of Rust crates. Each individual crate serves a narrow purpose and, to the extent possible, is usable on its own without the others. The collection as a whole enables Monte Carlo and molecular dynamics simulations of soft matter systems.
To use hoomd-rs, you need to write a Rust application that links to one or more hoomd-rs crates. What you do in your application is completely up to you. You can learn about what each crate does in its documentation.
Note
Skip to the Monte Carlo tutorials for an introduction to hoomd-rs based on concrete example simulations.
Interaction models
hoomd-interaction implements many interaction models commonly used in soft matter research, such as the Lennard-Jones pair, linear external, and hard shape overlap potentials. When you need something different, implement your own interaction model via one or more of the traits defined in hoomd-interaction.
See the hoomd-interaction documentation for a more detailed introduction, a complete list of all interaction models, and example code.
Representing Shapes
hoomd-geometry defines many common 2D and 3D shapes and implements a number of operations on them. You can use these shapes to define your simulation boundary and site interactions. When you need a different class of shape, implement your own via one or more of the traits defined in hoomd-geometry.
See the hoomd-geometry documentation for a more detailed introduction, a complete list of all shapes, and example code.
Tracking the System’s Microstate
hoomd-microstate defines the Microstate type which tracks all the degrees of
freedom for the bodies in your simulation and provides efficient methods to
access their sites. Many of the hoomd-interaction traits operate on a
system microstate, such as TotalEnergy which computes the total energy of
a microstate for a given interaction model.
See the hoomd-microstate documentation for a more detailed introduction, a complete list of all methods, and example code.
Monte Carlo Simulations
[hoomd-md] implements typical Monte Carlo trial moves used in soft matter
research, such as local translation and rotation moves. Each trial move is
applied to a Microstate (hoomd-microstate) and accepted or rejected based on
the given interaction model (hoomd-interaction). When you need a different type
of trial move for your simulation model, implement your own via one or more of the
traits defined in hoomd-mc.
Writing GSD Files
Use hoomd-gsd to read and write GSD files that store the position and orientation of the sites in your microstate as a function of time. Use GSD files for offline analysis and visualization after your simulation job completes.
Development of hoomd-rs is led by the Glotzer Group at the University of Michigan.
Copyright © 2024-2026 The Regents of the University of Michigan.