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.

from hoomd_script import *

init.read_xml("init.xml");
integrate.mode_standard(dt=0.005);
integrate.nvt(group=group.all(), T=1.0);
lj = pair.lj(r_cut=2.5);
lj.pair_coeff.set('A', 'A', epsilon=1.0, sigma=1.0);
run(1e6);

MD particle update

See the HOOMD-blue homepage for more detailed information.

HPMC

I lead the development of a High Performance hard particle Monte Carlo (HPMC) extension to 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.

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

MC particle update

HPMC is not yet available open source.


Analysis Software

Freud

Freud is a group effort in Glotzer group that I have contributed to heavily. It is a collection of common data analysis tools written in C++ for performance and wrapped in python to enable flexible workflows through scripting. It can load various file formats and compute.

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

Freud is not yet available open source.

Freud.viz

I lead the development of Freud.viz. It is a Freud module for visualizing simulation data. It is a component that enables visualization within a user-written script, not a standalone application. Freud.viz is written almost entirely in python to enable rapid development and easy expansion. It maintain smooth framerates and quick updates even for million particle visualizations by uses PyOpenGL and a minimum number of draw calls.

Freud.viz is not yet available open source.