Light cones for Spherically Symmetric Black Holes

Download Report

Transcript Light cones for Spherically Symmetric Black Holes

Light Cones For Spherically
Symmetric Space-times
Jason Tower and Dr. Tom Kling, Department of Physics,
Bridgewater State College, Bridgewater, MA 02325
Light cones in the vicinity of a black hole behave
differently than those in flat space with no
gravitational fields present. Specifically, the
propagation of the wave-front from a light pulse will
be distorted from its normally spherical shape.
General Relativity provides a rigid mathematical
framework for deducing the evolution of these
wave-fronts as they evolve outward from the
emission point through the space around the black
hole. My goal for this project has been to solve the
equations which govern the shape of the wavefronts, and then to write a computer program which
can be used to produce graphs of the wave-fronts
from various emission points around the black hole.
Project Summary
• Solve the equations which govern light
rays in both Schwarzschild, and Kerr
space-time models
• Write computer code to perform numerical
integration and output light-ray position
data
• Plot the time-evolution of light wave-fronts
in the space-time models
2-D Schwarzschild Model
Equations
Runge-Kutta 4th Order Method for
Automating Integration
k1  hf  x n , y n 
k1 
h

k 2  hf  x n  , y n  
2
2

k 
h

k 3  hf  xn  , y n  2 
2
2

k3 
h

k 4  hf  x n  , y n  
2
2

1
y n1  y n  k 12k 2  2k 3  k 4 
6
t  1
f
b

 2
r
r  vr
f ext
f int
f,r
g,rv2r
b
vr  3  2 
2g
gr 2gf
3-D Schwarzschild Model
Equations
 2m 
 1 

r 

1
1

2 2 
 3  2m  2 1  2mr  

  1 
  1 
3  
2
R
2
R




 


g ext 
1
 2m 
1 

r


g int 
1
 2 mr 2 
1 

3 
R 

1
t 
f
2
  f t
r  2
r   


g
g
gr

r  2
r sin 2   2
v r 

g
g
2
2
2
b
2
sin
2


 
1
2
1
 2
2
b2




    ft  2
2
r
sin



 2 v r v
sin  cos  b 2
v  

r
r 4 sin 4 
 b
  2
r sin 2 
 2m 
f ext  1 

r 

f int
1
1

2 2 
 3  2m  2 1  2mr  
 
  1 
  1 
R 
2
R 3  
2


g ext 
1
 2m 
1 

r


g int 
1
 2 mr 2 
1 

3 
R


2
Each coordinate value in the model is evaluated via this method.
Samples of my program which computes the
3-D Schwarzschild Wave-Front Plot
Early 2-D Light Ray Data
Exterior and Interior views of off-axis wave-front emission.
These test images indicate the program will be operational
with the Kerr space-time equations inserted.
25
positions of the light rays
b= tempb - j*(tempb/75);
// this is the main Runge-Kutta function
void g( double (*ptdot) (double, double, double), double (*prdot) (double),
double (*pvrdot) (double, double, double, double, double, double, double),
double (*pphidot) (double, double, double), double coords[], double util[],
double h,
double b, double m, double R, double (*pthetadot) (double), double
(*pvthetadot) (double,
double, double, double, double, double) ){
double k1t, k2t, k3t, k4t, tdotnew, tdotold, rdotnew, rdotold, k1r, k2r, k3r, k4r,
vrdotnew, vrdotold, phidotnew, phidotold, k1vr, k2vr, k3vr, k4vr,
k1phi, k2phi, k3phi, k4phi, k1theta, k2theta, k3theta, k4theta, k1vtheta,
k2vtheta, k3vtheta, k4vtheta, thetadotold, vthetadotold;
for(int w=1; w<151; w++){ //loop over vtheta
// util 1-6 = t, r, vr, phi, theta, vtheta
// beggining RK step calculations
ofstream fout(file_name_xyout);
double r_start, theta_start;
r_start = 40.0;
theta_start = 3.14159/4.0;
tempb = bmax(r_start, R, m, theta_start);
20
for (int j=1; j<151; j++) { // loop over b
15
coords[1]=0; // t
coords[2]=r_start; // r
tdotold = coords[1]; // need to check these match
rdotold = coords[2]; // watch for re-name of vector x!!!
vrdotold = coords[3];
phidotold = coords[4];
thetadotold = coords[5];
vthetadotold = coords[6];
coords[4]=0; // phi
10
coords[5] = theta_start; // theta
temptheta = vthetamax(r_start, R, m, theta_start, b);
//coords[6] = .1*temptheta; // vtheta init
coords[6] = temptheta - w*temptheta/75;
5
coords[3]=vr_init(m, b, coords[2], R, init_dir, coords[5], coords[6]); // vr
//cout <<coords[6]<<" "<<b<<" "<<j<<" "<<w<<endl;
for (n=1; n< steps+1; n++) {
0
-30
-20
-10
g (ptdot, prdot, pvrdot, pphidot, coords, util, h, b, m, R, pthetadot, pvthetadot);
0
10
if(coords[1]>final_t){
hnew = -(coords[1]-final_t)/(tdot(coords[1], R, m));
n = steps+1;
g( ptdot, prdot, pvrdot, pphidot, coords, util, hnew, b, m, R, pthetadot,
pvthetadot); // this section was for surface generation
20
-5
x = coords[2]*cos(coords[4])*sin(coords[5]);
y = coords[2]*sin(coords[4])*sin(coords[5]);
z = coords[2]*cos(coords[5]);
-10
cout<<x<<" , "<<y<<" , "<<z<< endl;
fout<<x<<" , "<<y<<" , "<<z<< endl;
} //this bracket needed when final-t surface calc is used
// if (n%25==0) {
k1t
= h * ptdot (coords[2], R, m); // send these what they need!!!
k1r = h * prdot (coords[3]);
k1vr = h * pvrdot (b, coords[2], coords[3], R, m, coords[5], coords[6]);
k1phi = h * pphidot (b, coords[2], coords[5]);
k1theta = h * pthetadot (coords[6]);
k1vtheta = h * pvthetadot (b, coords[2], coords[3], R, coords[5], coords[6]);
// go back and re-tool vector util (done!! 6/9/06)
util[1] = tdotold + .5*k1t;
util[2] = rdotold + .5*k1r;
util[3] = vrdotold + .5*k1vr;
util[4] = phidotold + .5*k1phi;
util[5] = thetadotold + .5*k1theta;
util[6] = vthetadotold + .5*k1vtheta;
k2t = h * ptdot (util[2], R, m);
k2r = h * prdot (util[3]);
k2vr = h * pvrdot (b, util[2], util[3], R, m, util[5], util[6]);
k2phi = h * pphidot (b, util[2], util[5]); // send these what they need
k2theta = h * pthetadot(util[6]);
k2vtheta = h * pvthetadot (b, util[2], util[3], R, util[5], util[6]);
util[1] = tdotold + .5*k2t;
util[2] = rdotold + .5*k2r;
util[3] = vrdotold + .5*k2vr;
util[4] = phidotold + .5*k2phi;
util[5] = thetadotold + .5*k2theta;
util[6] = vthetadotold + .5*k2vtheta;
k3t = h * ptdot (util[2], R, m);
k3r = h * prdot (util[3]);
k3vr = h * pvrdot (b, util[2], util[3], R, m, util[5], util[6]);
k3phi = h * pphidot (b, util[2], util[5]);
k3theta = h * pthetadot(util[6]);
k3vtheta = h * pvthetadot (b, util[2], util[3], R, util[5], util[6]);
util[1] = tdotold + .5*k3t;
util[2] = rdotold + .5*k3r;
util[3] = vrdotold + .5*k3vr;
util[4] = phidotold + .5*k3phi;
util[5] = thetadotold + .5*k3theta;
util[6] = vthetadotold + .5*k3vtheta;
k4t = h * ptdot (util[2], R, m);
k4r = h * prdot (util[3]);
k4vr = h * pvrdot (b, util[2], util[3], R, m, util[5], util[6]);
k4phi = h * pphidot (b, util[2], util[5]);
k4theta = h * pthetadot(util[6]);
k4vtheta = h * pvthetadot (b, util[2], util[3], R, util[5], util[6]);
coords[1] = tdotold
+ (1.0/6.0)*( k1t + 2*k2t + 2*k3t + k4t); // should
be correct now
coords[2] = rdotold + (1.0/6.0)*( k1r + 2*k2r + 2*k3r + k4r);
// line x[2] = ...
coords[3] = vrdotold + (1.0/6.0)*(k1vr + 2*k2vr + 2*k3vr + k4vr);
coords[4] = phidotold + (1.0/6.0)*(k1phi + 2*k2phi + 2*k3phi + k4phi);
coords[5] = thetadotold + (1.0/6.0)*(k1theta + 2*k2theta + 2*k3theta +
k4theta);
coords[6] = vthetadotold + (1.0/6.0)*(k1vtheta + 2*k2vtheta + 2*k3vtheta
+ k4vtheta);
}
Internal View of 3-D Schwarzschild Wave-Front,
Caustic Structure is Evident
2-D Schwarzschild Wave-Front Evolution
50
40
I would like to thank the following people and parties, without whom this
project could not have proceeded.
30
20
Continuing Work
10
My research Mentor, Dr. Thomas Kling for his guidance and expertise.
0
-50
-30
-10
10
-10
The Adrian Tinsley Program, and all those who administrate it and participate
in it for their continuing support.
30
50
The plots for the Kerr space-time are not completed yet. My computer
code is nearly ready for the Kerr differential equations to be inserted,
however an appropriate plotting software has not yet been chosen.
Continuing this project to its completion will involve the following:
-20
1. Solving the Euler-Lagrange equations for the Kerr space-time metric
-30
2. Addition of an adaptive step size to the code to save computational
memory
The Brown University Extra-Galactic Summer Research Group for their peerreview and general encouragement of undergraduate research.
In addition, the following texts were instrumental in my understanding of the
material related to the project:
C++ For Dummies; Stephen Randy Davis
Numerical Recipes in C++; W. Press, W. Vetterling, S. Teukolsky, B. Flannery
-40
3. Choosing an appropriate plotting software
General Relativity; I. R. Kenyon
The Large Scale Structure of Space-Time; S. Hawking, G.F.R. Ellis
-50
4. Producing jpeg-style animations of the wave-fronts for the Kerr spacetime model