HOOMD-blue is a general purpose particle simulation toolkit. It performs hard particle Monte Carlo simulations of a variety of shape classes, and molecular dynamics simulations of particles with a range of pair, bond, angle, and other potentials. HOOMD-blue runs fast on NVIDIA GPUs, and can scale across many nodes. For more information, see the HOOMD-blue website.
Read the HOOMD-blue tutorial online.
Official binaries of HOOMD-blue are available via conda through
the glotzer channel.
To install HOOMD-blue, first download and install
miniconda following conda's instructions.
Then add the glotzer
channel and install HOOMD-blue:
$ conda config --add channels glotzer
$ conda install hoomd
Use cmake to configure an out of source build and make to build hoomd.
mkdir build
cd build
cmake ../
make -j20
To run out of the build directory, add the build directory to your PYTHONPATH
:
export PYTHONPATH=`pwd`:$PYTHONPATH
For more detailed instructions, see the documentation.
- Required:
- Python >= 2.7
- numpy >= 1.7
- CMake >= 2.8.0
- C++ 11 capable compiler (tested with gcc 4.8, 4.9, 5.4, 6.4, clang 3.4, 3.8, 5.0)
- Optional:
- NVIDIA CUDA Toolkit >= 7.0
- MPI (tested with OpenMPI, MVAPICH)
- sqlite3
HOOMD-blue job scripts are python scripts. You can control system initialization, run protocol, analyze simulation data, or develop complex workflows all with python code in your job.
Here is a simple example.
import hoomd
from hoomd import md
hoomd.context.initialize()
# create a 10x10x10 square lattice of particles with name A
hoomd.init.create_lattice(unitcell=hoomd.lattice.sc(a=2.0, type_name='A'), n=10)
# specify Lennard-Jones interactions between particle pairs
nl = md.nlist.cell()
lj = md.pair.lj(r_cut=3.0, nlist=nl)
lj.pair_coeff.set('A', 'A', epsilon=1.0, sigma=1.0)
# integrate at constant temperature
all = hoomd.group.all();
md.integrate.mode_standard(dt=0.005)
hoomd.md.integrate.langevin(group=all, kT=1.2, seed=4)
# run 10,000 time steps
hoomd.run(10e3)
Save this as lj.py
and run with python lj.py
.
Read the reference documentation on readthedocs.
See ChangeLog.md.
See CONTRIBUTING.md.