Demonstration 1 (kruskalo):Transformation to original Kruskal coordinates; reduction of Ricci to zero, calculation and simplification of the Kretschmann scalar in these new coordinates.
> restart:
> grtw();
First we load in the original Scwarzschild metric
> qload(schw);
The following transformations are given by Kruskal:
> xform:=[u(r,t)=sqrt(r/(2*m)-1)*exp(r/(4*m))*cosh(t/(4*m)),v(r,t)=sqrt(r/(2*m)-1)*exp(r/(4*m))*sinh(t/(4*m)),Theta(theta)=theta,Phi(phi)=phi];
We now transform the metric tensor:
> grtransform(schw,kruskalo,xform):
The new default metric is: kruskalo
We simplify and display the new form of the metric:
> gralter(g(dn,dn),1);
Component simplification of a GRTensorII object:
Applying routine simplify to object g(dn,dn)
> grdisplay(_);
Note that in the new coordinates $[u,v,\Theta,\Phi]$ $r=r(u,v)$. We finish the transformation as follows:
> grmap(g(dn,dn),subs,r=r(u,v),theta=Theta,phi=Phi,`x`);
Applying routine subs to g(dn,dn)
We force MapleV to use sine as follows:
> gralter(g(dn,dn),11);
Component simplification of a GRTensorII object:
Applying routine `simplify[trigsin]` to object g(dn,dn)
> grdisplay(g(dn,dn));
This is the original Kruskal metric.
We now wish to actually do some calculations with it. Because of the implicit nature of the metric, it is subject to the constraints which define r(u,v). We chose to eliminate the exponential function in what folows.
> P(u,v):=u^2-v^2-simplify((sqrt(r(u,v)/(2*m)-1)*exp(r(u,v)/(4*m))*cosh(t/(4*m)))^2-(sqrt(r(u,v)/(2*m)-1)*exp(r(u,v)/(4*m))*sinh(t/(4*m)))^2);
> simplify(solve(P(u,v)=0,exp(r(u,v)/(2*m))));
> P(u,v)=0;
> solve(diff(%,v),diff(r(u,v),v));
> B(u,v):=subs(exp(r(u,v)/(2*m))=2*(-u^2+v^2)*m/(-r(u,v)+2*m),%);
> P(u,v)=0;
> solve(diff(%,u),diff(r(u,v),u));
> A(u,v):=subs(exp(r(u,v)/(2*m))=2*(-u^2+v^2)*m/(-r(u,v)+2*m),%);
The functions A(u,v) and B(u,v) constrain the derivatives of r(u,v) wrt u and v. We now write the Kruskal metric without the exponent and attach these constraints.
> grmap(g(dn,dn),subs,exp(-r(u,v)/(2*m))=(r(u,v)-2*m)/(2*m*(u^2-v^2)),`x`);
Applying routine subs to g(dn,dn)
> grdisplay(_);
> grconstraint(kruskalo);
Constraint specification and manipulation
Do you wish to
1) Add a constraint to the metric
2) Remove a constraint from the metric
3) Modify a metric constraint
4) Display the existing constraints
5) Exit
Enter 1-5 >
grconstraint> 1;
grconstraint> diff(r(u,v),u)=A(u,v);
grconstraint> 1;
grconstraint> diff(r(u,v),v)=B(u,v);
grconstraint> 4;
grconstraint> 5;
We now save the Kruskal metric with the constraints.
> grsaveg(kruskalo);
Information written to: `e:/Grtii(6)/Metrics/kruskalo.mpl`
Note that there is now NO reference to the original coordinates.
We go on now to show that the metric is vacuum, and calculate the Kretschmann scalar.
> grcalc(R(dn,dn));
> gralter(_,13,7);
Component simplification of a GRTensorII object:
Applying routine `Apply constraints repeatedly` to object R(dn,dn)
Applying routine factor to object R(dn,dn)
> grdisplay(_);
> grcalc(RiemSq);
Created definition for R(dn,dn,up,up)
> gralter(_,13,7);
Component simplification of a GRTensorII object:
Applying routine `Apply constraints repeatedly` to object RiemSq
Applying routine factor to object RiemSq
> grdisplay(_);
>