Brian W. O'Shea - Software

join us! research
cv / bio

The members of my research group and I are significant contributors to a number of open-source software projects, and I separately have written various pieces of software that might be useful to others.


Enzo is an adaptive mesh refinement code for simulating astrophysical systems. It has a wide array of capabilities, and can be used to model N-body dynamics, hydrodynamics and magnetohydrodynamics, and radiation transport. I am one of the developers of Enzo, and use it to study the formation of cosmological structure - at the moment, primarily galaxies, clusters of galaxies, and the intergalactic medium. More information about Enzo can be found at the project homepage,, the code method paper can be found in the Astrophysical Journal, and the code itself can be found in a repository on GitHub. Enzo is freely available and has a large community of developers and users that are happy to help out newcomers!


Enzo-E is the exascale version of Enzo, which has been designed from the ground up to be scalable to massive CPU core counts. It is built using the Cello array-of-octree parallel adaptive mesh refinement framework, which is built on top of the Charm++ parallel programming framework. (GitHub repository.)


Parthenon is a performance portable block-structured adaptive mesh refinement framework that can be used as a platform to develop multiphysics codes for a variety of applications. It uses the Kokkos toolkit for performance portability, and uses the Athena++ codebase as the basis for the framework. This projected emerged from the work done by Philipp Grete, Forrest Glines, and myself to develop K-Athena, a performance portable version of Athena++ that displayed excellent single-device performance and scalability on a range of CPU- and GPU-based architectures, but which was limited to uniform grid calculations (K-Athena paper; code repository). Parthenon massively extends the capabilities of K-Athena while retaining extremely high levels of performance and scalability. The Parthenon method paper can be found here, and the code itself can be found here.


Athena-PK is the performance portable version of Athena++ that is built on top of the Parthenon framework.


yt is a Python-based toolkit for the analysis of complex multiphysics simulatiosn. It originally started as a tool to analyze Enzo data, but has been extended to work with a variety of simulation methods and codes. My group uses yt for essentially all of its Enzo data analysis and visualization needs, and has made significant contributions to various aspects of the codebase. More information can be found at the yt project homepage, The yt method paper can be found here.

Miscellaneous software