SHARE
TWEET

Proberechnung zum Cauchy Horizont

Yukterez Mar 6th, 2018 (edited) 124 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  2. (* |||||||| Mathematica Syntax | http://kerr.yukterez.net | Version: 24.02.2018  |||||||| *)
  3. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  4.  
  5. ClearAll["Global`*"]
  6.  
  7. mt1={"StiffnessSwitching", Method-> {"ExplicitRungeKutta", Automatic}};
  8. mt2={"EventLocator", "Event"-> (r[t]-1000001/1000000 rA)};
  9. mt3={"ImplicitRungeKutta", "DifferenceOrder"-> 20};
  10. mt4={"EquationSimplification"-> "Residual"};
  11. mt0=Automatic;
  12. mta=mt0;
  13. wp=MachinePrecision;
  14.  
  15. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  16. (* |||||||| 1) STARTBEDINGUNGEN EINGEBEN |||||||||||||||||||||||||||||||||||||||||||||||| *)
  17. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  18.  
  19. A=a;                                             (* pseudosphärisch: A=0, kartesisch: A=a *)
  20. crd=2;                                      (* Boyer-Lindquist: crd=1, Kerr-Schild: crd=2 *)
  21. dsp=1;                                                                   (* Display Modus *)
  22.  
  23. tmax=50;                                                                     (* Eigenzeit *)
  24. Tmax=50;                                                               (* Koordinatenzeit *)
  25. TMax=Min[Tmax, т[plunge-1*^-4]]; tMax=Min[tmax, plunge-1*^-4];        (* Integrationsende *)
  26.  
  27. r0=32/10;                                                                  (* Startradius *)
  28. θ0=80 Pi/180;                                                              (* Breitengrad *)
  29. φ0=0;                                                                       (* Längengrad *)
  30. a=998/1000;                                                              (* Spinparameter *)
  31.  
  32. v0=ж0;                                                          (* Anfangsgeschwindigkeit *)
  33. α0=-Pi/2;                                                    (* vertikaler Abschusswinkel *)
  34. ψ0=0;                                                           (* Bahninklinationswinkel *)
  35.  
  36. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  37. (* |||||||| 2) GESCHWINDIGKEITS-, ENERGIE UND DREHIMPULSKOMPONENTEN ||||||||||||||||||||| *)
  38. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  39.  
  40. vr0=v0 Sin[α0];                                     (* radiale Geschwindigkeitskomponente *)
  41. vθ0=v0 Cos[α0] Sin[ψ0];                      (* longitudinale  Geschwindigkeitskomponente *)
  42. vφ0=v0 Cos[α0] Cos[ψ0];                        (* latitudinale Geschwindigkeitskomponente *)
  43.  
  44. x0BL[A_]:=Sqrt[r0^2+A^2] Sin[θ0] Cos[φ0];                           (* Anfangskoordinaten *)
  45. y0BL[A_]:=Sqrt[r0^2+A^2] Sin[θ0] Sin[φ0];
  46. z0[A_]:=r0 Cos[θ0];
  47.  
  48. x0KS[A_]:=((r0 Cos[φ0]+A Sin[φ0]) Sin[θ0]);
  49. y0KS[A_]:=((r0 Sin[φ0]-A Cos[φ0]) Sin[θ0]);
  50.  
  51. x0[A_]:=If[crd==1, x0BL[A], x0KS[A]];
  52. y0[A_]:=If[crd==1, y0BL[A], y0KS[A]];
  53.  
  54. ε=Sqrt[δ Ξ/χ]/j[v0]+Lz ω0;                           (* Energie und Drehimpulskomponenten *)
  55. Lz=vφ0 Ы/j[v0];
  56. pθ0=vθ0 Sqrt[Ξ]/j[v0];
  57. pr0=vr0 Sqrt[(Ξ/δ)/j[v0]^2];
  58. Q=FullSimplify[Limit[pθ0^2+(Lz^2 Csc[θ1]^2-a^2 (ε^2+μ)) Cos[θ1]^2, θ1->θ0]];  (* Carter Q *)
  59. k=Q+Lz^2+a^2 (ε^2+μ);                                                         (* Carter k *)
  60.  
  61. μ=If[v0==1, 0, -1];                                          (* Baryon: μ=-1, Photon: μ=0 *)
  62.  
  63. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  64. (* |||||||| 3) RADIUS NACH GESCHWINDIGKEIT UND VICE VERSA ||||||||||||||||||||||||||||||| *)
  65. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  66.  
  67. rPro=2 (1+Cos[2/3 ArcCos[-a]]);                          (* prograder Photonenorbitradius *)
  68. rRet=2 (1+Cos[2/3 ArcCos[+a]]);                        (* retrograder Photonenorbitradius *)
  69. rTeo=1+2 Sqrt[1-a^3/3] Cos[ArcCos[(1-a^2)/(1-a^2/3)^(3/2)]/3];
  70.  
  71. δp[r_,a_]:=Quiet[δi/.NSolve[(a^4(-1+r)+2(-3+r)r^4+a^2r(6+r(-5+3 r))+   (* Eq. Ink. Winkel *)
  72. 4a Sqrt[a^2+(-2+r)r](a^2+3 r^2)Cos[δi]-a^2(3+r)(a^2+(-2+r)r)Cos[2δi])/(2r(a^2+
  73. (-2+r)r)(r^3+a^2(2+r)))==0&&δi<=π&&δi>=0,δi][[1]]];
  74.  
  75. vPro=(a^2-2a Sqrt[r0]+r0^2)/(Sqrt[a^2+(-2+r0)r0](a+r0^(3/2)));  (* Kreisgeschwindigkeit + *)
  76. vRet=(a^2+2a Sqrt[r0]+r0^2)/(Sqrt[a^2+(-2+r0)r0](a-r0^(3/2)));  (* Kreisgeschwindigkeit - *)
  77.  
  78. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  79. (* |||||||| 4) HORIZONTE UND ERGOSPHÄREN RADIEN ||||||||||||||||||||||||||||||||||||||||| *)
  80. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  81.  
  82. rE=1+Sqrt[1-a^2 Cos[θ]^2];                                           (* äußere Ergosphäre *)
  83. RE[A_, w1_, w2_]:=Xyz[xyZ[
  84. {Sqrt[rE^2+A^2] Sin[θ] Cos[φ], Sqrt[rE^2+A^2] Sin[θ] Sin[φ], rE Cos[θ]}, w1], w2];
  85. rG=1-Sqrt[1-a^2 Cos[θ]^2];                                           (* innere Ergosphäre *)
  86. RG[A_, w1_, w2_]:=Xyz[xyZ[
  87. {Sqrt[rG^2+A^2] Sin[θ] Cos[φ], Sqrt[rG^2+A^2] Sin[θ] Sin[φ], rG Cos[θ]}, w1], w2];
  88. rA=1+Sqrt[1-a^2];                                                     (* äußerer Horizont *)
  89. RA[A_, w1_, w2_]:=Xyz[xyZ[
  90. {Sqrt[rA^2+A^2] Sin[θ] Cos[φ], Sqrt[rA^2+A^2] Sin[θ] Sin[φ], rA Cos[θ]}, w1], w2];
  91. rI=1-Sqrt[1-a^2];                                                     (* innerer Horizont *)
  92. RI[A_, w1_, w2_]:=Xyz[xyZ[
  93. {Sqrt[rI^2+A^2] Sin[θ] Cos[φ], Sqrt[rI^2+A^2] Sin[θ] Sin[φ], rI Cos[θ]}, w1], w2];
  94.  
  95. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  96. (* |||||||| 5) HORIZONTE UND ERGOSPHÄREN PLOT ||||||||||||||||||||||||||||||||||||||||||| *)
  97. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  98.  
  99. horizons[A_, mesh_, w1_, w2_]:=Show[
  100. ParametricPlot3D[RE[A, w1, w2], {φ, 0, 2 π}, {θ, 0, π},
  101. Mesh -> mesh, PlotPoints -> plp, PlotStyle -> Directive[Blue, Opacity[0.10]]],
  102. ParametricPlot3D[RA[A, w1, w2], {φ, 0, 2 π}, {θ, 0, π},
  103. Mesh -> None, PlotPoints -> plp, PlotStyle -> Directive[Cyan, Opacity[0.15]]],
  104. ParametricPlot3D[RI[A, w1, w2], {φ, 0, 2 π}, {θ, 0, π},
  105. Mesh -> None, PlotPoints -> plp, PlotStyle -> Directive[Red, Opacity[0.25]]],
  106. ParametricPlot3D[RG[A, w1, w2], {φ, 0, 2 π}, {θ, 0, π},
  107. Mesh -> None, PlotPoints -> plp, PlotStyle -> Directive[Red, Opacity[0.35]]]];
  108. BLKS:=Grid[{{horizons[a, 35, 0, 0], horizons[0, 35, 0, 0]}}];
  109.  
  110. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  111. (* |||||||| 6) FUNKTIONEN ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  112. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  113.  
  114. j[v_]:=Sqrt[1+μ v^2];                                                    (* Lorentzfaktor *)
  115. mirr=Sqrt[(Sqrt[1-a^2]+1)/2];                                        (* irreduzible Masse *)
  116. я=Sqrt[Χ/Σ]Sin[θ[τ]];                                            (* axialer Umfangsradius *)
  117. яi[τ_]:=Sqrt[Χi[τ]/Σi[τ]]Sin[Θ[τ]];
  118. Ы=Sqrt[χ/Ξ]Sin[θ0];
  119. Σ=r[τ]^2+a^2 Cos[θ[τ]]^2;                                    (* poloidialer Umfangsradius *)
  120. Σi[τ_]:=R[τ]^2+a^2 Cos[Θ[τ]]^2;
  121. Ξ=r0^2+a^2 Cos[θ0]^2;
  122. Δ=r[τ]^2-2r[τ]+a^2;
  123. Δi[τ_]:=R[τ]^2-2R[τ]+a^2;
  124. δ=r0^2-2r0+a^2;
  125. Χ=(r[τ]^2+a^2)^2-a^2 Sin[θ[τ]]^2 Δ;
  126. Χi[τ_]:=(R[τ]^2+a^2)^2-a^2 Sin[Θ[τ]]^2 Δi[τ];
  127. χ=(r0^2+a^2)^2-a^2 Sin[θ0]^2 δ;
  128. ц=2r[τ]/Σ; ц0=2r0/Ξ;
  129.  
  130. т[τ_]:=Evaluate[t[τ]/.sol][[1]];                        (* Koordinatenzeit nach Eigenzeit *)
  131. д[ξ_]:=Quiet[Ξ /.FindRoot[т[Ξ]-ξ, {Ξ, 0}]];             (* Eigenzeit nach Koordinatenzeit *)
  132. T:=Quiet[д[tk]];                          
  133.  
  134. ю[τ_]:=Evaluate[t'[τ]/.sol][[1]];
  135. γ[τ_]:=If[μ==0, "Infinity", ю[τ]];                                           (* totale ZD *)
  136. R[τ_]:=Evaluate[r[τ]/.sol][[1]];                                (* Boyer-Lindquist Radius *)
  137. Φ[τ_]:=Evaluate[φ[τ]/.sol][[1]];                              
  138. Θ[τ_]:=Evaluate[θ[τ]/.sol][[1]];
  139. ß[τ_]:=Re[Sqrt[X'[τ]^2+Y'[τ]^2+Z'[τ]^2 ]/ю[τ]];
  140.  
  141. gs[τ_]:=(2 (R[τ]^2-a^2 Cos[Θ[τ]]^2) Sqrt[((a^2+R[τ]^2)^2-a^2 (a^2+(R[τ]-2) R[τ]) Sin[Θ[τ]]^2)/(a^2+2 R[τ]^2+a^2 Cos[2 Θ[τ]])^2])/(R[τ]^2+a^2 Cos[Θ[τ]]^2)^2;
  142.                                                                            (* Gravitation *)
  143.  
  144. ς[τ_]:=Sqrt[Χi[τ]/Δi[τ]/Σi[τ]]; ς0=Sqrt[χ/δ/Ξ];                         (* gravitative ZD *)
  145. ω[τ_]:=2R[τ] a/Χi[τ]; ω0=2r0 a/χ; ωd=2r[τ] a/Χ;   (* Frame Dragging Winkelgeschwindigkeit *)
  146. Ω[τ_]:=ω[τ] Sqrt[X[τ]^2+Y[τ]^2];            (* Frame Dragging beobachtete Geschwindigkeit *)
  147. й[τ_]:=ω[τ] яi[τ] ς[τ]; й0=ω0 Ы ς0;              (* Frame Dragging lokale Geschwindigkeit *)
  148.  
  149. ж[τ_]:=Sqrt[ς[τ]^2-1]/ς[τ]; ж0=Sqrt[ς0^2-1]/ς0;                  (* Fluchtgeschwindigkeit *)
  150.      
  151. vd[τ_]:=Abs[-((\[Sqrt](-a^4(ε-Lz ωd)^2-2 a^2r[τ]^2 (ε-Lz ωd)^2-
  152.         r[τ]^4(ε-Lz ωd)^2+Δ(Σ+a^2 Sin[θ[τ]]^2 (ε-
  153.         Lz ωd)^2)))/(Sqrt[-(a^2+r[τ]^2)^2+
  154.         a^2 Sin[θ[τ]]^2 Δ](ε - Lz ωd)))];        
  155.    
  156. v[τ_]:=If[μ==0, 1, Evaluate[vlt'[τ]/.sol][[1]]];          (* lokale Dreiergeschwindigkeit *)
  157. dst[τ_]:=Evaluate[str[τ]/.sol][[1]];                                           (* Strecke *)
  158.      
  159. pΘ[τ_]:=Evaluate[pθ[τ] /. sol][[1]]; pΘks[τ_]:=Σi[τ] Θ'[τ];                     (* Impuls *)
  160. pR[τ_]:=Evaluate[pr[τ] /. sol][[1]]; pRks[τ_]:=Σi[τ]/Δi[τ] R'[τ];
  161. sh[τ_]:=Re[Sqrt[ß[τ]^2-Ω[τ]^2]];
  162. epot[τ_]:=ε+μ-ekin[τ];                                             (* potentielle Energie *)
  163. ekin[τ_]:=If[μ==0, ς[τ], 1/Sqrt[1-v[τ]^2]-1];                       (* kinetische Energie *)
  164.  
  165.                                                                (* beobachtete Inklination *)
  166. ink0:=б/. Solve[Z'[0]/ю[0] Cos[б]==-Y'[0]/ю[0] Sin[б]&&б>0&&б<2π&&б<δp[r0, a], б][[1]];
  167.  
  168. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  169. (* |||||||| 7) DIFFERENTIALGLEICHUNG |||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  170. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  171.  
  172. dp= \!\(\*SuperscriptBox[\(Y\),\(Y\)]\); n0[z_]:=Chop[N[z]];
  173.  
  174. (* Boyer-Lindquist-Koordinaten *)
  175.  
  176. pr2τ[τ_]:=1/(Σ Δ) (((r[τ]^2+a^2)μ-k)(r[τ]-1)+r[τ] Δ μ+2r[τ](r[τ]^2+a^2) ε^2-2 a ε Lz)-(2pr[τ]^2 (r[τ]-1))/Σ;
  177. pθ2τ[τ_]:=(Sin[θ[τ]]Cos[θ[τ]])/Σ (Lz^2/Sin[θ[τ]]^4-a^2 (ε^2+μ));
  178.                                          
  179. DG1={
  180. t'[τ]==ε+(2r[τ](r[τ]^2+a^2)ε-2 a r[τ] Lz)/(Σ Δ),
  181. t[0]==0,
  182. r'[τ]==(pr[τ] Δ)/Σ,
  183. r[0]==r0,
  184. θ'[τ]==pθ[τ]/Σ,
  185. θ[0]==θ0,
  186. φ'[τ]==(2 a r[τ] ε+(Σ-2r[τ])Lz Csc[θ[τ]]^2)/(Σ Δ),
  187. φ[0]==φ0,
  188. pr'[τ]==pr2τ[τ],
  189. pr[0]==pr0,
  190. pθ'[τ]==pθ2τ[τ],
  191. pθ[0]==pθ0,
  192. str'[τ]==vd[τ]/Max[1*^-16, Abs[Sqrt[1-vd[τ]^2]]],
  193. str[0]==0,
  194. vlt'[τ]==vd[τ],
  195. vlt[0]==0
  196. };
  197.  
  198. (* Kerr-Schild-Koordinaten *)
  199.  
  200. dr=(pr0 δ)/Ξ; dθ=pθ0/Ξ; dφ=(2a r0 ε+(Ξ-2r0)Lz Csc[θ0]^2)/(Ξ δ)+dr a/δ; dΦ=If[θ0==0, 0, If[θ0==π, 0, dφ]];
  201. φk=φ0+cns/.FindRoot[Sqrt[r0^2+a^2] Cos[φ0+cns]-((r0 Cos[φ0]+a Sin[φ0])),{cns,1}];
  202.  
  203. DG2={
  204. t''[τ]==(2 ((a^4 Cos[θ[τ]]^4+a^2 Cos[θ[τ]]^2 r[τ]-r[τ]^3-r[τ]^4) r'[τ]^2+r[τ] ((a^2 Cos[θ[τ]]^2-r[τ]^2) t'[τ]^2+r[τ] (a^2 Cos[θ[τ]]^2+r[τ]^2)^2 θ'[τ]^2-2 a^3 Cos[θ[τ]] (a^2 Cos[θ[τ]]^2+r[τ]^2) Sin[θ[τ]]^3 θ'[τ] φ'[τ]+Sin[θ[τ]]^2 (r[τ] (a^2 Cos[θ[τ]]^2+r[τ]^2)^2+a^2 (a^2 Cos[θ[τ]]^2-r[τ]^2) Sin[θ[τ]]^2) φ'[τ]^2+a t'[τ] (a (2 a^2 Cos[θ[τ]]^3 Sin[θ[τ]]+r[τ]^2 Sin[2 θ[τ]]) θ'[τ]+2 (-a^2 Cos[θ[τ]]^2+r[τ]^2) Sin[θ[τ]]^2 φ'[τ]))+r'[τ] ((a^4 Cos[θ[τ]]^4+2 a^2 Cos[θ[τ]]^2 r[τ]-2 r[τ]^3-r[τ]^4) t'[τ]+a (a r[τ] (2 a^2 Cos[θ[τ]]^3 Sin[θ[τ]]+r[τ]^2 Sin[2 θ[τ]]) θ'[τ]+(-a^4 Cos[θ[τ]]^4-2 a^2 Cos[θ[τ]]^2 r[τ]+2 r[τ]^3+r[τ]^4) Sin[θ[τ]]^2 φ'[τ]))))/(a^2 Cos[θ[τ]]^2+r[τ]^2)^3,
  205. t'[0]==Limit[(ц0 (-dr+a Sin[θ1]^2 dΦ))/(-1+ц0)+\[Sqrt]((1/((-1+ц0)^2 Ξ))(Ξ (dr^2+(-1+ц0) (μ-Ξ dθ^2))+Sin[θ1]^2 dΦ (-2a Ξ dr-(-1+ц0) χ dΦ+ц0^2 a^2 Ξ Sin[θ1]^2 dΦ))), θ1->θ0],
  206. t[0]==0,
  207. r''[τ]==(-8 (a^2 Cos[θ[τ]]^2-r[τ]^2) (a^2 Cos[2 θ[τ]]+r[τ] (2+r[τ])) r'[τ]^2+4 r'[τ] (4 (a^2 Cos[θ[τ]]^2-r[τ]^2) (-2 r[τ]+a^2 Sin[θ[τ]]^2) t'[τ]+2 a^2 (a^2 Cos[θ[τ]]^2+r[τ]^2)^2 Sin[2 θ[τ]] θ'[τ]-a Sin[θ[τ]]^2 (2 r[τ] (a^2 Cos[θ[τ]]^2 (-4+a^2+a^2 Cos[2 θ[τ]])+2 r[τ] ((2+a^2+a^2 Cos[2 θ[τ]]) r[τ]+r[τ]^3-a^2 Sin[θ[τ]]^2))+a^4 Sin[2 θ[τ]]^2) φ'[τ])+2 (a^2+(-2+r[τ]) r[τ]) (4 (a^2 Cos[θ[τ]]^2-r[τ]^2) t'[τ]^2+4 r[τ] (a^2 Cos[θ[τ]]^2+r[τ]^2)^2 θ'[τ]^2+8 a (-a^2 Cos[θ[τ]]^2+r[τ]^2) Sin[θ[τ]]^2 t'[τ] φ'[τ]+Sin[θ[τ]]^2 (4 r[τ] ((a^2 Cos[θ[τ]]^2+r[τ]^2)^2-a^2 r[τ] Sin[θ[τ]]^2)+a^4 Sin[2 θ[τ]]^2) φ'[τ]^2))/(8 (a^2 Cos[θ[τ]]^2+r[τ]^2)^3),
  208. r'[0]==dr,
  209. r[0]==r0,
  210. θ''[τ]==(4 a^2 r[τ] Sin[2 θ[τ]] (r'[τ]+t'[τ])^2-8 r[τ] (a^2 Cos[θ[τ]]^2+r[τ]^2)^2 r'[τ] θ'[τ]+2 a^2 (a^2 Cos[θ[τ]]^2+r[τ]^2)^2 Sin[2 θ[τ]] θ'[τ]^2-8 a ((Cos[θ[τ]] (a^2 Cos[θ[τ]]^2+r[τ]^2)^2 Sin[θ[τ]]+r[τ] (a^2+r[τ]^2) Sin[2 θ[τ]]) r'[τ]+r[τ] (a^2+r[τ]^2) Sin[2 θ[τ]] t'[τ]) φ'[τ]+(2 a^6 Cos[θ[τ]]^4+r[τ] (a^4 Cos[θ[τ]]^2 (5+Cos[2 θ[τ]]) r[τ]+2 a^2 (2+Cos[2 θ[τ]]) r[τ]^3+2 r[τ]^5+2 a^2 (a^2 (3+Cos[2 θ[τ]])+4 r[τ]^2) Sin[θ[τ]]^2)) Sin[2 θ[τ]] φ'[τ]^2)/(4 (a^2 Cos[θ[τ]]^2+r[τ]^2)^3),
  211. θ'[0]==dθ,
  212. θ[0]==θ0,
  213. φ''[τ]==If[θ[τ]==0, 0, (4 (a^3 Cos[θ[τ]]^2-a r[τ]^2) r'[τ]^2+4 (a^3 Cos[θ[τ]]^2-a r[τ]^2) t'[τ]^2+4 a r[τ] (a^2 Cos[θ[τ]]^2+r[τ]^2)^2 θ'[τ]^2-8 (a^2 Cos[θ[τ]]^2+r[τ]^2) (Cot[θ[τ]] (a^2 Cos[θ[τ]]^2+r[τ]^2)^2+a^2 r[τ] Sin[2 θ[τ]]) θ'[τ] φ'[τ]+a Sin[θ[τ]]^2 (4 r[τ] ((a^2 Cos[θ[τ]]^2+r[τ]^2)^2-a^2 r[τ] Sin[θ[τ]]^2)+a^4 Sin[2 θ[τ]]^2) φ'[τ]^2+8 a t'[τ] (2 Cot[θ[τ]] r[τ] (a^2 Cos[θ[τ]]^2+r[τ]^2) θ'[τ]+a (-a^2 Cos[θ[τ]]^2+r[τ]^2) Sin[θ[τ]]^2 φ'[τ])+8 r'[τ] ((a^3 Cos[θ[τ]]^2-a r[τ]^2) t'[τ]+a Cot[θ[τ]] (a^2 Cos[θ[τ]]^2+r[τ]^2) (a^2 Cos[θ[τ]]^2+r[τ] (2+r[τ])) θ'[τ]-(r[τ] (a^2 Cos[θ[τ]]^2+r[τ]^2)^2+a^2 (a^2 Cos[θ[τ]]^2-r[τ]^2) Sin[θ[τ]]^2) φ'[τ]))/(4 (a^2 Cos[θ[τ]]^2+r[τ]^2)^3)],
  214. φ'[0]==dΦ,
  215. φ[0]==φk,
  216. str'[τ]==vd[τ]/Max[1*^-16, Abs[Sqrt[1-vd[τ]^2]]],
  217. str[0]==0,
  218. vlt'[τ]==vd[τ],
  219. vlt[0]==0
  220. };
  221.  
  222. DGL=If[crd==1, DG1, DG2];
  223.  
  224. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  225. (* |||||||| 8) INTEGRATION |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  226. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  227.  
  228. sol=
  229.  
  230. NDSolve[DGL, {t, r, θ, φ, str, vlt, pr, pθ}, {τ, 0, tmax},
  231. WorkingPrecision-> wp,
  232. MaxSteps-> Infinity,
  233. Method-> mta,
  234. InterpolationOrder-> All,
  235. StepMonitor :> (laststep=plunge; plunge=τ;
  236. stepsize=plunge-laststep;), Method->{"EventLocator",
  237. "Event" :> (If[stepsize<1*^-5, 0, 1])}];
  238.  
  239. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  240. (* |||||||| 9) KOORDINATEN |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  241. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  242.  
  243. XBL[τ_]:=Evaluate[Sqrt[r[τ]^2+a^2] Sin[θ[τ]] Cos[φ[τ]]/.sol][[1]];
  244. YBL[τ_]:=Evaluate[Sqrt[r[τ]^2+a^2] Sin[θ[τ]] Sin[φ[τ]]/.sol][[1]];
  245. Z[τ_]:=Evaluate[r[τ] Cos[θ[τ]]/.sol][[1]];
  246.  
  247. XKS[τ_]:=Evaluate[((r[τ] Cos[φ[τ]]+a Sin[φ[τ]]) Sin[θ[τ]])/.sol][[1]];
  248. YKS[τ_]:=Evaluate[((r[τ] Sin[φ[τ]]-a Cos[φ[τ]]) Sin[θ[τ]])/.sol][[1]];
  249.  
  250. X[τ_]:=If[crd==1, XBL[τ], XKS[τ]];
  251. Y[τ_]:=If[crd==1, YBL[τ], YKS[τ]];
  252.  
  253. xBL[τ_]:=Evaluate[Sqrt[r[τ]^2+A^2] Sin[θ[τ]] Cos[φ[τ]]/.sol][[1]];
  254. yBL[τ_]:=Evaluate[Sqrt[r[τ]^2+A^2] Sin[θ[τ]] Sin[φ[τ]]/.sol][[1]];
  255. z[τ_]:=Z[τ];
  256.  
  257. xKS[τ_]:=Evaluate[((r[τ] Cos[φ[τ]]+A Sin[φ[τ]]) Sin[θ[τ]])/.sol][[1]];
  258. yKS[τ_]:=Evaluate[((r[τ] Sin[φ[τ]]-A Cos[φ[τ]]) Sin[θ[τ]])/.sol][[1]];
  259.  
  260. x[τ_]:=If[crd==1, xBL[τ], xKS[τ]];
  261. y[τ_]:=If[crd==1, yBL[τ], yKS[τ]];
  262.  
  263. XYZ[τ_]:=Sqrt[X[τ]^2+Y[τ]^2+Z[τ]^2]; XY[τ_]:=Sqrt[X[τ]^2+Y[τ]^2];  (* kartesischer Radius *)
  264.  
  265. Xyz[{x_, y_, z_}, α_]:={x Cos[α]-y Sin[α], x Sin[α]+y Cos[α], z};      (* Rotationsmatrix *)
  266. xYz[{x_, y_, z_}, β_]:={x Cos[β]+z Sin[β], y, z Cos[β]-x Sin[β]};
  267. xyZ[{x_, y_, z_}, ψ_]:={x, y Cos[ψ]-z Sin[ψ], y Sin[ψ]+z Cos[ψ]};
  268.  
  269. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  270. (* |||||||| 10) PLOT EINSTELLUNGEN |||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  271. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  272.  
  273. PR=1.2r0;                                                                   (* Plot Range *)
  274. d1=10;                                                                    (* Schweiflänge *)
  275. plp=50;                                                            (* Flächenplot Details *)
  276. w1l=0; w2l=0; w1r=0; w2r=0;                                          (* Startperspektiven *)
  277. Mrec=1000; mrec=15;                                      (* Parametric Plot Subdivisionen *)
  278. imgsize=380;                                                                 (* Bildgröße *)
  279.  
  280. s[text_]:=Style[text, FontSize->font]; font=11;                            (* Anzeigestil *)
  281.  
  282. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  283. (* |||||||| 11) RADIUS NACH ZEIT |||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  284. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  285.  
  286. Plot[{R[τ], rI, rA, 0}, {τ,0,tMax}, PlotLabel->"y=r, x=τ (Eigenzeit)", PlotLabels->{None,"r-","r+","ring"}, Frame->True, ImageSize->500]
  287. Plot[{R[д[t]], rI, rA, 0}, {t,0,TMax}, PlotLabel->"y=r, x=т (Finkelsteinzeit)", PlotLabels->{None,"r-","r+","ring"}, Frame->True, ImageSize->500]
  288.  
  289. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  290. (* |||||||| 12) PLOT NACH EIGENZEIT ||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  291. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  292.  
  293. display[T_]:=Grid[{
  294. {If[μ==0, s[" affineP"], s[" τ propr"]], " = ", s[n0[tp]], s["GM/c³"], s[dp]},
  295. {s[" т coord"], " = ", s[n0[т[tp]]], s["GM/c³"], s[dp]},
  296. {s[" t statc"], " = ", s[n0[т[tp]+Sign[1.5-dsp] 2 NIntegrate[R[Ti]/(R[Ti]^2-2 R[Ti]+a^2),{Ti,0,T}]]], s["GM/c³"], s[dp]},
  297. {s[" γ coord"], " = ", s[n0[If[dsp==2, γ[tp]-2 If[crd==1, 0, R'[tp] R[tp]/(R[tp]^2-2 R[tp]+a^2)], γ[T]]]], s["dt/dτ"], s[dp]},
  298. {s[" γ statc"], " = ", s[n0[If[dsp==1, γ[tp]-2 If[crd==1, 0, R'[tp] R[tp]/(R[tp]^2-2 R[tp]+a^2)], γ[T]]]], s["dt/dτ"], s[dp]},
  299. {s[" ς gravt"], " = ", s[n0[ς[tp]]], s["dt/dτ"], s[dp]},
  300. {s[" r coord"], " = ", s[n0[R[tp]]], s["GM/c²"], s[dp]},
  301. {s[" φ longd"], " = ", s[n0[Φ[tp] 180/π]], s["deg"], s[dp]},
  302. {s[" θ lattd"], " = ", s[n0[Θ[tp] 180/π]], s["deg"], s[dp]},
  303. {s[" M irred"], " = ", s[n0[mirr]], s["M"], s[dp]},
  304. {s[" L axial"], " = ", s[n0[Lz]], s["GMm/c"], s[dp]},
  305. {s[" L polar"], " = ", s[n0[If[crd==1, pΘ[T], pΘks[T]]]], s["GMm/c"], s[dp]},
  306. {s[" Ř crc.φ"], " = ", s[n0[яi[tp]]], s["GM/c²"], s[dp]},
  307. {s[" Σ crc.θ"], " = ", s[n0[Sqrt[Σi[tp]]]], s["GM/c²"], s[dp]},
  308. {s[" E kinet"], " = ", s[n0[ekin[tp]]], s["mc²"], s[dp]},
  309. {s[" E poten"], " = ", s[n0[epot[tp]]], s["mc²"], s[dp]},
  310. {s[" E total"], " = ", s[n0[ε]], s["mc²"], s[dp]},
  311. {s[" CarterQ"], " = ", s[n0[Q]], s["GMm/c"], s[dp]},
  312. {s[" a SpinP"], " = ", s[n0[a]], s["GM²/c"], s[dp]},
  313. {s[" d\.b2r/dτ\.b2"], " = ",  s[n0[Evaluate[r''[T] /. sol][[1]]]], s["c⁴/G/M"], s[dp]},
  314. {s[" d\.b2φ/dτ\.b2"], " = ", s[n0[Evaluate[φ''[T] /. sol][[1]]]], s["c⁶/G²/M²"], s[dp]},
  315. {s[" d\.b2θ/dτ\.b2"], " = ", s[n0[Evaluate[θ''[T] /. sol][[1]]]], s["c⁶/G²/M²"], s[dp]},
  316. {s[" α dv/dτ"], " = ", s[n0[Evaluate[vlt''[tp]/.sol][[1]]]], s["c⁴/G/M"], s[dp]},
  317. {s[" R carts"], " = ", s[n0[XYZ[tp]]], s["GM/c²"], s[dp]},
  318. {s[" x carts"], " = ", s[n0[X[tp]]], s["GM/c²"], s[dp]},
  319. {s[" y carts"], " = ", s[n0[Y[tp]]], s["GM/c²"], s[dp]},
  320. {s[" z carts"], " = ", s[n0[Z[tp]]], s["GM/c²"], s[dp]},
  321. {s[" s dstnc"], " = ", s[n0[dst[tp]]], s["GM/c²"], s[dp]},
  322. {s[" ω fdrag"], " = ", s[n0[ω[tp]]], s["c³/G/M"], s[dp]},
  323. {s[" v fdrag"], " = ", s[n0[й[tp]]], s["c"], s[dp]},
  324. {s[" Ω fdrag"], " = ", s[n0[Ω[tp]]], s["c"], s[dp]},
  325. {s[" v propr"], " = ", s[n0[v[tp]/Sqrt[1-v[tp]^2]]], s["c"], s[dp]},
  326. {s[" v obsvd"], " = ", s[n0[ß[tp]]], s["c"], s[dp]},
  327. {s[" v escpe"], " = ", s[n0[ж[tp]]], s["c"], s[dp]},
  328. {s[" v delay"], " = ", s[n0[sh[tp]]], s["c"], s[dp]},
  329. {s[" v local"], " = ", s[n0[v[tp]]], s["c"], s[dp]},
  330. {s[" "], s[" "], s["                   "], s["         "]}},
  331. Alignment-> Left, Spacings-> {0, 0}];
  332.  
  333. plot1b[{xx_, yy_, zz_, tk_, w1_, w2_}]:=                                    (* Animation *)
  334. Show[Graphics3D[{
  335. {PointSize[0.012], Red, Point[
  336. Xyz[xyZ[{x[tp], y[tp], z[tp]}, w1], w2]]}},
  337. ImageSize-> imgsize,
  338. PlotRange-> PR,
  339. SphericalRegion->False,
  340. ImagePadding-> 1],
  341. horizons[A, None, w1, w2],
  342. If[crd==1, If[a==0, {},
  343. Graphics3D[{{PointSize[0.009], Purple, Point[
  344. Xyz[xyZ[{
  345. Sin[-φ0-ω0 т[tp]+π/2] Sqrt[x0[A]^2+y0[A]^2],
  346. Cos[-φ0-ω0 т[tp]+π/2] Sqrt[x0[A]^2+y0[A]^2],
  347. z0[A]}, w1], w2]]}}]],
  348. If[a==0, {},
  349. Graphics3D[{{PointSize[0.009], Purple, Point[
  350. Xyz[xyZ[{
  351. Sin[-φ0-ц0 a Ξ/χ т[tp]+π/2] Sqrt[x0[A]^2+y0[A]^2],
  352. Cos[-φ0-ц0 a Ξ/χ т[tp]+π/2] Sqrt[x0[A]^2+y0[A]^2],
  353. z0[A]}, w1], w2]]}}]]],
  354. If[crd==1, If[tk==0, {}, If[a==0, {},
  355. Block[{$RecursionLimit = Mrec},
  356. ParametricPlot3D[
  357. Xyz[xyZ[{
  358. Sin[-φ0-ω0 т[tt]+π/2] Sqrt[x0[A]^2+y0[A]^2],
  359. Cos[-φ0-ω0 т[tt]+π/2] Sqrt[x0[A]^2+y0[A]^2],
  360. z0[A]}, w1], w2],
  361. {tt, Max[0, д[т[tp]-199/100 π/ω0]], tp},
  362. PlotStyle -> {Thickness[0.001], Dashed, Purple},
  363. PlotPoints-> 5+Round[2т[tp]],
  364. MaxRecursion-> 12]]]],
  365. If[tk==0, {}, If[a==0, {},
  366. Block[{$RecursionLimit = Mrec},
  367. ParametricPlot3D[
  368. Xyz[xyZ[{
  369. Sin[-φ0-ц0 a Ξ/χ т[tt]+π/2] Sqrt[x0[A]^2+y0[A]^2],
  370. Cos[-φ0-ц0 a Ξ/χ т[tt]+π/2] Sqrt[x0[A]^2+y0[A]^2],
  371. z0[A]}, w1], w2],
  372. {tt, Max[0, д[т[tp]-199/100 π/ω0]], tp},
  373. PlotStyle -> {Thickness[0.001], Dashed, Purple},
  374. PlotPoints-> 5+Round[2т[tp]],
  375. MaxRecursion-> 12]]]]],
  376. If[tk==0, {},
  377. Block[{$RecursionLimit = Mrec},
  378. ParametricPlot3D[
  379. Xyz[xyZ[{x[tt], y[tt], z[tt]}, w1], w2], {tt, Max[0, tp-d1], tp},
  380. PlotStyle-> {Thickness[0.004]},
  381. ColorFunction-> Function[{x, y, z, t},
  382. Hue[0, 1, 0.5, Max[Min[(-tp+(t+d1))/d1, 1], 0]]],
  383. ColorFunctionScaling-> False,
  384. PlotPoints-> Automatic,
  385. MaxRecursion-> mrec]]],
  386. ViewPoint-> {xx, yy, zz}];
  387.  
  388. Quiet[Do[
  389. Print[Rasterize[Grid[{{
  390. plot1b[{0, -Infinity, 0, tp, w1l, w2l}],
  391. plot1b[{0, 0, +Infinity, tp, w1r, w2r}],
  392. display[tp]
  393. }}, Alignment->Left]]],
  394. {tp, {0,
  395. tau/.FindRoot[R[tau]-rA, {tau, 1}],
  396. tau/.FindRoot[R[tau]-rI, {tau, 2}],
  397. tau/.FindRoot[R[tau], {tau, 2.27}],
  398. tMax}}]]
  399.  
  400. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  401. (* |||||||| 13) EXPORTOPTIONEN |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  402. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  403.  
  404. (* Export als HTML Dokument *)
  405. (* Export["dateiname.html", EvaluationNotebook[], "GraphicsOutput" -> "PNG"] *)
  406. (* Export direkt als Bildsequenz *)
  407. (* Do[Export["dateiname" <> ToString[tk] <> ".png", Rasterize[...]   ], {tk, 0, 10, 5}]   *)
  408.  
  409. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
  410. (* |||||||||||||||| http://kerr.yukerez.net ||||| Simon Tyran, Vienna ||||||||||||||||||| *)
  411. (* |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| *)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top