Mike McKerns
 
 
Blog Summary Widget




Software Infrastructure

  1. -pyre


Computational Frameworks

  1. -pathos

  2. -mystic


Models & Simulations

  1. -VNF

  2. -DANSE

  3. -ARCS


Bindings & Utilities

  1. -pyIDL

  2. -pygrace

 

My Released Software

Writing well-engineered software is hard, but ultimately it pays off.  In the end, poorly-engineered software limits the analysis capabilities the user has available, and ultimately becomes a roadblock to new science. I focus on three levels of software: (i) computational models and utilities, (ii) computational frameworks, and (iii) software infrastructure. Well-engineered models not only can provide simulations of real experiments and measurements, but can serve as building blocks in larger multi-scale and multi-physics calculations. Computational frameworks provide an environment for composing large-scale simulations or calculations, such as performing sensitivity analysis for a parameterized materials model within a virtual neutron experiment, or using fitting to predict excited-state molecular conformations from measured time-resolved Raman spectra. Many of the calculations that are scientifically relevant as also computationally challenging. Thus, I have produced software infrastructure that strives to facilitate high-performance parallel and distributed computing in a simple and transparent way, allowing the developer to extend their model analysis to thousands of nodes and across multiple machines with the addition of a few simple lines of code.