Plot Structures for Friedman-Robertson-Walker metric, k=+1

Before anything else, we know that we will need some special routines that Maple uses for plotting solutions of

ordinary differential equations which are not always in memory; therefore, we must load them in:

> with(plots):

A few numbers that will be useful later on are the following:

cMpc is the speed of light in Megaparsecs per eon (an eon is a billion years)

gMpc is the factor to multiply by to change 1/(Megaparsecs)^2 to grams/cm^3

> cMpc:=306.937; gMpc:= 1/(7.0554*10^20);

[Maple Math]

[Maple Math]

We may now begin by stating the values of the constants that will be used here;

those values are explained and/or justified in a different place. We do this one with constants so that

the lifecylce of the universe is periodic, or, if you prefer, of finite length in time.

We have need for constants, A, B, k, and Lambda; we denote the value for B^2 by B2 and the value for

Lambda/3 by Lambda3. A is in Mpc, B2 in Mpc squared and Lambda in inverse Mpc squared.

> A:=10772; B2:=24240; k:=1; Lambda3:=1/8226^2;

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

We may then write down the fourth-order polynomial appropriate for this problem, where I use the

symbol x for the usual arc-time variable, eta:

> R1:=A*R(x)+B2-k*(R(x))^2-Lambda3*(R(x))^4;

[Maple Math]

and then we may use that to describe the differential equations that need to be solved. However, because

of the fact that the principal equation has the derivative squared, there are actually two branches for the

square root involved, and we must deal with each of them separately:

> sys1:=diff(R(x),x)=R1^(0.5), diff(t(x),x)=R(x);

[Maple Math]

> sys2:=diff(R(x),x)=-R1^(0.5), diff(t(x),x)=R(x);

[Maple Math]

To actually solve the differential equations we must append initial conditions, which are of course different for the

two cases. In the first case, when the function R=R(x) has positive derivative, the universe is beginning, so we

begin with R(0)=0 and t(0)=0:

> rw1:=dsolve({sys1,R(0)=0,t(0)=0},[R(x),t(x)],type=numeric):

For the second half, when the derivative is negative, we want to join the two halves at the correct point.

Therefore, we need to find out exactly where that point is. First we find the place where the derivative vanishes,

since that is the turn-around point, i.e., the point at which they will be joined. The value for R at that point is

fairly easy to come by; it is simply the appropriate (real, positive) root of the polynomial:

> r1:=subs(R(x)=r,R1);

[Maple Math]

We now plot this function to get a feel for its shape, knowing that we want it to begin at R=0 and go until the polynomial

has its first, real root. We change the number 7000 in the plot command below two or three times until we get it right.

> plot(r1,r=0..7000);

[Maple Plot]

Then we come along and get a slightly more accurate value for the location of that root.

> rot:=fsolve(r1,r);

[Maple Math]

> Rmax:= rot[2];

[Maple Math]

To determine the corresponding value for eta, i.e., for x, we go ahead and create the data structure for a plot, and

look in detail at its entries. We do this with the command just below, but, first, with a semi-colon at the end of

the command. The semi-colon, and the fact that it has been given a name, i.e., RW1, causes Maple to print out

a list of all 500 of its computations for the values of (x,R(x)). One then reads forward to the place where the

square root vanishes, and then goes imaginary. At that point the list of points in RW1 reads [FAIL,FAIL] from

then on---since it doesn't plot complex numbers---and so we can pick off the appropriate value of eta = x,

which turns out to be 2.122. After looking at that printout, and picking off that value, we then change the

semi-colon to a colon, so that the printout is ``retracted.'' The numpoints comment is simply to put in enough

points to have a reasonable accuracy. As well, looking at the one for t=t(x), we see that the corresponding

value for t is 6539.497, which is translated, just below, in billions of years, namely 21.3 eons.

> etamax:=2.122; tmax:=6539.497/cMpc;

[Maple Math]

[Maple Math]

> RW1:=odeplot(rw1,[x,R(x)],0..2.2,color=red,numpoints=500):

> RWt1:=odeplot(rw1,[x,t(x)],0..2.2,color=green,numpoints=500):

> display([RW1,RWt1], title=`R(eta) and t(eta), first half`);

[Maple Plot]

To find the density at maximum expansion, we ignore the radiation density, since we know it has been getting

smaller faster, and calculate the matter density at that time from its R-dependence: the first number is in

inverse Megaparsecs squared, the second is in grams/cubic centimeter.

> rhomax:=(3/evalf(8*Pi))*A/Rmax^3; Rhomax:=rhomax*gMpc;

[Maple Math]

[Maple Math]

The above graph gives us an idea what this first half looks like, with the red curve being R, and the green one t.

Yet a different alternative is to actually plot R versus t:

> RWrt1:=odeplot(rw1,[t(x),R(x)],0..2.2,numpoints=500,title=`R=R(t)`):

> display(RWrt1,title=`R=R(t), first half`);

[Maple Plot]

We are also asked for various other quantities that relate to the first half of the age of the universe:

The first one of these is the time when the matter and radiation densities were the same, i.e., when

A/R^3 = B2/R^4, which means that R was equal to B2/A. The answer for R is given in Megaparsecs.

Looking that value up in the tables created above give us the corresponding values of eta=x and of time.

The first answer for time is also in Megaparsecs, but it is then changed to years by dividing by the speed of

light and multiplying by 1 billion:

> Requal:=evalf(B2/A); etaequal:=.01197; Tequal:=.01312; tequal:=Tequal*10^9/cMpc;

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

We also want to know about NOW. An input in my approach is that the current ``radius'' of the universe is

given by R0. That input allows us to consult the tables above and determine the values of eta and time that

correspond to now; that last ones being, of course, the current ``age'' of the universe, given first in Megaparsecs

and then in billions of years, i.e., eons.

> R0:=4500; eta0:=1.40; T0:=2341; t0:=T0/cMpc;

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

We also want to know the current value of the Hubble constant, in km/sec/Megaparsec

the current rate of increase of the size of the universe, i.e., dR/dt, in Megaparsecs/eon,

do note that this number is greater than the speed of light measured locally,

and the current value for q0, which is the second derivative, appropriately normalized:

q0 = -(d^2R/dt^2)(R/H0^2), which is dimensionless:

> H0:=sqrt(evalf(A/R0^3+B2/R0^4 -k/R0^2-Lambda3))*(2.9979*10^5);

[Maple Math]

> Rdot:=H0*R0*cMpc/(2.9979*10^5);

[Maple Math]

> qnum:=A/(2*R)+B2/R^2+Lambda3*R^2;

[Maple Math]

> qnum0:=evalf(subs(R=R0,qnum));

[Maple Math]

> qdenom:=r1/r^2;

[Maple Math]

> qdenom0:=evalf(subs(r=R0,qdenom));

[Maple Math]

> q0:=qnum0/qdenom0;

[Maple Math]

We also want to know about the source that is observed on Earth today with a redshift of Z=5. This implies

immediately that it was emitted when R=R(t) was R0/(Z+1) = 750 Mpc. Again looking at the tables, this

gives us a value for eta of 0.506 and for t of 134.32 Mpc, which is 0.438 billions of years ago.

> RZ:=R0/6; etaZ:=0.506; TZ:=134.32; tZ:=TZ/cMpc;

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

To determine the current metric distance of that source from us, we multiply the current value of R(t),

namely R0, by the difference in eta between the emission event and the reception event, the result being

given in Megaparsecs. We see that this source is now 89% of the distance R0 away from us.

> LZ:=R0*(eta0-etaZ); fract:=LZ/R0;

[Maple Math]

[Maple Math]

Lastly we are asked about the particle horizon. There we pretend that light could now be received that was

originally emitted at (or almost at) the time of the Big Bang, so that it has had an arc-time, eta, to travel of the

current value of eta, called eta0 above. The current metric distance to a galaxy at that horizon is then given by

the following calculation, where we see that it is 140% of the distance R0 away from us, at this time.

> LPart:=R0*(eta0-0); fractPart:=LPart/R0;

[Maple Math]

[Maple Math]

Now, we need to arrange for the "rest" of the graph, the other half that is. We need the opposite sign for the

square root, as given above in sys2, and to begin at x = x0=2.1222, R at its appropriate value, and also t:

> rw2:=dsolve({sys2,R(2.1222)=6575,t(2.1222)=6539.5},[R(x),t(x)],type=numeric):

As before, we are unsure just how far to plot, so we first begin at the left-hand end and guess a number about twice

that value, and then look at the output, to determine when R goes back to 0, and therefore the "big" crash has come,

and we don't have any need to go any further; also as before, after we obtain that information, we tell Maple NOT to \

print it out for us in the final version by changing the semi-colon to a colon. We find that x=4.243 is approximately

where R goes negative, so that this is the end. The corresponding time is 13086.16.

> RW2:=odeplot(rw2,[x,R(x)],2.1222..4.25,color=red,numpoints=500):

> RWt2:=odeplot(rw2,[x,t(x)],2.1222..4.25,color=green,numpoints=500):

> RWrt2:=odeplot(rw2,[t(x),R(x)],2.1222..4.25,color=blue,numpoints=500):

> display({RW1,RW2},title=`complete R(eta)`);

[Maple Plot]

> display({RWt1,RWt2},title=`complete t(eta)`);

[Maple Plot]

> display({RWrt1,RWrt2},title=`complete R=R(t)`);

[Maple Plot]

>