Pre-defined Metrics

Pre-defined spacetime metrics.

This subpackage provides factory functions that return MetricTensor instances for well-known spacetimes:

  • minkowski() – flat Minkowski metric

  • schwarzschild() – Schwarzschild black-hole metric

  • kerr() – Kerr rotating black-hole metric

  • flrw() – Friedmann–Lemaître–Robertson–Walker cosmological metric

  • godel() – Gödel rotating-universe metric

  • reissner_nordstrom() – Reissner-Nordström charged black-hole metric

  • de_sitter() – de Sitter metric (positive cosmological constant)

  • anti_de_sitter() – anti-de Sitter metric (negative cosmological constant)

gravica.metrics.minkowski()

Minkowski metric in Cartesian coordinates \((t, x, y, z)\).

\[\eta_{ab} = \operatorname{diag}(1,\,-1,\,-1,\,-1)\]
Return type:

MetricTensor

gravica.metrics.schwarzschild()

Schwarzschild metric in coordinates \((t, r, \theta, \varphi)\).

\[ds^2 = \Bigl(1 - \frac{r_s}{r}\Bigr) dt^2 - \Bigl(1 - \frac{r_s}{r}\Bigr)^{-1} dr^2 - r^2\,d\Omega^2\]

Uses the rational form \((r - r_s)/r\) for better symbolic cancellation. Parameter: \(r_s = 2GM/c^2\).

Return type:

MetricTensor

gravica.metrics.kerr()

Kerr metric in Boyer–Lindquist coordinates \((t, r, \theta, \varphi)\).

Parameters: \(M\) (mass), \(a = J/M\) (spin).

\[\Sigma = r^2 + a^2 \cos^2\theta, \qquad \Delta = r^2 - 2Mr + a^2\]
Return type:

MetricTensor

gravica.metrics.flrw()

FLRW metric in coordinates \((t, r, \theta, \varphi)\).

\[ds^2 = dt^2 - a(t)^2 \left[ \frac{dr^2}{1 - k\,r^2} + r^2\,d\Omega^2 \right]\]

Parameters: \(k\) (spatial curvature), \(a(t)\) (scale factor).

Return type:

MetricTensor

gravica.metrics.godel()

Gödel metric in coordinates \((t, x, y, z)\).

\[ds^2 = a^2 \left[ dt^2 - dx^2 + \tfrac{1}{2}\,e^{2x}\,dy^2 - dz^2 + 2\,e^{x}\,dt\,dy \right]\]

Parameter: \(a\) (related to angular velocity \(\omega\) by \(a^2 = 1/(2\omega^2)\)).

Uses exp as a symbolic function: \(\exp(x) = e^x\).

Return type:

MetricTensor

gravica.metrics.reissner_nordstrom()

Reissner-Nordström metric in coordinates \((t, r, \theta, \varphi)\).

\[ds^2 = f(r)\,dt^2 - f(r)^{-1}\,dr^2 - r^2\,d\Omega^2\]

where \(f(r) = 1 - r_s/r + r_Q^2/r^2 = (r^2 - r_s\,r + r_Q^2)/r^2\).

Parameters: \(r_s = 2GM/c^2\), \(r_Q^2 = GQ^2/(4\pi\varepsilon_0 c^4)\).

Return type:

MetricTensor

gravica.metrics.de_sitter()

de Sitter metric in static coordinates \((t, r, \theta, \varphi)\).

\[ds^2 = \Bigl(1 - \frac{\Lambda r^2}{3}\Bigr)\,dt^2 - \Bigl(1 - \frac{\Lambda r^2}{3}\Bigr)^{-1}\,dr^2 - r^2\,d\Omega^2\]

Parameter: \(\Lambda > 0\) (cosmological constant).

Return type:

MetricTensor

gravica.metrics.anti_de_sitter()

Anti-de Sitter metric in static coordinates \((t, r, \theta, \varphi)\).

\[ds^2 = \Bigl(1 + \frac{r^2}{l^2}\Bigr)\,dt^2 - \Bigl(1 + \frac{r^2}{l^2}\Bigr)^{-1}\,dr^2 - r^2\,d\Omega^2\]

Parameter: \(l\) (AdS radius, related to cosmological constant \(\Lambda = -3/l^2\)).

Return type:

MetricTensor