Background: I'm attempting to derive the Friedmann Equations in Mathematica. The code works with the FLRW metric employing natural units where c=1. However, to insure the calculation works for all cases, I'm inputting other versions of known metrics see if the result are still correct. When I switch from natural units, space negative:$$d\tau^2=\text{d}t^2-a(t)^2\left(\dfrac{\text{d}r^2}{1-kr^2}+r^2(\text{d}\theta^2+\text{sin}^2\theta\text{d}\phi^2)\right)$$to SI units, space positive:$$d\tau^2=i^2c^2dt^2+ a(t)^2\left(\dfrac{\text{d}r^2}{1-kr^2}+r^2(\text{d}\theta^2+\text{sin}^2\theta\text{d}\phi^2)\right)$$I get some strange results coming from the Perfect Fluid tensor calculation. I believe it has to do with the interpretation of the velocity vector in the formula found here. When working with space negative natural units, we have:$$U^\mu=\{1,0,0,0\}$$$$T^{\mu\nu}=\left(\rho+p\right)U^\mu U^\nu-p\space g^{\mu\nu}$$$$T^{\mu\nu}= \begin{bmatrix} \rho&0&0&0 \\ 0&\frac{p-k p r^2}{\dot a^2}&0&0\\ 0&0&\frac{p}{r^2a^2}&0\\ 0 & 0 & 0 & \frac{p\space Csc^2 \theta}{r^2a^2} \end{bmatrix}$$ When I'm working with the second metrics in SI units, we have: $$U^\mu=\{c,0,0,0\}$$$$T^{\mu\nu}=\left(\rho+\frac{p}{c^2}\right)U^\mu U^\nu-p\space g^{\mu\nu}$$$$T^{\mu\nu}= \begin{bmatrix} p+\frac{p}{c^2}+c^2\rho&0&0&0\\ 0&\frac{p(-1+k\space r^2)}{\dot a^2}&0&0\\ 0&0&-\frac{p}{r^2a^2}&0\\ 0&0&0&-\frac{p\space Csc^2 \theta}{r^2a^2} \end{bmatrix}$$The $T^{00}$ term appears to screw up the results from this point on. Oddly, if I go back to using $U^0=1$, then $T^{00}=\frac{2p}{c^2}+\rho$ the calculations work again inasmuch as the pressure cancels out of the first Friedmann equation. However, doing this this appears to be mixing SI units with natural units unless $U$ is interpreted as a basis vector.

So here's my question: How is the velocity vector of the fluid interpreted for this tensor? It appears from my experimentation that it should be a basis vector, not the actual velocity (that is, ${e_\mu}$ instead of $U^\mu$), but the notation indicates that we're dealing with the actual velocity vector of the fluid. A perfect fluid should have no motion, so the velocity vector should be $\{c, 0, 0, 0\}$ I would think. What have I got wrong?

EDIT: In this post, the author gives an example and seems to be using the velocity vectors, $U$, as basis vectors during the addition of the two tensors. Is this right?

  • $\begingroup$ As stated in the present answer, there is no physics contained in the choice to use natural units in which $c=1$ - it's purely a matter of notational convenience. Any differences you are encountering are presumably then a result of the code you are using, so a description of the strange results would go a long way. $\endgroup$
    – J. Murray
    Feb 21, 2021 at 20:38

2 Answers 2


First, you need to be careful when you're changing metric signatures. In the $(-+++)$ signature, the stress-energy tensor of a perfect fluid is $$T^{\mu\nu}= \left(\rho +\frac{p}{c^2}\right)U^\mu U^\nu \color{red}{+}p g^{\mu\nu}$$ which you can recall by comparing with special relativity, in which (for an ideal fluid at rest in inertial coordinates) one has that $$T^{\mu\nu} = \pmatrix{\rho c^2& 0 & 0 &0 \\ 0 & p & 0 & 0 \\ 0 & 0 & p & 0 \\ 0 &0&0&p}$$

Secondly, we generally define the time coordinate to be $x^0 \equiv ct$ (which is why $U^0 = c$ for a particle at rest). This means that $g_{00}=-1$, not $-c^2$, and so $g^{00}=-1$, not $-1/c^2$.

  • $\begingroup$ Comments are not for extended discussion; this conversation has been moved to chat. $\endgroup$
    – tpg2114
    Feb 23, 2021 at 23:20
  • $\begingroup$ TL;DNR - This was lost when the conversation was moved to chat: the $U$ vector is really the 4-velocity of the fluid in spacetime. The $U^0$ component, which is where my problem was, is not the velocity of a stationary fluid through time (e.g. $c$), it was specifically the change in the first coordinate with respect to coordinate time: $$U^0=\frac{dx^0}{d\tau}$$For a stationary (non-relativistic) fluid, this is $1$. $\endgroup$
    – Quark Soup
    Feb 26, 2021 at 15:08

First off, it's a really, really bad idea to use imaginary time components for general relativity. Just don't. Nobody does that.

Any time you want to convert back and forth between natural units and units where $c\ne 1$, it's just a mechanical process with no physical interpretation. To go from natural units to SI, just put in factors of $c$ wherever they're needed in order to make the units make sense in SI. This is always logically unambiguous. For example, $E=m$ can only be $E/c^2=m$ or $E=mc^2$ in SI, but these are logically equivalent.

You can go back and forth between SI and natural units as often as you like, but normally people will do their whole calculation in natural units, because it's simpler, then put the $c$'s back in at the end, if needed in order to plug in SI data.

How is the velocity vector of the fluid interpreted for this tensor? It appears from my experimentation that it should be a basis vector, not the actual velocity

Any nonzero vector can be used as a basis vector. It's not a physical distinction. Also, the use of natural or SI units has nothing to do with physical interpretation.

The velocity $U$ is the velocity of the frame in which the fluid has the standard diagonal form for a perfect fluid. This is interpreted as the rest frame of the fluid.


Your Answer

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