Misner Space

Spacetime discussed in Section 2.7, p 81, Carroll
(ds^2)=-cos λ (dt^2)-2 sin λ dt dx + cos λ (dx^2)
0<x<1, 0<λ<π, -∞<t<+∞, t= cot λ

Null lines

(ds^2)=0 => ((((dt/dx)))^2)+2 (1/t)   (dt/dx)-1=0 =>    
(dt/dx)=-(1/t)±(Sqrt[1+(1/(t^2))])

Solve[(y^2)+2 (1/tt) y-1==0,y]

Numerical Solutions

Clear[sol,solN];solN={};
{x0,t0}={0.5,0.5};sol = NDSolve[{t'[x]== -(1/(t[x]))+(Sqrt[1+(1/((t[x])^2))]),t[x0]==t0},t,{x,0.0,1.0}][[1]];solN=Append[solN,sol];
{x0,t0}={0.5,-0.5};sol = NDSolve[{t'[x]== -(1/(t[x]))-(Sqrt[1+(1/((t[x])^2))]),t[x0]==t0},t,{x,0.0,1.0}][[1]];solN=Append[solN,sol];
solN01 = NDSolve[{t'[x]== -(1/(t[x]))+((Sqrt[1+((t[x])^2)])/(t[x])),t[0.5]==0.5},t,{x,0.0,1.0}];
{t[0.7]/.solN01[[1]],t[0.7]/.solN}
(*Plot[Evaluate[t[x]/.solN],{x,0.5,1.0}]*)

Clear[sol,g];g={};
range= {{0,1},{-4,4}};t1[x_]:=-(1/(t[x]))+(Sqrt[1+(1/((t[x])^2))]);t2[x_]=-(1/(t[x]))-(Sqrt[1+(1/((t[x])^2))]);
{x0,t0,xm,xM}={0.500,   0.500,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.500,-0.500,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.500,   0.500,0.000,0.560};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.500,-0.500,0.000,0.560};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.200,   1.400,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.200,-1.400,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.320,   1.000,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.320,-1.000,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.800,   1.000,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.800,-1.000,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,  1.000,0.000,0.225};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-1.000,0.000,0.225};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.750,  0.400,0.000,0.785};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.750,-0.400,0.000,0.789};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,  3.000,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-3.000,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,  3.500,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-3.500,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,  4.000,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-4.000,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.630,  2.400,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.630,-2.400,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.450,  3.000,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.450,-3.000,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.200,  3.700,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.200,-3.700,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];

{x0,t0,xm,xM}={0.400,  0.100,0.000,0.402};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.400,-0.100,0.000,0.402};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.670,  0.100,0.000,0.672};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.670,-0.100,0.000,0.672};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.900,  0.100,0.000,0.902};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.900,-0.100,0.000,0.902};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.100,  0.100,0.000,0.102};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.100,-0.100,0.000,0.102};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.302,  0.100,0.000,0.304};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.302,-0.100,0.000,0.304};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.470,  0.100,0.000,0.472};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.470,-0.100,0.000,0.472};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.151,  0.100,0.000,0.153};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.151,-0.100,0.000,0.153};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.048,  0.100,0.000,0.0501};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.048,-0.100,0.000,0.0501};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];


{x0,t0,xm,xM}={0.000,   0.200,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-0.200,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,   0.600,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-0.600,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,   1.100,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-1.100,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,   1.600,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-1.600,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];


{x0,t0,xm,xM}={0.000,   2.700,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-2.700,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,   3.250,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-3.250,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
Show[g,PlotRange->range,AspectRatio-> 1,AxesOrigin-> {0,0}]

Clear[sol,g];g={};
range= {{0,1},{-0.5,0.5}};t1[x_]:=-(1/(t[x]))+(Sqrt[1+(1/((t[x])^2))]);t2[x_]=-(1/(t[x]))-(Sqrt[1+(1/((t[x])^2))]);
{x0,t0,xm,xM}={0.000,   0.200,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-0.200,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,   0.400,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-0.400,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,   0.100,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-0.100,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,   0.300,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-0.300,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,   0.500,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.000,-0.500,0.000,1.000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];

{x0,t0,xm,xM}={0.200,   0.100,0.000,0.20248};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.200,-0.100,0.000,0.20248};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.400,   0.110,0.000,0.40301};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.400,-0.110,0.000,0.40301};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.600,   0.120,0.000,0.60356};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.600,-0.120,0.000,0.60356};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.800,   0.130,0.000,0.80420};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={0.800,-0.130,0.000,0.80420};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={1.000,   0.140,0.000,1.00000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xm,xM}={1.000,-0.140,0.000,1.00000};g=Append[g,Plot[Evaluate[t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xm,xM}][[1]]],{x,xm,xM},PlotRange->{{xm,xM},All}]];
Show[g,PlotRange->range,AspectRatio->Automatic,AxesOrigin-> {0,0}]

We start at t<0 and follow left moving null line: we never cross to the other side, we get close to the limiting light ray t=0

Clear[sol,g];g={};
range= {{0,1},{-4,4}};t1[x_]:=-(1/(t[x]))+(Sqrt[1+(1/((t[x])^2))]);t2[x_]=-(1/(t[x]))-(Sqrt[1+(1/((t[x])^2))]);
{x0,t0,xi,xf}={0.500,  -3.500,1.000,0.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xi,xf}={1.000,  p[0.0],1.000,0.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xi,xf}={1.000,  p[0.0],1.000,0.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xi,xf}={1.000,  p[0.0],1.000,0.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xi,xf}={1.000,  p[0.0],1.000,0.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xi,xf}={1.000,  p[0.0],1.000,0.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xi,xf}={1.000,  p[0.0],1.000,0.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xi,xf}={1.000,  p[0.0],1.000,0.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xm,xM},PlotRange->{{xm,xM},All}]];
{x0,t0,xi,xf}={1.000,  p[0.0],1.000,0.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xm,xM},PlotRange->{{xm,xM},All}]];
Show[g,PlotRange->range,AspectRatio-> 1,AxesOrigin-> {0,0}]

Show that an initially right moving light ray for t<0, crosses to the other side for t>0 and then moves backwards in x-time

Clear[sol,g];g={};
range= {{0,1},{-4,20}};t1[x_]:=-(1/(t[x]))+(Sqrt[1+(1/((t[x])^2))]);t2[x_]=-(1/(t[x]))-(Sqrt[1+(1/((t[x])^2))]);
{x0,t0,xi,xf}={0.500,  -3.500       ,0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={0.000,     p[1.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={0.000,     p[1.000],0.000,0.297};p[x_]=t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={0.297, - p[0.297],0.000,0.297};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
Show[g,PlotRange->range,AspectRatio-> 1,AxesOrigin-> {0,0}]

Enlarge to see that light cones at almost 45 degrees

Clear[sol,g];g={};
range= {{0,1},{18.5,21}};t1[x_]:=-(1/(t[x]))+(Sqrt[1+(1/((t[x])^2))]);t2[x_]=-(1/(t[x]))-(Sqrt[1+(1/((t[x])^2))]);
{x0,t0,xi,xf}={0.500,  -3.500       ,0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={0.000,     p[1.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={0.000,     p[1.000],0.000,0.297};p[x_]=t[x]/. NDSolve[{t'[x]==t1[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={0.297, - p[0.297],0.000,0.297};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
{x0,t0,xi,xf}={1.000,    p[0.000],0.000,1.000};p[x_]=t[x]/. NDSolve[{t'[x]==t2[x],t[x0]==t0},t,{x,xi,xf}][[1]]; g=Append[g,Plot[p[x],{x,xi,xf},PlotRange->{{xi,xf},All}]];
Show[g,PlotRange->range,AspectRatio-> Automatic,AxesOrigin-> {0,0}]

Analytic Solutions

sol01 = DSolve[{t'[x]== -(1/(t[x]))+(Sqrt[1+(1/((t[x])^2))]),t[x0]==t0},t,x];
sol02 = DSolve[{t'[x]== -(1/(t[x]))-(Sqrt[1+(1/((t[x])^2))]),t[x0]==t0},t,x];
{sol01,sol02}

$Assumptions = 0<x0<1 && t0 ∈ Reals;
sol11 = DSolve[{t'[x]== -(1/(t[x]))+((Sqrt[1+((t[x])^2)])/(t[x])),t[x0]==t0},t,x];
sol12 = DSolve[{t'[x]== -(1/(t[x]))-((Sqrt[1+((t[x])^2)])/(t[x])),t[x0]==t0},t,x];
{sol11,sol12}

These compute the light rays that intersect the x-axis: t((Subscript[x, 0]))=0

t1[x_]= t[x]/. sol01[[1,1]];
t2[x_] = t[x]/. sol02[[1,1]];

{t1[0.2],t2[0.2]}/.{x0-> 0.3,t0-> 0.3}

Positive t branch:

t3[x_]= t[x]/. sol11;
t4[x_] = t[x]/.sol12;

{t3[0.2],t4[0.2]}/.{x0-> 0.345,t0-> -10.3}

The bounds:

Clear[plist,range,g];
range = {{0.0,1.0},{-4.0,4.0}};g={};
g = Join[{Plot[t1[x]/. {x0-> 0.300,t0->   0.300},{x,0,1.000},PlotRange->range]},g];
g = Join[{Plot[t2[x]/. {x0-> 0.300,t0->   0.300},{x,0,0.321},PlotRange->range]},g];
(*g2=Plot[plist[x],{x,0,1},PlotRange->range];*)
(*g3=Plot[{tc0,-tc0},{x,0,1},PlotRange->range,PlotStyle->{Red,Red}];*)
Show[g]

Clear[range,g];
range = {{0.0,1.0},{-4.0,4.0}};g={};
g = Join[{Plot[t3[x]/. {x0-> 0.300,t0->   0.300},{x,0,1.000},PlotRange->range]},g];
g = Join[{Plot[t4[x]/. {x0-> 0.500,t0->   0.500},{x,0,1.000},PlotRange->range]},g];
(*g = Join[{Plot[t3[x]/. {x0-> 0.300,t0->  -0.300},{x,0,1.000},PlotRange->range]},g];*)
(*g2=Plot[plist[x],{x,0,1},PlotRange->range];*)
(*g3=Plot[{tc0,-tc0},{x,0,1},PlotRange->range,PlotStyle->{Red,Red}];*)
Show[g]

Light Cone

The two forward time looking null vectors for t<0 are: V=(ρ1,1), U=(-ρ2,-1), and t->-∞ => V-> (1,1), U->(1,-1) (forward looking light cone with slope  ±1 in t-x)

ρ1[t_] = -(1/t) + (Sqrt[1+(1/(t^2))]);ρ2[t_] =  -(1/t) - (Sqrt[1+(1/(t^2))]);
{Plot[{ρ1[t],-ρ2[t]},{t,-20,-0.1},PlotLabels->{"(V^0)","(U^0)"},AxesOrigin-> {0,0}],Plot[{ρ1[t],-ρ2[t]},{t,-2,-0.1},PlotLabels->{"(V^0)","(U^0)"},AxesOrigin-> {0,0}]}

{VectorPlot[{(1/(Sqrt[1+((ρ1[t])^2)])),((ρ1[t])/(Sqrt[1+((ρ1[t])^2)]))},{x,0,1},{t,-10,0.01},AspectRatio->Automatic],VectorPlot[{-(1/(Sqrt[1+((ρ2[t])^2)])),-((ρ2[t])/(Sqrt[1+((ρ2[t])^2)]))},{x,0,1},{t,-10,0.01},AspectRatio->Automatic]}

The null vector field V(x,t) (no x-dependence) normalized to Euclidean unit norm

Plot[Which[t<-0.01,{((ρ1[t])/(Sqrt[1+((ρ1[t])^2)])),(1/(Sqrt[1+((ρ1[t])^2)])),1/(Sqrt[2.0]),-1/(Sqrt[2.0])},t>0.01,{-((ρ2[t])/(Sqrt[1+((ρ2[t])^2)])),-(1/(Sqrt[1+((ρ2[t])^2)])),1/(Sqrt[2.0]),-1/(Sqrt[2.0])},-0.01<= t<= 0.01,{1,0}],{t,-5,5},AxesOrigin-> {0,0}]

The null vector field U(x,t) normalized to Euclidean unit norm

Plot[Which[t<-0.01,{-((ρ2[t])/(Sqrt[1+((ρ2[t])^2)])),-(1/(Sqrt[1+((ρ2[t])^2)])),1/(Sqrt[2.0]),-1/(Sqrt[2.0])},t>0.01,{-((ρ1[t])/(Sqrt[1+((ρ1[t])^2)])),-(1/(Sqrt[1+((ρ1[t])^2)])),1/(Sqrt[2.0]),-1/(Sqrt[2.0])},-0.01<= t<= 0.01,{1,0}],{t,-5,5},AxesOrigin-> {0,0}]

Notice that the Euclidean angle between V and U when you draw them on the plane is cos(θ)= ((V·U)/(|V| |U|))=((-1-ρ1 ρ2)/(Sqrt[(1+((ρ1)^2))(1+((ρ2)^2))]))=((-1+1)/(2(Sqrt[1+1/(t^2)])))=0 for t<0 and cos(θ)= ((1+ρ1 ρ2)/(Sqrt[(1+((ρ1)^2))(1+((ρ2)^2))]))= ((1-1)/(Sqrt[(1+((ρ1)^2))(1+((ρ2)^2))]))=0, so they are drawn at 45 degrees on the plane.

tmax=1;
{VectorPlot[
Which[t<-0.01,{   (1/(Sqrt[1+((ρ1[t])^2)])),  ((ρ1[t])/(Sqrt[1+((ρ1[t])^2)]))},t>0.01,{-(1/(Sqrt[1+((ρ2[t])^2)])),-((ρ2[t])/(Sqrt[1+((ρ2[t])^2)]))},-0.01<= t<= 0.01,{1,0}],
{x,0,1},{t,-tmax,tmax},AspectRatio->Automatic],VectorPlot[
Which[t<-0.01,{ (1/(Sqrt[1+((ρ2[t])^2)])),-((ρ2[t])/(Sqrt[1+((ρ2[t])^2)]))},t>0.01,{-(1/(Sqrt[1+((ρ1[t])^2)])),-((ρ1[t])/(Sqrt[1+((ρ1[t])^2)]))},-0.01<= t<= 0.01,{1,0}],
{x,0,1},{t,-tmax,tmax},AspectRatio->Automatic]}

ρ1[t]ρ2[t]//Expand

(1+((ρ1[t])^2))(1+((ρ2[t])^2))//Expand