Prof. Z. Etienne

Start Here

How-To Guide: Running NRPy+ locally on Windows computers

Code Presentations

  • NRPy+ Overview & Tutorial at 2019 European Einstein Toolkit Workshop at King's College London
    • Presentation given on Sept 2, 2019. Latest progress reported in Slide 20.
  • BlackHoles@Home talk at GR22 in Valencia (July, 2019)
    • Basic introduction to BlackHoles@Home and status report.
  • Back-of-envelope estimate for memory savings over Cartesian AMR when using bispherical-like grids.
    • 2017 Einstein Toolkit Workshop
    • Abstract: The Super-Efficient Numerical Relativity (SENR) code is designed to be at least 100x more memory efficient than AMR-based codes for compact binary modeling. It accomplishes this through curvilinear numerical grids that contain coordinate singularities, adopting and extending the reference metric formalism of Baumgarte et al for BSSN in spherical polar coordinates. Baumgarte is a collaborator on the SENR project. NRPy is a fully BSD-licensed alternative to Kranc, based entirely on Python and SymPy (Python 2.4+ or 3+). NRPy is capable of converting sets of expressions expressed in Einstein notation directly to highly-efficient C code at arbitrary finite difference order. SENR depends on NRPy to generate the BSSN equations in arbitrary reference metrics, with minimal user input. NRPy also generates the C code for the BSSN evolution equations in the BSSN-in-Spherical-Coordinates thorn, Vassilios Mewes lead developer. I will present an overview of both codes, as well as latest progress. SENR/NRPy are both open source (BSD-licensed) and open development.
  • Reviews latest, interactive NRPy+ code structure and some recent applications of NRPy+.
    • 2018 Einstein Toolkit Workshop
    • Abstract: NRPy+ is a user-friendly, open-source Python library that takes as input human-readable mathematical expressions written in Einstein-like notation, and outputs highly optimized SIMD C code. Building atop the open-source SymPy computer algebra system, NRPy+ is designed to lower the barrier to entry for new developers in our field, as it does not rely on expensive Mathematica or Maple licenses to function. To minimize the learning curve for new users, NRPy+ code documentation takes the form of interactive Jupyter notebook tutorials hosted in the cloud by, and linked to from the SENR/NRPy+ homepage: I will present some of our latest work with NRPy+ with emphasis on how it stands to benefit the Einstein Toolkit. For example the SphericalBSSN thorn is based on NRPy+, and we recently wrote and documented a new NRPy+-based WeylScal4 thorn entirely within a Jupyter notebook.
  • Porting General Relativity to Python, for the Benefit of Astrophysics
    • Jan 2019 Morgantown Codes Meeting
    • Abstract: Python is an excellent all-purpose, "batteries-included" language, but when squeezing every drop of performance out of a CPU is essential, it is rarely the right language. I will present a unique use-case for Python---applying it to rapidly generate highly optimized C code kernels---to benefit gravitational wave science. Our project promises to unleash the consumer-grade desktop as a powerful tool for modeling gravitational wave sources, with the potential to greatly deepen our insights into some of the most violent and spectacular events in the Universe.

Science Presentations

  • Overview of BlackHoles@Home; includes graphic of tri-spheres grid
    • Dec 2018 BOINC Projects Call
  • Simulating black hole binaries in corotating cylindrical coordinates with NRPy+-based SENR!, courtesy Ian Ruchlin
    • 2018 APS April Meeting
    • Abstract: We report on a new open-source, user-friendly numerical relativity code package called SENR/NRPy+. Our code extends previous implementations of the BSSN reference-metric formulation to a broad class of curvilinear coordinate systems, making it ideally-suited for modeling physical configurations with approximate or exact symmetries. It is orders of magnitude more efficient than other widely used, open-source numerical relativity codes when simulating black hole dynamics. The formulation addresses coordinate singularities in the computational domain via cell-centered grids and a simple change of basis that analytically regularizes tensor components with respect to the coordinates. NRPy+ provides a Python-based interface in which equations are written in natural tensorial form and output at arbitrary finite difference order as highly efficient C code, and SENR consolidates the source generated by NRPy+ into an OpenMP-parallelized numerical relativity code. In the context of head-on puncture black hole evolutions, we demonstrate nearly exponential convergence of constraint violation and gravitational waveform errors to zero as the order of spatial finite difference derivatives is increased, while holding the coordinate grids fixed at moderate resolution.
  • Mathematical and numerical foundations of NRPy+, and basic strategy for BlackHoles@Home
    • 2018 APS April Meeting
    • Abstract: We report on novel techniques designed to enable state-of-the-art black hole binary evolutions from inspiral through ringdown with the SENR/NRPy+ numerical relativity code on consumer-grade desktop computers. These strategies will make possible fully general relativistic gravitational waveform follow-up campaigns at unprecedentedly large scales, as well as the creation of enormous gravitational waveform catalogs with unique systematics.