University of Michigan Logo

New URL: Update your bookmarks, the HOOMD-blue home page is now http://glotzerlab.engin.umich.edu/hoomd-blue.


HOOMD-blue is a general-purpose particle simulation toolkit. It scales from a single CPU core to thousands of GPUs.

You define particle initial conditions and interactions in a high-level python script. Then tell HOOMD-blue how you want to execute the job and it takes care of the rest. Python job scripts give you unlimited flexibility to create custom initialization routines, control simulation parameters, and perform in situ analysis.

Download and get started using HOOMD-blue today. Please cite HOOMD-blue if you use it published work.

import hoomd, hoomd.md
hoomd.context.initialize()
hoomd.init.read_gsd('init.gsd')
nl = hoomd.md.nlist.cell()
lj = hoomd.md.pair.lj(r_cut=2.5, nlist=nl)
lj.pair_coeff.set('A', 'A', epsilon=1.0, sigma=1.0)
hoomd.md.integrate.mode_standard(dt=0.005)
all = hoomd.group.all()
hoomd.md.integrate.langevin(group=all, kT=1.2, seed=4)
hoomd.run(1e5)
$ hoomd run.py --mode=cpu
$ hoomd run.py --mode=gpu
$ mpirun -n 256 hoomd run.py --mode=cpu
$ mpirun -n 64 hoomd run.py --mode=gpu

Fast GPU performance

On a single NVIDIA GPU, HOOMD-blue performs an order of magnitude faster than a multi-core CPU in typical benchmarks. Obtain faster time to solution, execute larger simulations than were previously possible, or increase job throughput through a cluster given a fixed monetary budget.

Scalable

HOOMD-blue scales up to thousands of GPUs on Titan and Blue Waters, two of the largest GPU accelerated supercomputers in the world. It runs just as efficiently from one to dozens of GPUs on smaller clusters like Comet (XSEDE), Maverick (XSEDE), your local GPU cluster, and the workstation at your desk.

Flexible

Want to run a Molecular Dynamics simulation using a custom force field? Or maybe you are simulating granular dynamics, dissipative particle dynamics, hard particle Monte Carlo, or active particles? HOOMD-blue is the right tool for you, with a variety of potentials and integration modes.


Hard particle Monte Carlo capabilities

Execution

  • Canonical hard particle MC on a single CPU core
  • Parallel update scheme on a single GPU
  • Parallel updates on many CPU cores / GPUs using MPI
  • Frenkel-Ladd free energy determination
  • Wall constraints (sphere, cylinder, plane)

Shape classes

  • Spheres / disks
  • Union of spheres
  • Convex polygons
  • Convex spheropolygons
  • Simple polygons
  • Ellipsoids / ellipses
  • Convex polyhedra
  • Convex spheropolyhedra
  • Faceted spheres
  • General polyhedra

Ensembles

  • NVT
  • NPT
  • Implicit depletants
  • Grand canonical ensemble
  • Gibbs ensemble

Analysis

  • Pressure sampling in NVT
  • Free volume

Molecular dynamics capabilities

Integrators

Apply many independent integrators to separate particle groups. HOOMD-blue has integrators built in for many different thermodynamic ensembles and energy minimization. Many of them support integration of orientational degrees of freedom.

  • NVE, NVT, NPH, NPT
  • Langevin dynamics
  • Brownian dynamics
  • Berendsen thermostat
  • Dissipative Particle Dynamics (DPD)
  • FIRE energy minimization

Pair potentials

  • CGCMM
  • DPD
  • Lennard-Jones
  • Gaussian
  • Mie
  • Moliere
  • Morse
  • Reaction field
  • Yukawa
  • ZBL
  • User-defined (table)

Bond potentials

  • Harmonic
  • FENE
  • User-defined (table)

Angle potentials

  • Harmonic
  • CGCMM
  • User-defined (table)

Rigid bodies

Combine particles together to form rigid bodies. Potentials still evaluate particle to particle, but the integrator keeps particles in rigid bodies together. Most of the standard integrators work in conjunction with the rigid body constraint.

Advanced neighbor list algorithms

Efficiently handle large cutoff radius disparities using a BVH tree, and/or stenciled cell list to compute the neighbor list. These algorithms make possible large colloid and explicit solvent simulations with.

Other forces

  • Active force

Anisotropic potentials

  • Gay-berne
  • Dipole
  • DEM (faceted shapes)

Wall potentials

  • Sums of planar, cylindrical, and spherical half-spaces
  • lj, gauss, slj, yukawa, morse, force_shifted_lj, and mie interactions

Long-ranged potentials

  • PPPM electrostatic

Constraints

  • Sphere
  • Ellipsoid
  • Distance
  • Rigid body

Dihedral potentials

  • Harmonic
  • OPLS
  • User-defined (table)

Improper potentials

  • Harmonic

External potentials

  • Periodic
  • Constant force
  • Electric field

Many-body potentials

  • EAM
  • Tersoff

General features

Simulation box

Simulations in HOOMD-blue can be 2D or 3D. The box is a parallelepiped with arbitrary lengths and angles allowing for generic triclinic symmetry with periodic boundary conditions in all directions.

Initializers

  • Place particles on a lattice
  • Read GSD input file
  • Read GETAR input file
  • Set from python (arbitrary)
  • Replicate periodic box

Output files

  • DCD
  • GSD
  • GETAR
  • JSON metadata stores simulation and system configuration parameters

Extend HOOMD-blue

Need a capability not listed here? Fork the project and modify the code. HOOMD-blue is written in well documented C++ and its design is modular. Extensions that just add a new pair or bond potential don't even require CUDA code.

If your work is useful to a wide audience of users, submit it to the HOOMD-blue developers as a pull request for inclusion into the main code.

Update properties

  • Resize box over time
  • Temperature rescale
  • Zero system momentum
  • Arbitrary manipulation of system and particle properties from python
  • Add/remove particles while the simulation progresses
  • Access particle properties via numpy arrays

Analysis

  • Realtime visualization in VMD using IMD.
  • Mean-squared displacement
  • Log thermodynamic properties
  • Query logged values from python
  • Arbitrary analysis in python
  • Execute inside Jupyter notebooks

News

  • 2016/08/09 - HOOMD-blue v2.0.2 released.
  • 2016/07/15 - HOOMD-blue v2.0.1 released.
  • 2016/06/22 - HOOMD-blue v2.0.0 released.
  • 2016/05/16 - Homepage moved to http://glotzerlab.engin.umich.edu/hoomd-blue

Software that uses HOOMD-blue