The AdS-Schwarzschild black hole metric is given by,

$$ds^2 = \frac{1}{z^2} \left( -f(z) dt^2 + \frac{dz^2}{f(z)} + dx^2 \right)$$

where $t$ is time, $z$ is the radial direction, $x$ is a transverse spatial direction, $f(z) = 1-m z^4$, and $m$ is a constant mass.

Now for my question, we can always transform the constant mass $m$ AdS-Schwarzschild spacetime into a time-dependent mass $m(u)$ spacetime which is given by the AdS-Vaidya black hole metric,

$$ds^2 = \frac{1}{z^2} \left( -f(u,z) du^2 - 2 du dz + dx^2 \right)$$

The transformation that allows this is given by,

$$u = t - \int \frac{dz}{f(u,z)}$$

where $u$ acts like the new time coordinate, $f(u,z) = 1 - m(u) z^4$ and $m(u) = 1000 e^{-3 u}$. The ranges are $t \in [\epsilon, 1]$, $u \in [\epsilon, 1]$, $z \in [\epsilon, 1]$, $x \in [\epsilon, 1]$, and $\epsilon = 10^{-2}$.

Clearly this spacetime is non-Euclidean so obviously this is a spacetime with warping effects. Now, is it possible to visualize a constant plane $u=x$ in this time-dependent spacetime in the ($t,z,x$) coordinates using some Graphics like ParametricPlot3D or Plot3D? In other words, given the values of $(u,z,x)$ I have the AdS-Vaidya spacetime, and we can visualize the constraint $u=x$ in this coordinate system. However, what I want is to visualize the AdS-Vaidya spacetime as well as the constraint $u=x$ in the $(t,z,x)$ coordinates.

The constraint $u=x$ is a flat plane with zero intrinsic curvature, but embedded in the $(t,z,x)$ coordinates it will definitely have some extrinsic curvature where the plane bends due to the warping effect of the given spacetime.

  • $\begingroup$ Is $u$ indeed defined as the quantity which satisfies that equation beginning with $u = \cdots$? It's just strange to me that $u$ appears on both sides of the equation, so I wanted to check before attempting an answer. $\endgroup$
    – thorimur
    Commented Jun 6, 2023 at 9:05
  • $\begingroup$ Also, in case I don't have time, just wanted to mention ContourPlot3D, which might be useful to you. :) $\endgroup$
    – thorimur
    Commented Jun 6, 2023 at 9:08
  • $\begingroup$ @thorimur Yes, originally the mass $m$ is time-independent. Now, mass depends on time which is played by $u$. Actually the transformation should be written as $t = u + \int dz/f(u,z)$ which looks less weird. $\endgroup$
    – mathemania
    Commented Jun 6, 2023 at 9:09
  • $\begingroup$ Ah, ok. And this is the integral from $\epsilon$ to $z$, or from $\epsilon$ to $\infty$ (or something else)? $\endgroup$
    – thorimur
    Commented Jun 6, 2023 at 9:15
  • $\begingroup$ @thorimur That is an indefinite integral, then after integration we can take the values of $z$ to be anywhere between $\epsilon$ to any positive value, but of course practically it shouldn't be too big, $z=1$ would be a practical max value. I think I should just change that in the post. $\endgroup$
    – mathemania
    Commented Jun 6, 2023 at 9:24

1 Answer 1


Here's the simple approach in case it helps (not a full answer), noting that we can phrase the constraint $u=x$ in terms of $t$ by substituting $x$ in for $u$ in $t = u + \int \frac{dz}{f(u,z)}$:

\[Epsilon] = 10^-2;

f[u_, z_] := 1 - (1000 E^(-3 u)) z^4

intIndefinite[u_, z_] := Evaluate@Integrate[1/f[u, z], z]

int[u_, zz_] := 
 Evaluate[intIndefinite[u, zz] - intIndefinite[u, \[Epsilon]]]

tPlane[x_, z_] := Evaluate[x + int[x, z]]

ContourPlot3D[t == tPlane[x, z],
  {t, \[Epsilon], 1}, {x, \[Epsilon], 1}, {z, \[Epsilon], 1},
  AxesLabel -> Automatic]

However, the artifacts are pretty terrible in the result. This could be reduced by increasing PlotPoints above its default, but that takes very long. Also something looks off—I wonder if we're the victims of a branch cut somehow, as logs and arctans appear in ?intIndefinite. Unfortunately (and strangely), Integrate[1/f[u, zz], {zz, \[Epsilon], z}] takes ages to finish, and I'm not sure it will. So, I wonder if it's worth working through the integral from $\epsilon$ to $z$ by hand, then using Compile on the result so that it's fast. But hopefully this partial answer helps get things started!

  • $\begingroup$ I edited the range of $z$ in the code to $[\epsilon, 0.5]$ to reduce the computation time and I used PlotPoints->10 which I guess already shows a bit of the features of the plane. I believe whatever is shown by ContourPlot3D written in your code assuming we can neglect some artifacts should be correct right? The plot I got using your code is quite good with some artifacts on small portions only. $\endgroup$
    – mathemania
    Commented Jun 6, 2023 at 11:38
  • 1
    $\begingroup$ @mathemania Maybe, but maybe not because of branch cuts! I'd inspect the expression int[u,z] carefully, and maybe make sure that the plot Plot3D[int[x, z], {x, \[Epsilon], 1}, {z, \[Epsilon], 1}, PlotRange -> Full] makes sense. I notice that sometimes the output is invisible because it's nontrivially complex (check out int[0.5,0.5]), which seems like a red flag. In particular, this happens when we cross $f(u,z)=0$. $\endgroup$
    – thorimur
    Commented Jun 6, 2023 at 21:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.