As a senior software engineer with the Research Computing group at Purdue University, I work on these projects:
  • Technical cost modeling: Lead developer for a GUI desktop application (wxPython) for calculating costs of manufacturing lines. The lines can be graphically configured and connected to sensors in physical equipment for an Industry 4.0 approach to cost analysis.
  • nanoHUB@home: Co-leader of project to extend nanoHUB simulation capabilities with volunteer computing using BOINC. Supported 209 simulation tools, volunteer base of almost 800 volunteer hosts providing 450 GFLOPs. []
  • Speculative exploration: Sole developer of a "bot" to systematically explore the input parameter space of all nanoHUB tools supported by nanoHUB@home, generating input files in both random and targeted explorations.
  • nanoHUB_remote: Sole developer of a Python library and Jupyter notebook to run nanoHUB simulation tools via REST API. Python API hides the details of JSON manipulation and OAuth authentication. [][]

Other projects I have worked on include:

  • BOINC prototype: Sole developer of the first working system to integrate volunteer computing using BOINC clients into nanoHUB middleware.
  • AMOCH: Sole developer C++ code AMOCH (AMorphous CHain builder) to generate initial conditions for molecular dynamics simulations of mechanical properties of polymer systems using LAMMPS. []
  • Workflow library: Sole developer of a Python library to support iterative workflows for multi-step simulations with AMOCH. []
  • PolymerModeler: Lead developer of nanoHUB simulation tool to generate atomistic polymer systems and run LAMMPS to study mechanical properties. []
  • Co-PI of NSF SI2 proposal: AMOCH software development, extended PolymerModeler, supported research users, deployed simulation tools on
  • Ruby Rappture: Lead developer of Ruby bindings for the Rappture toolkit that powers most nanoHUB simulation tools. []
  • Unit cell visualization: Co-developer of Python extension for PyMOL to display unit cells for molecular structures in nanoHUB visualizations.
  • Web services: Created and extended nanoHUB tools to connect to REST API web services (MaterialsProject, OpenKIM)
  • nanoHUB simulation tools: Lead developer of 6 nanoHUB simulation tools, including 2 Jupyter notebook tools, co-developer of 23 other tools. 25,000+ cumulative users of my nanoHUB tools (2007-present).
  • MIDFIELD: Data analytics with Jupyter notebooks to study time to degree statistics for Purdue engineering undergraduates


  • chifig: Publication quality plotting tool, written in Ruby, using LaTeX. []
  • DLA: Diffusion Limited Aggregation cluster growth simulator, written in C++ with Boost, using MPI and OpenMP for embarassingly parallel ensemble assembly. []


  • Lorena Alzate-Vargas and Michael E Fortunato and Benjamin Haley and Chunyu Li and Coray M Colina and Alejandro Strachan. Uncertainties in the predictions of thermo-physical properties of thermoplastic polymers via molecular dynamics. Modelling and Simulation in Materials Science and Engineering, 26, 6, 065007, 2018.
  • Martin Hunt and Benjamin P. Haley and Michael McLennan and Alejandro Strachan. PUQ: a code for non-intrusive uncertainty propagation in computer simulations. Computer Physics Communications, 194, 2015.
  • Benjamin P. Haley and Gerhard Klimeck and Mathieu Luisier and Dragica Vasileska and Abhijeet Paul and Swaroop Shivarajapura and Diane L. Beaudoin. Computational nanoelectronics research and education at Journal of Computational Electronics, 8, 124, 2009.
  • Benjamin P. Haley and Niels Grønbech-Jensen. Vacancy-assisted Arsenic Diffusion and Time-dependent Clustering Effects in Silicon. Phys. Rev. B, 71, 195203, 2005.


  • Ph.D. Engineering - Applied Science University of California, Davis 2005
  • M.S. Engineering - Applied Science University of California, Davis 2001
  • B.S. Physics (Honors) Purdue University 1998