SENR/NRPy+ is a numerical relativity code package aimed at solving the full set of Einstein's equations of general relativity to model compact objects at between 1/100-1/1,000 the computation cost of more traditional, AMR-based numerical relativity codes, making the desktop computer a core tool for gravitational wave astrophysics.
SENR/NRPy+ gains this enormous efficiency boost via a new, dynamic reference metric formalism. The code is designed to be open-development, human-readable, compact, OpenMP parallelized, and easily-extensible.
NRPy+ ("Python-based Code generation for Numerical Relativity and Beyond") is a new, open-source code generation package, in which users may input complex tensorial expressions in Einstein-like notation, and the Python-based code will generate highly-optimized C code.
SENR ("the Simple, Efficient Numerical Relativity code") is a bare-bones, fully functional, OpenMP parallelized numerical relativity code in C that simply incorporates the C code generated by NRPy+ where needed. Its uncluttered appearance and small number of lines of code make the algorithmic underpinnings of a numerical relativity code transparent to the user.
We are currently working to extend existing reference metric formalisms that produce static coordinate grids, to generate dynamic coordinate grids. Our focus is on bispherical-like coordinate grids, as they will be most useful for modeling compact binaries in a co-rotating frame.
An at-a-glance summary of the latest results of our ongoing projects. To see more updates, click the figure below or the navigation bar above.
Dec 22, 2017: Released first paper on SENR/NRPy+
Our most recent results are summarized in our first paper.
Here are some notes that provide a more detailed explanation about why we can expect nearly exponential convergence.
An in-progress new user tutorial can be found here. Please contact the current authors in case you would like to contribute!
Pre-Paper Update: Black Hole Simulation without Excision: Numerical Errors Exponentially Convergence to Zero!
One core application of SENR is to model gravitational waves from compact objects, such as neutron stars and black holes, in binary systems. We are developing a single-domain coordinate system that maps from uniform 3D Cartesian coordinates to a curvilinear coordinate system that is nearly spherical-polar around each compact object, and spherical-polar with constant radial grid spacing in the far-field region.
It is crucial that the Hamiltonian constraint violation, which is a measure of numerical errors, be small and convergent to zero in numerical relativity simulations. On uniform resolution grids, we can expect that numerical errors like these will fall to zero as a function of our grid spacing to some power. But how do we demonstrate convergence if the grids are curvilinear? The trick is to exploit the fact that, keeping the grids fixed, as we increase finite difference order, the truncation errors should drop exponentially.
...and this is exactly what we observe! The figure below demonstrates that for a nonspinning black hole in log-radial spherical polar coordinates (3+1) using the advective 1+log and Gamma-driver gauge conditions, the Hamiltonian constraint violation converges to zero exponentially with increased finite difference order in a region that has been influenced by the puncture.
In particular, the figure demonstrates that at t=68M and t=243M, we maintain exponential convergence to zero in the Hamiltonian constraint violation at r=10M, in the wake of an outgoing sharp gauge wave moving at sqrt(2)c (see this paper for more details).
Click the figure to learn more about SENR!
Zachariah B. Etienne is an assistant professor of mathematics at West Virginia University.
Ian Ruchlin is a post doctoral research associate in the mathematics department at West Virginia University.