Joshua A. Anderson, Ph.D.


View Joshua A. Anderson's profile on LinkedIn Research papers by Joshua A. Anderson

Particle Simulation Software

HOOMD-blue

I lead development of the open source software HOOMD-blue. HOOMD-blue is a general purpose particle simulation tool developed from the ground up for GPUs. It executes Molecular Dynamics simulations with a variety of force fields. Performance scales from a single GPU up to thousands of GPUs.

Jobs are defined and controlled with simple python scripts, which enables enormous flexibility.

import hoomd, hoomd.md
hoomd.context.initialize()
unitcell=hoomd.lattice.sc(a=2.0, type_name='A')
hoomd.init.create_lattice(unitcell=unitcell, n=10)
nl = hoomd.md.nlist.cell()
lj = hoomd.md.pair.lj(r_cut=3.0, nlist=nl)
lj.pair_coeff.set('A', 'A', epsilon=1.0, sigma=1.0)
all = hoomd.group.all();
hoomd.md.integrate.mode_standard(dt=0.005)
hoomd.md.integrate.langevin(group=all, kT=1.2, seed=4)
hoomd.run(10e3)

MD particle update

See the HOOMD-blue homepage for more information.

HPMC

I lead the development of a High Performance hard particle Monte Carlo (HPMC) component of HOOMD-blue. HPMC implements massively parallel updates for off-lattice Monte Carlo, generalized to 3D anisotropic particles in triclinic boxes. HPMC executes in parallel on many CPU cores, on a single GPU, and in parallel on many GPUs. It supports many particle shapes.

HPMC is available open source in HOOMD-blue v2.0.

  • Sphere
  • Ellipsoid
  • Convex (sphero)polygon
  • Simple polygon
  • Convex (sphero)polyhedron
  • General polyhedron

MC particle update


Analysis Software

Freud

Freud is a group effort in Glotzer group that I have contributed to. It is a collection of common data analysis tools written in C++ for performance and wrapped in python to enable flexible workflows through scripting. Here is a list of a few of the quantities Freud can compute:

  • Radial distribution function
  • Hexatic order parameter
  • Spherical harmonic order parameters
  • Particle clustering

Freud is available open source.

GSD

I lead the development of GSD, which is available open source. GSD is a lightweight container file format designed for extremely efficient sequential and random access of named sequences of data arrays. It is the default file format for HOOMD-blue.