33 Kerr(
const Scalar_t&mass)
37 void getMetric(Metric<Scalar_t,4>&g,
const Point_t&P)
const
39 Scalar_t sinTheta =
sin(P[h]);
46 S sig = r2 + a2*tmp*tmp;
47 S del = r2 + a2 + e2 - 2*m*
point[P4_R];
52 g[M4_TT] = (a2*tmp2 - del)/sig;
53 g[M4_TP] = g[M4_PT] = -a*tmp2*(r2 + a2 - del)/sig;
56 g[M4_PP] = ((r2 + a2)*(r2 + a2) - del*a2*tmp2)/sig*tmp2;
59 void getChristoffel(Christoffel<Scalar_t,4>&G,
const Point_t&P)
const
61 Scalar_t sinTheta =
sin(P[h]);
70 S sig = r2 + a2*tmpx*tmpx;
71 S del = r2 + a2 + e2 - 2*m*
point[P4_R];
77 S t_c = t_b*t_b - del*a2*tmp2;
78 S t_d = del - a2*tmp2;
80 S t_f =
point[P4_R] - m;
82 S t_n = t_d*t_c + a2*tmp2*t_e*t_e;
87 chr[C4_TRT] = (t_c*(t_f -
point[P4_R]*t_d/sig)
88 + a2*tmp2*t_e*(m -
point[P4_R]*t_e/sig))/t_n;
90 chr[C4_THT] = a2*tmp*tmpx/t_n*(-t_c + t_d*t_c/sig
91 + t_e*t_e*(1 + a2*tmp2/sig));
93 chr[C4_TPR] = a*tmp2/t_n*(m*t_c - t_e*(2*
point[P4_R]*t_b
96 chr[C4_THP] = a2*a*del*tmp2*tmp*tmpx*t_e/t_n;
98 chr[C4_RTT] = (sig*t_f -
point[P4_R]*t_d)/sig/sig/sig*del;
100 chr[C4_RPT] = ((sig*m -
point[P4_R]*t_e)/sig/sig/sig
102 chr[C4_RRR] = (del*
point[P4_R] - sig*t_f)/del/sig;
104 chr[C4_RHR] = -a2*tmp*tmpx/sig;
105 chr[C4_RPP] = (-t_b*2*
point[P4_R] + t_f*a2*tmp2
106 + t_c*
point[P4_R]/sig)*del*tmp2/sig/sig;
107 chr[C4_RHH] = -del*
point[P4_R]/sig;
111 chr[C4_PRT] = -a/t_n*(m*t_d - t_f*t_e);
113 chr[C4_PHT] = -a*tmpx*t_e/t_n*(t_d/tmp + a2*tmp);
115 chr[C4_PPR] = (t_d*(2*
point[P4_R]*t_b - a2*tmp2*t_f
116 -
point[P4_R]*t_c/sig)
117 +a2*tmp2*t_e*(m -
point[P4_R]*t_e/sig))/t_n;
119 chr[C4_PHP] = (t_d*tmpx*(t_c*(1/tmp + a2*tmp/sig)
121 + a2*tmp*tmpx*t_e*t_e*(1 + a2*tmp2/sig))/t_n;
123 chr[C4_HTT] = -(sig - del + a2*tmp2)/sig/sig/sig*a2*tmp*tmpx;
125 chr[C4_HPT] = tmp*tmpx*t_e/sig/sig*(1 + a2*a*tmp2/sig);
126 chr[C4_HRR] = a2*tmp*tmpx/del/sig;
128 chr[C4_HHR] =
point[P4_r]/sig;
129 chr[C4_HPP] = -tmp*tmpx/sig/sig*(t_b*t_b - 2*del*a2*tmp2
131 chr[C4_HHH] = -a2*tmp*tmpx/sig;