Quit[]

im=480;

(* Droste *)

gtt=1-2/r; grr=-1/gtt; gtr=0;
v=Simplify[Solve[0==gtt (dt^2)+grr (dr^2)+2 gtr dt dr, dr],dt>0&&r>1/2];
vp=v[[2,1,2]]/dt; "dr/dt"->vp

t=Simplify[Integrate[1/vp, {r,r1,r2}], r2>r1>2]

p1=Plot[
ParallelTable[t,{r1,N@Join[{2+1/1000000,2+1/50,2.1,2.5},
Table[2+(3/2)n,{n,1,7}]]}],{r2,2,10},
Frame->True, PlotStyle->{Blue,Thick},ImageSize->im, 
AspectRatio->1,PlotRange->{{0,10},{0,10}}, 
GridLines->{{2},{}}, ImagePadding->{{60,2},{30,2}}];

p2=Show[ParallelTable[Plot[
Block[{r2=0},10-n-t],{r1,0,2},
Frame->True, PlotStyle->{Blue,Thick},ImageSize->im, 
AspectRatio->1,PlotRange->{{0,10},{0,10}}, 
GridLines->{{2},{}}, ImagePadding->{{60,2},{30,2}}],
{n,0,8,2}]];

p3=Show[ParallelTable[Plot[
10-t,{r1,0,2},
Frame->True, PlotStyle->{Blue,Thick},ImageSize->im, 
AspectRatio->1,PlotRange->{{0,10},{0,10}}, 
GridLines->{{2},{}}],
{r2,{0,1,1.5,1.75}}], ImagePadding->{{60,2},{30,2}}];

Show[p1,p2]

(* Raindrop *)

gtt=1-2/r; grr=-1; gtr=-(Sqrt[2/r]);
v=Simplify[Solve[0==gtt (dt^2)+grr (dr^2)+2 gtr dt dr, dr],dt>0&&r>2]
vm=v[[1,1,2]]/dt;vp=v[[2,1,2]]/dt;

t1=Normal[Simplify[Integrate[1/vp, {r,r1,r2}], r2>r1>2]]

t2=Normal[Simplify[Integrate[1/vm, {r,r1,r2}], r2>r1>0]]

p1=Show[ParallelTable[Plot[
t2,{r2,0,10},
Frame->True, PlotStyle->{Blue,Thick},ImageSize->im, 
AspectRatio->1,PlotRange->{{0,10},{0,10}}, 
GridLines->{{2},{}}, ImagePadding->{{60,2},{30,2}}],
{r1,Join[{1/2},Table[2+(3/2)n,{n,0,14}]]}]];

p2=Show[ParallelTable[Plot[
t1,{r2,2.001,10},
Frame->True, PlotStyle->{Red,Thick},ImageSize->im, 
AspectRatio->1,PlotRange->{{0,10},{0,10}}, 
GridLines->{{2},{}}, ImagePadding->{{60,2},{30,2}}],
{r1,Join[{2.2,2.5},Table[2+(3/2)n,{n,0,7}]]}]];

p3=Show[ParallelTable[Plot[
t1,{r2,0,1.999},
Frame->True, PlotStyle->{Red,Thick},ImageSize->im, 
AspectRatio->1,PlotRange->{{0,10},{0,10}}, 
GridLines->{{2},{}}, ImagePadding->{{60,2},{30,2}}],
{r1,{1.999,1.8,1.5,1,1/2}}]];

Show[p1,p2,p3]

(* Finkelstein *)

gtt=1-2/r; grr=-1-2/r; gtr=-2/r;
v=Simplify[Solve[0==gtt (dt^2)+grr (dr^2)+2 gtr dt dr, dr],dt>0&&r>2]
vm=v[[1,1,2]]/dt;vp=v[[2,1,2]]/dt;

t1=Simplify[Integrate[1/vp, {r,r1,r2}], r2>r1>0]

t2=Simplify[Integrate[1/vm, {r,r1,r2}], r2>r1>0]

p1=Show[ParallelTable[Plot[
t2,{r2,0,10},
Frame->True, PlotStyle->{Red,Thick},ImageSize->im, 
AspectRatio->1,PlotRange->{{0,10},{0,10}}, 
GridLines->{{2},{}}, ImagePadding->{{60,2},{30,2}}],
{r1,Join[{1/2},Table[2+(3/2)n,{n,0,14}]]}]];

p2=Show[ParallelTable[Plot[
t1,{r2,2.001,10},
Frame->True, PlotStyle->{Blue,Thick},ImageSize->im, 
AspectRatio->1,PlotRange->{{0,10},{0,10}}, 
GridLines->{{2},{}}, ImagePadding->{{60,2},{30,2}}],
{r1,Join[{2.2,2.5},Table[2+(3/2)n,{n,0,7}]]}]];

p3=Show[ParallelTable[Plot[
t1,{r2,0,1.999},
Frame->True, PlotStyle->{Blue,Thick},ImageSize->im, 
AspectRatio->1,PlotRange->{{0,10},{0,10}}, 
GridLines->{{2},{}}, ImagePadding->{{60,2},{30,2}}],
{r1,{1.999,1.8,1.5,1,1/2}}]];

Show[p1,p2,p3]

(* Isotrop *)

gtt=(((1-2 r))^2)/(((1+2 r))^2); grr=-(((1+1/2 /r))^4); gtr=0;
v=Simplify[Solve[0==gtt (dt^2)+grr (dr^2)+2 gtr dt dr, dr],dt>0&&r>1/2];
vp=v[[2,1,2]]/dt; "dr/dt"->vp

t=Simplify[Integrate[1/vp, {r,r1,r2}], r2>r1>2]
R[я_]:= (-1+я+(Sqrt[-2 я+((я)^2)]))/2

p1=Plot[
ParallelTable[t,{r1,N@Join[{R[2+1/1000000],R[2+1/50],R[2.1],R[2.5]},
Table[R[2+(3/2)n],{n,1,7}]]}],{r2,0.5001,10},
Frame->True, PlotStyle->{Blue,Thick},ImageSize->im, 
AspectRatio->1,PlotRange->{{0,10},{0,10}}, 
GridLines->{{1/2},{}}, ImagePadding->{{60,2},{30,2}}]

(* Interior *)

gtt=(1/4)(((3(Sqrt[1-(rs/rg)])-(Sqrt[1-((rs (r^2))/(rg^3))])))^2);grr=-(((1-((rs (r^2))/(rg^3))))^(-1));
v=Simplify[Solve[0==gtt (dt^2)+grr (dr^2), dr],dt>0&&9/8rs>rg>r2>r1>0];
vm=v[[1,1,2]]/dt; "dr/dt"->±-vm

rs=2;rg=9001/8000 rs;
t[r1_,r2_]:=NIntegrate[-1/vm,{r,r1,r2},WorkingPrecision->32]

p1=Show[ParallelTable[Plot[
t[r1,r2],{r2,0,rg},
Frame->True, PlotStyle->{Blue,Thick},ImageSize->im, 
AspectRatio->1,PlotRange->{{0,rg},{0,rg}}, 
GridLines->{{},{}}, ImagePadding->{{60,2},{30,2}}],
{r1,-1/2,rg,1/4}]]

(* Newton *)

v=(Sqrt[1+2/r]);

{{"dr/dt"->±v}}

t=Simplify[Assuming[Reals&&r2>r1>0,Integrate[1/v, {r,r1,r2}]]]

p1=Show[ParallelTable[Plot[
t,{r1,0,10},Frame->True, PlotStyle->{Blue,Thick},
ImageSize->im, AspectRatio->1,PlotRange->{{0,10},{0,10}}, 
GridLines->{{2},{}}, ImagePadding->{{60,2},{30,2}}],
{r2,Join[{1/2},Table[2+(3/2)n,{n,0,13}]]}]]

(* Kruskal Szekeres *)

guu=(32/r) Exp[-r/2]; gww=-guu;
R=2 (1+ProductLog[(((u^2)-(w^2))/E)]);
Eq[u_,w_,r_,t_]:={u==(Sqrt[(r/2)-1])Exp[(r/4)]Cosh[(t/4)]&&w==(Sqrt[(r/2)-1])Exp[(r/4)]Sinh[(t/4)]};
uw[r_,t_]:=N[FindInstance[Eq[u,w,r,t],{u,w}, Reals,WorkingPrecision->24]];
rt[u_,w_]:=N[FindInstance[Eq[u,w,r,t],{r,t}, Reals,WorkingPrecision->24]];

v=Simplify[Solve[0==guu (du^2)+gww (dw^2), du],r>0]
û=v[[2,1,2]]/dw;

U=Integrate[1/û, {w,w1,w2}]

p1=Show[ParallelTable[Plot[
Evaluate[{+1,-1}U],{w2,-10,10},
Frame->True, PlotStyle->{{Cyan,Thick},{Magenta,Thick}},ImageSize->im, 
AspectRatio->1,PlotRange->{{-5,5},{-5,5}}, ImagePadding->{{60,2},{30,2}}],
{w1,-10,10,2}]]

p2=Show[ParallelTable[ContourPlot[
(r/2-1)Exp[r/2]==(u^2)-(w^2),{u,-5,5},{w,-5,5},
ImageSize->im, ContourStyle->{Black,Thickness[0.002]},
AspectRatio->1,PlotRange->{{-5,5},{-5,5}},
MaxRecursion->10, WorkingPrecision->32, ImagePadding->{{60,2},{30,2}}],
{r,{5,4,3,2,0}}]]

p3=Show[ParallelTable[Graphics[{Opacity[1],InfiniteLine[
{0,0},{uw[4,t][[1,1,2]],uw[4,t][[1,2,2]]}]},
PlotRange->{{-5,5},{-5,5}},ImageSize->im,
Frame->True],{t,-4,4}], ImagePadding->{{60,2},{30,2}}]

p4=Show[ParallelTable[Graphics[{Opacity[1],InfiniteLine[
{0,0},{uw[4,t][[1,2,2]],uw[4,t][[1,1,2]]}]},
PlotRange->{{-5,5},{-5,5}},ImageSize->im,
Frame->True],{t,-4,4}], ImagePadding->{{60,2},{30,2}}]

p5=Plot[w/.NSolve[R==0,w][[2]],{u,-5,5}, WorkingPrecision->24,
 PlotStyle->{Opacity[1],Thick,Darker[Red]},
Filling->{Top},FillingStyle->Directive[Opacity[1],Red],
PlotRange->{{-5,5},{-5,5}},ImageSize->im,
Frame->True,AspectRatio->1, ImagePadding->{{60,2},{30,2}}]

p6=Plot[-w/.NSolve[R==0,w][[2]],{u,-5,5}, WorkingPrecision->24,
 PlotStyle->{Opacity[1],Thick,Darker[Darker[Green]]},
Filling->{Bottom},FillingStyle->Directive[Opacity[1],Darker[Green]],
PlotRange->{{-5,5},{-5,5}},ImageSize->im,
Frame->True,AspectRatio->1, ImagePadding->{{60,2},{30,2}}]

p7=Show[p1,p2,p3,p4,p5,p6]

Export["1.png",Rasterize[p7,RasterSize->4000]]