Skip to content

Numpy implementation of black hole simulation using puncture method

Notifications You must be signed in to change notification settings

OliverIgnetik/black-hole-numerical-simulation

Repository files navigation

Numerical Simulation Black Hole

Summary

This is an attempt at modelling initial data and associated conformal deviation of spatial hypersurfaces around a black hole by solving the Hamiltonian constraint of the decomposed Einstein field equations. By calculating the extrinsic curvature of the general spacetime slices/hypersurfaces we can fully describe the initial data of the black hole. The approach is based on the puncture method for solving the conformally decomposed Hamiltonian constraint equation for the gravitational field outlined in Shibata [2] and Shapiro [3], [4].

Extrinsic Curvature of Spacetime manifold

Image credit : NASA

Detailed Theory Notes

Please see numerical_relativity_theory_notes.pdf included in this repository for a detailed explanation of:

  • Decompostion of Einstein's field equations into constraint and evolution equations using 3+1 decomposition
  • Puncture method for solving the constraint equation

For pedagogical purposes a explanation of the 3+1 decomposition of Maxwell's equations are included as a stepping stone (pg 1-31) to understanding the more difficult decomposition in general relativity (pg 32-57)

NOTE: Please be aware that the notes and theory behind this decomposition assumes a postgraduate familiarity with general relativity.

Please see numerical_methods_notes.pdf for notes on the approach used to solve the non-linear elliptic puncture equation.

Methodology Overview

This approach recasts Einstein's field equations using the well known 3+1 decomposition of spacetime. This decomposition splits the gravitational field equations into constraint and evolution equations. The constraint equations are crucial for imposing conditions on the gravitational fields at any moment in time.

The approach begins with constructing the purely spatial equivalents of the fundamental spacetime objects in general relativity such as the metric tensor, Riemann tensor and the covariant derivative. By taking projections of Einstein's field equations and identifying the spatial cousins of the aforementioned fundamental objects we arrive at the famous ADM equations (named for its authors Richard Arnowitt, Stanley Deser and Charles W. Misner).

The Einstein field equations in 4D spacetime in natural units are:

The ADM 3+1 decomposition is given by:

Please see numerical_relativity_theory_notes.pdf for full explanation. Refer to pg 32-41.

By the use of a conformal decomposition of the the constraint equations we can describe the initial gravitational field of the black hole using the puncture method. The key insight of the puncture method is that close to the puncture/singularity the spatial laplacian vanishes because the conformal factor supresses the divergent terms. Ultimately this conformal decomposition allows us to solve the non-linear elliptic puncture equation below (which is a transmutated version of the Hamiltonian constraint) which can be achieved with standard numerical techniques:

Once we have the solution of this non-linear elliptic equation we can use it to find the conformal factor and extrinsic curvature using:

Please see numerical_methods_notes.pdf for an explanation of the approach used to solve the non-linear elliptic puncture equation.

For the theory behind this calculation see numerical_relativity_theory_notes.pdf. Refer to pg 41-57

Note that this method is generalizable to model the initial data of multiple black holes with both linear and angular momentum, this is because of the resulting linearity of the decoupled constraint equations. This means we can model solutions for spacetimes more general then that described by the Schwarzschild metric; such as those in which black holes have angular and linear momentum. Despite the fact that this approach is valid for these more general solutions, we have not yet incorporated the angular momentum of the black hole in the simulation. The code presented in this repository solves the constraint equations for initial data using the puncture method for black holes with linear momentum. Note it should also be elucidated that this a vacuum solution, as we assume the energy momentum tensor is zero in the region outside of the black hole.

Motivation

This project was an attempt to make use of the understanding gained in recent self-directed study of general relativity, tensor calculus and differential geometry.

Usage

The script simulation.py solves the constraint equation by making use of the puncture method as described in Shibata [2], to construct initial data describing the conformal deviation of spacetime on the equatorial plane of a black hole. simulation.py has a number of flags that can be used to customize the output of the script:

simulation.py flags

-grid_dim (grid points in each dimensions)
-boundary (location of outer boundary)
-loc_x (x coordinate of black hole)
-loc_y (y coordinate of black hole)
-loc_z (z coordinate of black hole)
-p_x (x momentum of black hole)
-p_y (y momentum of black hole)
-p_z (z momentum of black hole)
-tol (tolerance for elliptic solver)
-it_max (maximum number of iterations)

The environment used for this code can be easily set up using the anaconda-project.yml file. The script will will produce a file called simulation_data_{grid_dim}_{x_boundary}.data.

The data file contains values of the function u dependent on x and y on a plane of constant z in close proximity to the equatorial plane.

Once the data has been constructed using simulation.py we can make use of plot_simulation.py for visualization.

plot_simulation.py flags

-data (puncture data filename)
-save (save filename for image)

Example simulation output

Below is an example of initial data of a black hole with dimensionless linear momentum P = (1,0,0) located at the origin. u is the correction of the Schwarzschild conformal factor. Since we have u, by solving the non-linear elliptic version of the hamiltonian constraint equation; we can solve for the conformal factor and the extrinsic curvature of the hypersurface and fully solve the initial data of the black hole.

Conformal deviation of Spacetime manifold

Note that M as shown in the graph above is the puncture mass which dominates the conformal factor close to the black hole's center. We use the puncture mass to make all variables such as coordinate position and momentum dimensionless.

Packages

Please see anaconda-project.yml for environment dependencies and package versions

  • python 3.95
  • numpy 1.20.2
  • scipy 1.6.2
  • matplotlib 3.3.4

Features

  • Solves the constraint equation and constructs initial data for a black hole with linear momentum using the puncture method
  • Configurable boundary and number of grid points used in simulation
  • Configurable linear momentum and location of the black hole
  • elliptic_solver.py interface with scipy.la for solving constraint equations. Please see numerical_methods_notes.pdf for an explanation of the approach used to solve the non-linear elliptic puncture equation.

Future Work

  • Generalize code to account for black holes with angular momentum
  • Work on incorporating the initial data in the evolution equations
  • Generalize this approach to the moving puncture method to model binary neutron star precession
  • Add a Graphical User Interface for easier manipulation of parameters

Non-Exhaustive References

Numerical Relativity

[1] E. Gourgoulhon, 3+1 Formalism in General Relativity. Heidelberg: Springer, 2012.

[2] M. Shibata, Numerical Relativity. Singapore: World Scientific Publishing Co. Pte. Ltd., 2016.

[3] T. Baumgarte and S. Shapiro, Numerical Relativity. Cambridge: Cambridge University Press, 2010.

[4] T. Baumgarte and S. Shapiro, Numerical Relativity : Starting from Scratch. Cambridge: Cambridge, 2021.

General Relativity and Differential Geometry

[5] B. Schutz, A First Course in General Relativity. Cambridge [etc.]: Cambridge University Press, 2018.

[6] C. Misner, K. Thorne and J. Wheeler, Gravitation. New York: Freeman, 1995.

[7] S. Chandrasekhar, The Mathematical Theory of Black Holes. Oxford u.a.: Clarendon Press, 1992.

[8] D. Neuenschwander, Tensor Calculus for Physics. John Hopkins University Press, 2015.

[9] S. Carroll, Spacetime and Geometry. Harlow: Pearson, 2014.

[10] N. Straumann, General Relativity. Heidelberg: Springer, 2013.

[11] J. Hubbard and B. Hubbard, Vector Calculus, Linear Algebra, and Differential Forms, 5th ed. New York: Matrix Editions, 2015.

About

Numpy implementation of black hole simulation using puncture method

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages