Skip to content

Commit

Permalink
abstract final drafts and grammatical fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
tyndalestutz committed Jun 23, 2023
1 parent bbb2d7d commit b7a6440
Show file tree
Hide file tree
Showing 78 changed files with 505 additions and 573 deletions.
13 changes: 6 additions & 7 deletions Tutorial-ADMBSSN_tofrom_4metric.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,15 @@
"# Converting between the 4-metric $g_{\\mu\\nu}$ and ADM variables $\\left\\{\\gamma_{ij}, \\alpha, \\beta^i\\right\\}$ or BSSN variables $\\left\\{h_{ij}, {\\rm cf}, \\alpha, {\\rm vet}^i\\right\\}$\n",
"## Author: Zach Etienne\n",
"\n",
"## This jupyter notebook presents the NRPy+ Python module BSSN.ADMBSSN_tofrom_4metric, which facilitates conversion between the 4-metric and ADM or BSSN variables. Additionally, the module computes Write 4-metric $g_{\\mu\\nu}$ and its inverse $g^{\\mu\\nu}$ in terms of ADM or BSSN variables, which is essential for simulations of gravitational dynamics. Lastly this notebook describes the steps to write ADM/BSSN metric quantities in terms of 4-metric $g_{\\mu\\nu}$, while excluding extrinsic curvature $K_{ij}$, the BSSN $a_{ij}$, $K$, and $\\lambda^i$.\n",
"<br>\n",
"## This notebook presents the NRPy+ Python module [BSSN/ADMBSSN_tofrom_4metric.py](../edit/BSSN/ADMBSSN_tofrom_4metric.py), which facilitates conversion between the 4-metric and ADM or BSSN variables. The notebook also outlines the steps to write ADM/BSSN metric quantities in terms of 4-metric $g_{\\mu\\nu}$, while excluding extrinsic curvature $K_{ij}$, or the BSSN $\\bar{A}_{ij}$, $K$.\n",
"\n",
"**Notebook Status:** <font color='orange'><b> Self-validated, some additional tests performed </b></font>\n",
"\n",
"**Validation Notes:** This tutorial notebook has been confirmed to be self-consistent with its corresponding NRPy+ module, as documented [below](#code_validation). In addition, the construction of $g_{\\mu\\nu}$ and $g^{\\mu\\nu}$ from BSSN variables has passed the test $g^{\\mu\\nu}g_{\\mu\\nu}=4$ [below](#validationcontraction). **Additional validation tests may have been performed, but are as yet, undocumented. (TODO)**\n",
"\n",
"### NRPy+ Source Code for this module: [BSSN/ADMBSSN_tofrom_4metric.py](../edit/BSSN/ADMBSSN_tofrom_4metric.py)\n",
"\n",
"## Introduction:\n"
"[comment]: <> (Introduction: TODO)"
]
},
{
Expand Down Expand Up @@ -290,7 +289,7 @@
"\n",
"Given $g_{\\mu\\nu}$, we now compute ADM/BSSN metric quantities, excluding extrinsic curvature. \n",
"\n",
"Let's start by computing the ADM quantities in terms of the 4-metric $g_{\\mu\\nu}$\n",
"Let's start by computing the ADM quantities in terms of the 4-metric $g_{\\mu\\nu}$.\n",
"\n",
"Recall that\n",
"$$\n",
Expand All @@ -300,7 +299,7 @@
"\\end{pmatrix}.\n",
"$$\n",
"\n",
"From this equation we immediately obtain $\\gamma_{ij}$. However we need $\\beta^i$ and $\\alpha$. After computing the inverse of $\\gamma_{ij}$, $\\gamma^{ij}$, we raise $\\beta_j$ via $\\beta^i=\\gamma^{ij} \\beta_j$ and then compute $\\alpha$ via $\\alpha = \\sqrt{\\beta^k \\beta_k - g_{00}}$. To convert to BSSN variables $\\left\\{h_{ij},{\\rm cf},\\mathcal{V}^i,\\alpha \\right\\}$, we need only convert from ADM via function calls to [`BSSN.BSSN_in_terms_of_ADM`](../edit/BSSN/BSSN_in_terms_of_ADM.py) ([**tutorial**](Tutorial-BSSN_in_terms_of_ADM.ipynb))."
"From this equation, we immediately obtain $\\gamma_{ij}$. However we need $\\beta^i$ and $\\alpha$. After computing the inverse of $\\gamma_{ij}$, $\\gamma^{ij}$, we raise $\\beta_j$ via $\\beta^i=\\gamma^{ij} \\beta_j$ and then compute $\\alpha$ via $\\alpha = \\sqrt{\\beta^k \\beta_k - g_{00}}$. To convert to BSSN variables $\\left\\{h_{ij},{\\rm cf},\\mathcal{V}^i,\\alpha \\right\\}$, we need only convert from ADM via function calls to [`BSSN.BSSN_in_terms_of_ADM`](../edit/BSSN/BSSN_in_terms_of_ADM.py) ([**tutorial**](Tutorial-BSSN_in_terms_of_ADM.ipynb))."
]
},
{
Expand Down Expand Up @@ -700,9 +699,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
"version": "3.11.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}
12 changes: 7 additions & 5 deletions Tutorial-ADM_Initial_Data-Brill-Lindquist.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@
"## Author: Zach Etienne\n",
"### Formatting improvements courtesy Brandon Clark\n",
"\n",
"## This notebook provides the Brill-Lindquist initial data for a merging black hole system in Cartesian coordinates. It first imports the necessary Python/NRPy+ modules and sets up the conformal factor, $\\psi$, for Brill-Lindquist initial data. It then defines all the necessary ADM variables in Cartesian coordinates and validates the setup against the NRPy+ BrillLindquist module. The validation ensures convergence to zero of the Hamiltonian constraint violation at the expected order, thus confirming the setup's reliability.\n",
"<br>\n",
"<font color='green'>**This module has been validated to exhibit convergence to zero of the Hamiltonian constraint violation at the expected order to the exact solution (see plot at bottom of [the exact initial data validation start-to-finish tutorial notebook](Tutorial-Start_to_Finish-BSSNCurvilinear-Exact_Initial_Data.ipynb); momentum constraint is zero), and all quantities have been validated against the [original SENR code](https://bitbucket.org/zach_etienne/nrpy).**</font>\n",
"## This notebook presents Brill-Lindquist initial data for merging black holes in Cartesian coordinates, using Python/NRPy+ modules. It establishes the conformal factor, $\\psi$, defines ADM variables in Cartesian coordinates, and verifies the setup against NRPy+'s BrillLindquist module. \n",
"\n",
"**Notebook Status:** <font color='green'><b> Validated </b></font>\n",
"\n",
"**Validation Notes:** This module has been validated to exhibit convergence to zero of the Hamiltonian constraint violation at the expected order to the exact solution (see plot at bottom of [the exact initial data validation start-to-finish tutorial notebook](Tutorial-Start_to_Finish-BSSNCurvilinear-Exact_Initial_Data.ipynb); momentum constraint is zero), and all quantities have been validated against the [original SENR code](https://bitbucket.org/zach_etienne/nrpy).\n",
"\n",
"### NRPy+ Source Code for this module: [BrillLindquist.py](../edit/BSSN/BrillLindquist.py)\n",
"\n",
Expand Down Expand Up @@ -272,9 +274,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
"version": "3.11.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}
16 changes: 3 additions & 13 deletions Tutorial-ADM_Initial_Data-ShiftedKerrSchild.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,14 @@
"## Authors: George Vopal & Zach Etienne\n",
"### Formatting improvements courtesy Brandon Clark\n",
"\n",
"## This jupyter notebook presents a module that configures the Shifted Kerr-Schild initial data, as detailed in Etienne et al., 2017 GiRaFFE. This module, designed for numerical stability, has demonstrated convergence to zero of the Hamiltonian and momentum constraint violations at the expected order. Our technique employs Shifted Kerr-Schild coordinates, which reduce the black hole’s coordinate size and nullify the strongly curved spacetime fields deep within the horizon. This approach enhances stability during the evolution of hydrodynamic, MHD, and FFE fields inside the black hole horizon.\n",
"## This notebook features a module that sets up Shifted Kerr-Schild initial data as per [Etienne et al., 2017 GiRaFFE](https://arxiv.org/pdf/1704.00599.pdf). The module confirms the expected order convergence to zero of the Hamiltonian and momentum constraint violations while utilizing Shifted Kerr-Schild coordinates to promote stability within the black hole horizon during the evolution of hydrodynamic, MHD, and FFE fields.\n",
"\n",
"**Notebook Status:** <font color='green'><b> Validated </b></font>\n",
"\n",
"**Validation Notes:** This module has been validated to exhibit convergence to zero of the Hamiltonian and momentum constraint violations at the expected order to the exact solution (see plots at bottom of [the exact initial data validation start-to-finish tutorial notebook](Tutorial-Start_to_Finish-BSSNCurvilinear-Exact_Initial_Data.ipynb)).\n",
"\n",
"### NRPy+ Source Code for this module: [BSSN/ShiftedKerrSchild.py](../edit/BSSN/ShiftedKerrSchild.py)\n",
"\n",
"\n",
"\n",
"\n",
"## Introduction:\n",
"Shifted Kerr-Schild coordinates are similar to the trumpet spacetime, in that $r=0$ maps to some finite radius surface in Kerr-Schild coordinates. The radial shift $r_0$ both reduces the black hole's coordinate size and causes the very strongly-curved spacetime fields at $r<r_{0}$ to vanish deep inside the horizon, which aids in numerical stability, e.g., when evolving hydrodynamic, MHD, and FFE fields inside the horizon."
]
Expand Down Expand Up @@ -507,13 +504,6 @@
"import cmdline_helper as cmd # NRPy+: Multi-platform Python command-line interface\n",
"cmd.output_Jupyter_notebook_to_LaTeXed_PDF(\"Tutorial-ADM_Initial_Data-ShiftedKerrSchild\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
Expand All @@ -532,9 +522,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
"version": "3.11.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}
7 changes: 3 additions & 4 deletions Tutorial-ADM_Initial_Data-StaticTrumpet.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@
"## Authors: Terrence Pierre Jacques, Zach Etienne & Ian Ruchlin\n",
"### Formatting improvements courtesy Brandon Clark\n",
"\n",
"## This notebook presents a module that sets up Static Trumpet Black Hole initial data, based on Dennison and Baumgarte's 2014 research on classical quantum gravity ([Dennison and Baumgarte, 2014 Class. Quantum Grav. 31 117001](https://arxiv.org/abs/1403.5484)). This data is derived from a family of analytical coordinate systems representing the Schwarzschild spacetime and allows conversion from spherical to any coordinate system defined in [reference_metric.py](../edit/reference_metric.py) (e.g., SinhSpherical, Cylindrical, Cartesian, etc.) using the [Exact ADM Spherical-or-Cartesian-to-BSSNCurvilinear converter module](Tutorial-ADM_Initial_Data-Converting_Exact_ADM_Spherical_or_Cartesian_to_BSSNCurvilinear.ipynb). Special attention is given to the isotropic spatial coordinates that extend smoothly through the black hole event horizon. The work has been validated against the original SENR code, demonstrating convergence to zero of the Hamiltonian constraint violation at the expected order to the exact solution.\n",
"<br>\n",
"## This notebook introduces a module establishing Static Trumpet Black Hole initial data, based on research by [Dennison and Baumgarte, 2014 Class. Quantum Grav. 31 117001](https://arxiv.org/abs/1403.5484). It allows conversion from Schwarzschild spacetime to any coordinate system detailed in [reference_metric.py](../edit/reference_metric.py), using the [Exact ADM Spherical-or-Cartesian-to-BSSNCurvilinear converter module](Tutorial-ADM_Initial_Data-Converting_Exact_ADM_Spherical_or_Cartesian_to_BSSNCurvilinear.ipynb). Emphasizing isotropic coordinates, it validates against the original SENR code.\n",
"\n",
"**Notebook Status:** <font color='green'><b> Validated </b></font>\n",
"\n",
Expand Down Expand Up @@ -394,9 +393,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
"version": "3.11.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}
10 changes: 5 additions & 5 deletions Tutorial-ADM_Initial_Data-TOV.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
"## Authors: Phil Chang, Zach Etienne, & Leo Werneck\n",
"### Formatting improvements courtesy Brandon Clark\n",
"\n",
"## In this jupyter notebook, initial data for a [TOV](https://en.wikipedia.org/wiki/Tolman%E2%80%93Oppenheimer%E2%80%93Volkoff_equation) star in spherical, isotropic coordinates is established, including a proposed method to accurately validate this data. The notebook presents a module for setting up ADM metric quantities and stress-energy tensor from interpolated TOV in *spherical, isotropic coordinates*data, demonstrating its reliability through a rigorous code validation process against the NRPy+ TOV.TOV_Solver module. Detailed steps for reading and interpolating TOV data files, while avoiding the Gibbs phenomenon at the stellar surface, are outlined.\n",
"<br>\n",
"## This notebook establishes initial data for a [TOV](https://en.wikipedia.org/wiki/Tolman%E2%80%93Oppenheimer%E2%80%93Volkoff_equation) star in spherical, isotropic coordinates. The notebook presents a module for setting up ADM metric quantities and the stress-energy tensor $T^{\\mu\\nu}$ from interpolated TOV data and demonstrates reliability through validation against the Python `TOV.TOV_Ccodegen_library` module. Detailed steps for reading and interpolating TOV data files, while avoiding the Gibbs phenomenon at the stellar surface, are outlined.\n",
"\n",
"**Notebook Status:** <font color='green'><b> Validated </b></font>\n",
"\n",
"**Validation Notes:** This module has been validated to exhibit convergence to zero of the Hamiltonian constraint violation at the expected order to the exact solution (see [start-to-finish TOV module](Tutorial-Start_to_Finish-BSSNCurvilinear-TOV_initial_data.ipynb) for full test). Note that convergence at the surface of the star is lower order due to the sharp drop to zero in $T^{\\mu\\nu}$.\n",
"**Validation Notes:** This module has been validated to exhibit convergence to zero of the Hamiltonian constraint violation at the expected order to the exact solution (see [start-to-finish TOV module](Tutorial-Start_to_Finish-BSSNCurvilinear-TOV_initial_data.ipynb) for a full test). Note that convergence at the surface of the star is lower order due to the sharp drop to zero in $T^{\\mu\\nu}$.\n",
"\n",
"### NRPy+ Source Code for this module: [TOV/TOV_Solver.py](../edit/TOV/TOV_Solver.py)\n",
"\n",
Expand Down Expand Up @@ -1163,9 +1163,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
"version": "3.11.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}
6 changes: 3 additions & 3 deletions Tutorial-ADM_Initial_Data-UIUC_BlackHole.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"\n",
"### Formatting improvements courtesy Brandon Clark\n",
"\n",
"## This jupyter notebook presents the development and validation of a module that sets up UIUC Black Hole initial data, allowing for the study of highly spinning black holes ([Liu, Etienne, & Shapiro, PRD 80 121503, 2009](https://arxiv.org/abs/1001.4077)). Utilizing the [Exact ADM Spherical-or-Cartesian-to-BSSNCurvilinear converter module](Tutorial-ADM_Initial_Data-Converting_Exact_ADM_Spherical_or_Cartesian_to_BSSNCurvilinear.ipynb), the system can transition from spherical to any defined coordinate system. The module has been validated to exhibit convergence to zero of the Hamiltonian and momentum constraint violation at the expected order to the exact solution. A key advantage of the UIUC black hole method is its ability to maintain finite coordinate radius in the maximal spin limit, improving the precision of studies on spinning black holes.\n",
"## This notebook introduces a module for setting up UIUC Black Hole initial data for studying highly spinning black holes ([Liu, Etienne, & Shapiro, PRD 80 121503, 2009](https://arxiv.org/abs/1001.4077)). Using the [Exact ADM Spherical-or-Cartesian-to-BSSNCurvilinear converter module](Tutorial-ADM_Initial_Data-Converting_Exact_ADM_Spherical_or_Cartesian_to_BSSNCurvilinear.ipynb), it supports transitions from spherical to any defined coordinate system.\n",
"\n",
"**Notebook Status:** <font color='green'><b> Validated </b></font>\n",
"\n",
Expand Down Expand Up @@ -534,9 +534,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
"version": "3.11.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}
Loading

0 comments on commit b7a6440

Please sign in to comment.