- NRPy+: Introduction & Motivation (NRPy+ home page)
- Basic C Code Output, NRPy+'s Parameter Interface
- Numerical Grids
- Indexed Expressions (e.g., tensors, pseudotensors, etc.)
- Finite Difference Derivatives
- Instructional module: How NRPy+ Computes Finite Difference Derivative Coefficients
**Start-to-Finish Example**: Finite-Difference Playground: A Complete C Code for Validating NRPy+-Based Finite Differences

- Application: The Scalar
**Wave Equation**in Cartesian Coordinates, with Plane-Wave Initial Data**Start-to-Finish Example**: Numerically Solving the Scalar Wave Equation: A Complete C Code- Solving the Wave Equation with the **Einstein Toolkit** (
*Courtesy Patrick Nelson*)

- Application (**in progress**): Two Formulations of
**Maxwell's Equations**in Cartesian Coordinates. (Formulations based on Illustrating Stability Properties of Numerical Relativity in Electrodynamics by Knapp, Walker, and Baumgarte.) (*Courtesy Patrick Nelson*)

- Application: All Weyl scalars and invariants in Cartesian Coordinates (
*Courtesy Patrick Nelson*)- **WeylScal4NRPy**: An **Einstein Toolkit** Diagnostic Thorn (
*Courtesy Patrick Nelson*)

- **WeylScal4NRPy**: An **Einstein Toolkit** Diagnostic Thorn (

- Application (**in progress**): SEOBNR: The Spinning-Effective-One-Body-Numerical-Relativity Hamiltonian
- Solving the SEOBNR Hamiltonian equations of motion

- Moving beyond Cartesian Grids: Reference Metrics
- Application: The Scalar Wave Equation in Curvilinear Coordinates, using a Reference Metric
**Start-to-Finish Example**: Numerically Solving the Scalar Wave Equation in Curvilinear Coordinates: A Complete C Code

**Start-to-Finish Example**: Implementation of Curvilinear Boundary Conditions, Including for Tensorial Quantities

**Overview: Covariant BSSN formulation of general relativity in curvilinear coordinates**- Construction of useful BSSN quantities
- BSSN time-evolution equations
- Time-evolution equations for BSSN gauge quantities $\alpha$ and $\beta^i$
- Hamiltonian and momentum constraint equations
- Enforcing the conformal 3-metric $\det{\bar{\gamma}_{ij}}=\det{\hat{\gamma}_{ij}}$ constraint
- Writing quantities of ADM formalism in terms of BSSN quantities

**Initial data modules**. Initial data are set in terms of standard ADM formalism spacetime quantities.- Non-Spinning ("static trumpet") black hole initial data (
*Courtesy Terrence Pierre Jacques & Ian Ruchlin*) - Spinning UIUC black hole initial data (
*Courtesy Terrence Pierre Jacques & Ian Ruchlin*) - Spinning Shifted Kerr-Schild black hole initial data (
*Courtesy George Vopal*) - Brill-Lindquist initial data: Two-black-holes released from rest
- Black hole accretion disk initial data (Fishbone-Moncrief)
- Neutron Star initial data: The Tolman-Oppenheimer-Volkoff (TOV) solution (
*Courtesy Phil Chang*)

- Non-Spinning ("static trumpet") black hole initial data (
**ADM-to-curvilinear-BSSN initial data conversion****Exact**ADM Spherical/Cartesian to BSSN Curvilinear Initial Data Conversion (Use this module for initial data conversion if the initial data are known*exactly*. The BSSN quantity $\lambda^i$ will be computed exactly using SymPy from given ADM quantities.)**Start-to-Finish initial data validation modules**:- Non-Spinning ("static trumpet") black hole initial data validation: numerical error convergence to zero (
*Courtesy Terrence Pierre Jacques*) - Spinning (Shifted Kerr-Schild) black hole initial data validation: numerical error convergence to zero (
*Courtesy George Vopal*) - Two-black-hole initial data validation: numerical error convergence to zero

- Non-Spinning ("static trumpet") black hole initial data validation: numerical error convergence to zero (

**Numerical**ADM Spherical/Cartesian to BSSN Curvilinear Initial Data Conversion (Use this module for initial data conversion if the initial data are provided by an initial data solver, and are thus known to roundoff error at best. The BSSN quantity $\lambda^i$ will be computed using finite-difference derivatives from given ADM quantities.)**Start-to-Finish initial data validation modules**: (Note that UIUC black hole initial data are*exact*; however we choose to set them up as though they were only known numerically, as a validation test for the**numerical**ADM-Spherical-to-BSSN-Curvilinear initial data conversion module. TOV initial data on the other hand are generated via the solution of a system of ODEs, thus are truly known only numerically):

**Diagnostic curvilinear BSSN modules****Start-to-Finish curvilinear BSSN simulation examples**: