Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

Github repo cloud-examples: https://github.com/sagemath/cloud-examples

Views: 8060
License: MIT
%auto typeset_mode(True, display=False)

Carter-Penrose diagrams of Schwarzschild spacetime

This worksheet demonstrates a few capabilities of SageManifolds (version 0.8) in producing Carter-Penrose diagrams.

It is released under the GNU General Public License version 3.

(c) Eric Gourgoulhon, Michal Bejger (2015)

The corresponding worksheet file can be downloaded from here


Spacetime manifold

We declare the Schwarzschild spacetime as a 4-dimensional differentiable manifold:

M = Manifold(4, 'M', r'\mathcal{M}') ; M
M\mathcal{M}

The manifold M\mathcal{M} is diffeomorphic to R2×S2\mathbb{R}^2\times\mathbb{S}^2. Since we shall deal with spherical coordinates (θ,φ)(\theta,\varphi) on S2\mathbb{S}^2, we shall consider the part M0\mathcal {M}_0 of M\mathcal{M} that excludes the two poles of S2\mathbb{S}^2 where the coordinate φ\varphi is not defined: M0R2×(S2{N,S}),\mathcal{M}_0 \simeq \mathbb{R}^2\times\left(\mathbb{S}^2\setminus\{N,S\} \right), where NN (resp. SS) stands for the North pole (resp. South pole):

M0 = M.open_subset('M0', r'\mathcal{M}_0') ; M0
M0\mathcal{M}_0

M0\mathcal{M}_0 can be split into 4 regions, corresponding to the 4 quadrants in the Kruskal diagram.Let us denote by RI\mathcal{R}_{\mathrm{I}} to RIV\mathcal{R}_{\mathrm{IV}} the interiors of these 4 regions (i.e. we exclude the past and furture event horizons from these regions). RI\mathcal{R}_{\mathrm{I}} and  RIII\mathcal{R}_{\mathrm{III}}  are asymtotically flat regions outside the event horizons;  RII\mathcal{R}_{\mathrm{II}} is inside the future event horizon and RIV\mathcal{R}_{\mathrm{IV}} is inside the past event horizon.

regI = M0.open_subset('R_I', r'\mathcal{R}_{\mathrm{I}}') regII = M0.open_subset('R_II', r'\mathcal{R}_{\mathrm{II}}') regIII = M0.open_subset('R_III', r'\mathcal{R}_{\mathrm{III}}') regIV = M0.open_subset('R_IV', r'\mathcal{R}_{\mathrm{IV}}') regI, regII, regIII, regIV
(RI\mathcal{R}_{\mathrm{I}}, RII\mathcal{R}_{\mathrm{II}}, RIII\mathcal{R}_{\mathrm{III}}, RIV\mathcal{R}_{\mathrm{IV}})

The mass parameter mm of Schwarzschild spacetime is declared as a symbolic variable:

m = var('m') ; assume(m>=0)

Kruskal-Szekeres coordinates

The Kruskal-Szekeres coordinates (T,X,θ,φ)(T,X,\theta,\varphi) cover M0\mathcal{M}_0 and are subject to the restrictions T2<1+X2T^2<1+X^2:

XKS.<T,X,th,ph> = M0.chart(r'T X th:(0,pi):\theta ph:(0,2*pi):\varphi') XKS.add_restrictions(T^2 < 1 + X^2) XKS
(M0,(T,X,θ,φ))\left(\mathcal{M}_0,(T, X, {\theta}, {\varphi})\right)

The Kruskal-Szekeres chart ploted in terms of itself:

XKS.plot(XKS, ambient_coords=(X,T), max_value=3, nb_values=25)

Compactified coordinates

The coordinates (T~,X~,θ,φ)(\tilde T, \tilde X, \theta, \varphi) associated with the conformal compactification of the Schwarzschild spacetime are

XCP.<T1,X1,th,ph> = M0.chart(r'T1:(-pi/4,pi/4):\tilde{T} X1:(-pi/2,pi/2):\tilde{X} th:(0,pi):\theta ph:(0,2*pi):\varphi') XCP.add_restrictions([-pi/2+abs(X1)<T1, T1<pi/2-abs(X1)]) XCP
(M0,(T~,X~,θ,φ))\left(\mathcal{M}_0,({\tilde{T}}, {\tilde{X}}, {\theta}, {\varphi})\right)

The chart of compactified coordinates plotted in terms of itself:

XCP.plot(XCP, ambient_coords=(X1,T1), nb_values=25)

The transition map from Kruskal-Szekeres coordinates to the compactified ones:

KS_to_CP = XKS.transition_map(XCP, [1/2*(atan(T+X)+atan(T-X)), 1/2*(atan(T+X)-atan(T-X)), th, ph]) print KS_to_CP KS_to_CP.display()
coordinate change from chart (M0, (T, X, th, ph)) to chart (M0, (T1, X1, th, ph))
{T~=12arctan(T+X)+12arctan(TX)X~=12arctan(T+X)12arctan(TX)θ=θφ=φ\left\{\begin{array}{lcl} {\tilde{T}} & = & \frac{1}{2} \, \arctan\left(T + X\right) + \frac{1}{2} \, \arctan\left(T - X\right) \\ {\tilde{X}} & = & \frac{1}{2} \, \arctan\left(T + X\right) - \frac{1}{2} \, \arctan\left(T - X\right) \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.

The Kruskal-Szekeres chart plotted in terms of the compactified coordinates:

graphKS = XKS.plot(XCP, ambient_coords=(X1,T1), fixed_coords={th:pi/2,ph:0}, ranges={T:(-15,15), X:(-8,8)}, nb_values=33, plot_points=150, style={T:'--', X:'-'}) show(graphKS)


Schwarzschild-Droste coordinates

The standard Schwarzschild-Droste coordinates (also called simply Schwarzschild coordinates) (t,r,θ,φ)(t,r,\theta,\varphi) are defined on RIRII\mathcal{R}_{\mathrm{I}}\cup \mathcal{R}_{\mathrm{II}}:

regI_II = regI.union(regII) XSD.<t,r,th,ph> = regI_II.chart(r't r:(0,+oo) th:(0,pi):\theta ph:(0,2*pi):\varphi') XSD.add_restrictions(r!=2*m) XSD
(RIRII,(t,r,θ,φ))\left(\mathcal{R}_{\mathrm{I}}\cup \mathcal{R}_{\mathrm{II}},(t, r, {\theta}, {\varphi})\right)

We naturally introduce two subcharts as the restrictions of the chart XSD to regions RI\mathcal{R}_{\mathrm{I}} and RII\mathcal{R}_{\mathrm{II}} respectively. Since, in terms of the Schwarzschild-Droste coordinates, RI\mathcal{R}_{\mathrm{I}} (resp. RII\mathcal{R}_{\mathrm{II}}) is defined by r>2mr>2m (resp. r<2mr<2m), we set

XSDI = XSD.restrict(regI, r>2*m) XSDII = XSD.restrict(regII, r<2*m) XSDI, XSDII
((RI,(t,r,θ,φ))\left(\mathcal{R}_{\mathrm{I}},(t, r, {\theta}, {\varphi})\right), (RII,(t,r,θ,φ))\left(\mathcal{R}_{\mathrm{II}},(t, r, {\theta}, {\varphi})\right))

The metric tensor is defined by its components w.r.t. Schwarzschild-Droste coordinates:

g = M.lorentz_metric('g') M.set_default_chart(XSD) M.set_default_frame(XSD.frame()) g[0,0], g[1,1] = -(1-2*m/r), 1/(1-2*m/r) g[2,2], g[3,3] = r^2, (r*sin(th))^2 g.display()
g=(2mrr)dtdt+(r2mr)drdr+r2dθdθ+r2sin(θ)2dφdφg = \left( \frac{2 \, m - r}{r} \right) \mathrm{d} t\otimes \mathrm{d} t + \left( -\frac{r}{2 \, m - r} \right) \mathrm{d} r\otimes \mathrm{d} r + r^{2} \mathrm{d} {\theta}\otimes \mathrm{d} {\theta} + r^{2} \sin\left({\theta}\right)^{2} \mathrm{d} {\varphi}\otimes \mathrm{d} {\varphi}

Transition map between the Schwarzschild-Droste chart and the Kruskal-Szekeres one

SDI_to_KS = XSDI.transition_map(XKS, [sqrt(r/(2*m)-1)*exp(r/(4*m))*sinh(t/(4*m)), \ sqrt(r/(2*m)-1)*exp(r/(4*m))*cosh(t/(4*m)), th, ph], restrictions2=[X>0, T<X, T>-X]) print SDI_to_KS SDI_to_KS.display()
coordinate change from chart (R_I, (t, r, th, ph)) to chart (R_I, (T, X, th, ph))
{T=r2m1e(r4m)sinh(t4m)X=r2m1cosh(t4m)e(r4m)θ=θφ=φ\left\{\begin{array}{lcl} T & = & \sqrt{\frac{r}{2 \, m} - 1} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right) \\ X & = & \sqrt{\frac{r}{2 \, m} - 1} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.
SDII_to_KS = XSDII.transition_map(XKS, [sqrt(1-r/(2*m))*exp(r/(4*m))*cosh(t/(4*m)), \ sqrt(1-r/(2*m))*exp(r/(4*m))*sinh(t/(4*m)), th, ph], restrictions2=[T>0, X<T, T>-X]) print SDII_to_KS SDII_to_KS.display()
coordinate change from chart (R_II, (t, r, th, ph)) to chart (R_II, (T, X, th, ph))
{T=r2m+1cosh(t4m)e(r4m)X=r2m+1e(r4m)sinh(t4m)θ=θφ=φ\left\{\begin{array}{lcl} T & = & \sqrt{-\frac{r}{2 \, m} + 1} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} \\ X & = & \sqrt{-\frac{r}{2 \, m} + 1} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right) \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.

Transition map between the Schwarzschild-Droste chart and the chart of compactified coordinates


The transition map is obtained by composition of previously defined ones:

SDI_to_CP = KS_to_CP.restrict(regI) * SDI_to_KS print SDI_to_CP SDI_to_CP.display()
coordinate change from chart (R_I, (t, r, th, ph)) to chart (R_I, (T1, X1, th, ph))
{T~=12arctan((2cosh(t4m)e(r4m)+2e(r4m)sinh(t4m))2m+r2m)+12arctan((2cosh(t4m)e(r4m)2e(r4m)sinh(t4m))2m+r2m)X~=12arctan((2cosh(t4m)e(r4m)+2e(r4m)sinh(t4m))2m+r2m)12arctan((2cosh(t4m)e(r4m)2e(r4m)sinh(t4m))2m+r2m)θ=θφ=φ\left\{\begin{array}{lcl} {\tilde{T}} & = & \frac{1}{2} \, \arctan\left(\frac{{\left(\sqrt{2} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} + \sqrt{2} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right)\right)} \sqrt{-2 \, m + r}}{2 \, \sqrt{m}}\right) + \frac{1}{2} \, \arctan\left(-\frac{{\left(\sqrt{2} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} - \sqrt{2} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right)\right)} \sqrt{-2 \, m + r}}{2 \, \sqrt{m}}\right) \\ {\tilde{X}} & = & \frac{1}{2} \, \arctan\left(\frac{{\left(\sqrt{2} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} + \sqrt{2} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right)\right)} \sqrt{-2 \, m + r}}{2 \, \sqrt{m}}\right) - \frac{1}{2} \, \arctan\left(-\frac{{\left(\sqrt{2} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} - \sqrt{2} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right)\right)} \sqrt{-2 \, m + r}}{2 \, \sqrt{m}}\right) \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.
SDII_to_CP = KS_to_CP.restrict(regII) * SDII_to_KS print SDII_to_CP SDII_to_CP.display()
coordinate change from chart (R_II, (t, r, th, ph)) to chart (R_II, (T1, X1, th, ph))
{T~=12arctan((2cosh(t4m)e(r4m)+2e(r4m)sinh(t4m))2mr2m)12arctan((2cosh(t4m)e(r4m)2e(r4m)sinh(t4m))2mr2m)X~=12arctan((2cosh(t4m)e(r4m)+2e(r4m)sinh(t4m))2mr2m)+12arctan((2cosh(t4m)e(r4m)2e(r4m)sinh(t4m))2mr2m)θ=θφ=φ\left\{\begin{array}{lcl} {\tilde{T}} & = & \frac{1}{2} \, \arctan\left(\frac{{\left(\sqrt{2} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} + \sqrt{2} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right)\right)} \sqrt{2 \, m - r}}{2 \, \sqrt{m}}\right) - \frac{1}{2} \, \arctan\left(-\frac{{\left(\sqrt{2} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} - \sqrt{2} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right)\right)} \sqrt{2 \, m - r}}{2 \, \sqrt{m}}\right) \\ {\tilde{X}} & = & \frac{1}{2} \, \arctan\left(\frac{{\left(\sqrt{2} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} + \sqrt{2} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right)\right)} \sqrt{2 \, m - r}}{2 \, \sqrt{m}}\right) + \frac{1}{2} \, \arctan\left(-\frac{{\left(\sqrt{2} \cosh\left(\frac{t}{4 \, m}\right) e^{\left(\frac{r}{4 \, m}\right)} - \sqrt{2} e^{\left(\frac{r}{4 \, m}\right)} \sinh\left(\frac{t}{4 \, m}\right)\right)} \sqrt{2 \, m - r}}{2 \, \sqrt{m}}\right) \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.

The Carter-Penrose diagram

Plot of the Schwarzschild-Droste chart in region I in terms of the compactified coordinates:

graphSDI = XSDI.plot(XCP, ranges={t:(-16,16), r:(2.001,12)}, fixed_coords={th:pi/2,ph:0}, ambient_coords=(X1,T1), nb_values=25, style={t:'--', r:'-'}, parameters={m:1}) show(graphSDI)

Same thing for the Schwarzschild-Droste chart in region II:

graphSDII = XSDII.plot(XCP, ranges={t:(-16,16), r:(0.001,1.999)}, fixed_coords={th:pi/2,ph:0}, ambient_coords=(X1,T1), nb_values=25, style={t:'--', r:'-'}, color='green', parameters={m:1}) show(graphSDI+graphSDII)

Schwarzschild-Droste coordinates in Regions III and IV

We introduce a second patch (t,r,θ,φ)(t',r',\theta,\varphi) of Schwarzschild-Droste coordinates to cover RIIIRIV\mathcal{R}_{\mathrm{III}}\cup \mathcal{R}_{\mathrm{IV}}:

regIII_IV = regIII.union(regIV) XSDP.<tp,rp,th,ph> = regIII_IV.chart(r"tp:t' rp:r':(0,+oo) th:(0,pi):\theta ph:(0,2*pi):\varphi") XSDP.add_restrictions(rp!=2*m) XSDP
(RIIIRIV,(t,r,θ,φ))\left(\mathcal{R}_{\mathrm{III}}\cup \mathcal{R}_{\mathrm{IV}},({t'}, {r'}, {\theta}, {\varphi})\right)
XSDIII = XSDP.restrict(regIII, rp>2*m) XSDIV = XSDP.restrict(regIV, rp<2*m) XSDIII, XSDIV
((RIII,(t,r,θ,φ))\left(\mathcal{R}_{\mathrm{III}},({t'}, {r'}, {\theta}, {\varphi})\right), (RIV,(t,r,θ,φ))\left(\mathcal{R}_{\mathrm{IV}},({t'}, {r'}, {\theta}, {\varphi})\right))

The transition maps to Kruskal-Szekeres coordinates and compactified coordinates are defined in a manner similar to above:

SDIII_to_KS = XSDIII.transition_map(XKS, [-sqrt(rp/(2*m)-1)*exp(rp/(4*m))*sinh(tp/(4*m)), \ -sqrt(rp/(2*m)-1)*exp(rp/(4*m))*cosh(tp/(4*m)), th, ph], restrictions2=[X<0, X<T, T<-X]) print SDIII_to_KS SDIII_to_KS.display()
coordinate change from chart (R_III, (tp, rp, th, ph)) to chart (R_III, (T, X, th, ph))
{T=r2m1e(r4m)sinh(t4m)X=r2m1cosh(t4m)e(r4m)θ=θφ=φ\left\{\begin{array}{lcl} T & = & -\sqrt{\frac{{r'}}{2 \, m} - 1} e^{\left(\frac{{r'}}{4 \, m}\right)} \sinh\left(\frac{{t'}}{4 \, m}\right) \\ X & = & -\sqrt{\frac{{r'}}{2 \, m} - 1} \cosh\left(\frac{{t'}}{4 \, m}\right) e^{\left(\frac{{r'}}{4 \, m}\right)} \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.
SDIV_to_KS = XSDIV.transition_map(XKS, [-sqrt(1-rp/(2*m))*exp(rp/(4*m))*cosh(tp/(4*m)), \ -sqrt(1-rp/(2*m))*exp(rp/(4*m))*sinh(tp/(4*m)), th, ph], restrictions2=[T<0, T<-X, T<X]) print SDIV_to_KS SDIV_to_KS.display()
coordinate change from chart (R_IV, (tp, rp, th, ph)) to chart (R_IV, (T, X, th, ph))
{T=r2m+1cosh(t4m)e(r4m)X=r2m+1e(r4m)sinh(t4m)θ=θφ=φ\left\{\begin{array}{lcl} T & = & -\sqrt{-\frac{{r'}}{2 \, m} + 1} \cosh\left(\frac{{t'}}{4 \, m}\right) e^{\left(\frac{{r'}}{4 \, m}\right)} \\ X & = & -\sqrt{-\frac{{r'}}{2 \, m} + 1} e^{\left(\frac{{r'}}{4 \, m}\right)} \sinh\left(\frac{{t'}}{4 \, m}\right) \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.
SDIII_to_CP = KS_to_CP.restrict(regIII) * SDIII_to_KS print SDIII_to_CP SDIII_to_CP.display()
coordinate change from chart (R_III, (tp, rp, th, ph)) to chart (R_III, (T1, X1, th, ph))
{T~=12arctan((2cosh(t4m)e(r4m)+2e(r4m)sinh(t4m))2m+r2m)12arctan((2cosh(t4m)e(r4m)2e(r4m)sinh(t4m))2m+r2m)X~=12arctan((2cosh(t4m)e(r4m)+2e(r4m)sinh(t4m))2m+r2m)+12arctan((2cosh(t4m)e(r4m)2e(r4m)sinh(t4m))2m+r2m)θ=θφ=φ\left\{\begin{array}{lcl} {\tilde{T}} & = & -\frac{1}{2} \, \arctan\left(\frac{{\left(\sqrt{2} \cosh\left(\frac{{t'}}{4 \, m}\right) e^{\left(\frac{{r'}}{4 \, m}\right)} + \sqrt{2} e^{\left(\frac{{r'}}{4 \, m}\right)} \sinh\left(\frac{{t'}}{4 \, m}\right)\right)} \sqrt{-2 \, m + {r'}}}{2 \, \sqrt{m}}\right) - \frac{1}{2} \, \arctan\left(-\frac{{\left(\sqrt{2} \cosh\left(\frac{{t'}}{4 \, m}\right) e^{\left(\frac{{r'}}{4 \, m}\right)} - \sqrt{2} e^{\left(\frac{{r'}}{4 \, m}\right)} \sinh\left(\frac{{t'}}{4 \, m}\right)\right)} \sqrt{-2 \, m + {r'}}}{2 \, \sqrt{m}}\right) \\ {\tilde{X}} & = & -\frac{1}{2} \, \arctan\left(\frac{{\left(\sqrt{2} \cosh\left(\frac{{t'}}{4 \, m}\right) e^{\left(\frac{{r'}}{4 \, m}\right)} + \sqrt{2} e^{\left(\frac{{r'}}{4 \, m}\right)} \sinh\left(\frac{{t'}}{4 \, m}\right)\right)} \sqrt{-2 \, m + {r'}}}{2 \, \sqrt{m}}\right) + \frac{1}{2} \, \arctan\left(-\frac{{\left(\sqrt{2} \cosh\left(\frac{{t'}}{4 \, m}\right) e^{\left(\frac{{r'}}{4 \, m}\right)} - \sqrt{2} e^{\left(\frac{{r'}}{4 \, m}\right)} \sinh\left(\frac{{t'}}{4 \, m}\right)\right)} \sqrt{-2 \, m + {r'}}}{2 \, \sqrt{m}}\right) \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.
SDIV_to_CP = KS_to_CP.restrict(regIV) * SDIV_to_KS print SDIV_to_CP SDIV_to_CP.display()
coordinate change from chart (R_IV, (tp, rp, th, ph)) to chart (R_IV, (T1, X1, th, ph))
{T~=12arctan((2cosh(t4m)e(r4m)+2e(r4m)sinh(t4m))2mr2m)+12arctan((2cosh(t4m)e(r4m)2e(r4m)sinh(t4m))2mr2m)X~=12arctan((2cosh(t4m)e(r4m)+2e(r4m)sinh(t4m))2mr2m)12arctan((2cosh(t4m)e(r4m)2e(r4m)sinh(t4m))2mr2m)θ=θφ=φ\left\{\begin{array}{lcl} {\tilde{T}} & = & -\frac{1}{2} \, \arctan\left(\frac{{\left(\sqrt{2} \cosh\left(\frac{{t'}}{4 \, m}\right) e^{\left(\frac{{r'}}{4 \, m}\right)} + \sqrt{2} e^{\left(\frac{{r'}}{4 \, m}\right)} \sinh\left(\frac{{t'}}{4 \, m}\right)\right)} \sqrt{2 \, m - {r'}}}{2 \, \sqrt{m}}\right) + \frac{1}{2} \, \arctan\left(-\frac{{\left(\sqrt{2} \cosh\left(\frac{{t'}}{4 \, m}\right) e^{\left(\frac{{r'}}{4 \, m}\right)} - \sqrt{2} e^{\left(\frac{{r'}}{4 \, m}\right)} \sinh\left(\frac{{t'}}{4 \, m}\right)\right)} \sqrt{2 \, m - {r'}}}{2 \, \sqrt{m}}\right) \\ {\tilde{X}} & = & -\frac{1}{2} \, \arctan\left(\frac{{\left(\sqrt{2} \cosh\left(\frac{{t'}}{4 \, m}\right) e^{\left(\frac{{r'}}{4 \, m}\right)} + \sqrt{2} e^{\left(\frac{{r'}}{4 \, m}\right)} \sinh\left(\frac{{t'}}{4 \, m}\right)\right)} \sqrt{2 \, m - {r'}}}{2 \, \sqrt{m}}\right) - \frac{1}{2} \, \arctan\left(-\frac{{\left(\sqrt{2} \cosh\left(\frac{{t'}}{4 \, m}\right) e^{\left(\frac{{r'}}{4 \, m}\right)} - \sqrt{2} e^{\left(\frac{{r'}}{4 \, m}\right)} \sinh\left(\frac{{t'}}{4 \, m}\right)\right)} \sqrt{2 \, m - {r'}}}{2 \, \sqrt{m}}\right) \\ {\theta} & = & {\theta} \\ {\varphi} & = & {\varphi} \end{array}\right.
graphSDIII = XSDIII.plot(XCP, ranges={tp:(-16,16), rp:(2.001,12)}, fixed_coords={th:pi/2,ph:0}, ambient_coords=(X1,T1), nb_values=25, style={tp:'--', rp:'-'}, parameters={m:1}) show(graphSDIII)

The final Carter-Penrose diagram of Schwarzschild spacetime:

graphSDIV = XSDIV.plot(XCP, ranges={tp:(-16,16), rp:(0.001,1.999)}, fixed_coords={th:pi/2,ph:0}, ambient_coords=(X1,T1), nb_values=25, style={tp:'--', rp:'-'}, color='green', parameters={m:1}) show(graphSDI+graphSDII+graphSDIII+graphSDIV, axes_labels=graphSDI.axes_labels())