61 #include "blackhole.h" 63 #include "utilitaires.h" 72 const int& nrk_theta)
const {
84 cout <<
"Not yet prepared!!!" << endl ;
91 double xi_t0 = xi_i(0) ;
92 double xi_p0 = xi_i(1) ;
93 double xi_l0 = xi_i(2) ;
94 double theta0 = theta_i ;
96 double dt = - 0.5 * M_PI / double(nt-1) / double(nrk_theta) ;
113 double xi_t1, xi_t2, xi_t3, xi_t4, xi_tf ;
114 double xi_p1, xi_p2, xi_p3, xi_p4, xi_pf ;
115 double xi_l1, xi_l2, xi_l3, xi_l4, xi_lf ;
116 double f1, f2, f3, f4 ;
117 double g1, g2, g3, g4 ;
118 double h1, h2, h3, h4 ;
124 for (
int i=0; i<nrk_theta; i++) {
127 f1 = -2. * xi_p0 * dlnconfo.
val_point(rah, theta0, phi) ;
128 g1 = xi_l0 * rah * confo2.
val_point(rah, theta0, phi)
129 + 2. * xi_t0 * dlnconfo.
val_point(rah, theta0, phi) ;
130 h1 = - (1. - 2.*laplnconfo.
val_point(rah, theta0, phi)) * xi_p0
131 / rah / confo2.
val_point(rah, theta0, phi) ;
138 f2 = -2. * (xi_p0+0.5*xi_p1)
139 * dlnconfo.
val_point(rah, theta0+0.5*dt, phi) ;
140 g2 = (xi_l0+0.5*xi_l1) * rah
141 * confo2.
val_point(rah, theta0+0.5*dt, phi)
142 + 2. * (xi_t0+0.5*xi_t1)
143 * dlnconfo.
val_point(rah, theta0+0.5*dt, phi) ;
144 h2 = - (1. - 2.*laplnconfo.
val_point(rah, theta0+0.5*dt, phi))
145 * (xi_p0+0.5*xi_p1) / rah
146 / confo2.
val_point(rah, theta0+0.5*dt, phi) ;
153 f3 = -2. * (xi_p0+0.5*xi_p2)
154 * dlnconfo.
val_point(rah, theta0+0.5*dt, phi) ;
155 g3 = (xi_l0+0.5*xi_l2) * rah
156 * confo2.
val_point(rah, theta0+0.5*dt, phi)
157 + 2. * (xi_t0+0.5*xi_t2)
158 * dlnconfo.
val_point(rah, theta0+0.5*dt, phi) ;
159 h3 = - (1. - 2.*laplnconfo.
val_point(rah, theta0+0.5*dt, phi))
160 * (xi_p0+0.5*xi_p2) / rah
161 / confo2.
val_point(rah, theta0+0.5*dt, phi) ;
168 f4 = -2. * (xi_p0+xi_p3) * dlnconfo.
val_point(rah, theta0+dt, phi) ;
169 g4 = (xi_l0+xi_l3) * rah * confo2.
val_point(rah, theta0+dt, phi)
170 + 2. * (xi_t0+xi_t3) * dlnconfo.
val_point(rah, theta0+dt, phi) ;
171 h4 = - (1. - 2.*laplnconfo.
val_point(rah, theta0+dt, phi))
172 * (xi_p0+xi_p3) / rah / confo2.
val_point(rah, theta0+dt, phi) ;
180 xi_tf = xi_t0 + (xi_t1 + 2.*xi_t2 + 2.*xi_t3 + xi_t4) / 6. ;
181 xi_pf = xi_p0 + (xi_p1 + 2.*xi_p2 + 2.*xi_p3 + xi_p4) / 6. ;
182 xi_lf = xi_l0 + (xi_l1 + 2.*xi_l2 + 2.*xi_l3 + xi_l4) / 6. ;
193 xi_f.
set(0) = xi_tf ;
194 xi_f.
set(1) = xi_pf ;
195 xi_f.
set(2) = xi_lf ;
Map & mp
Mapping associated with the black hole.
const Scalar & lapang() const
Returns the angular Laplacian of *this , where .
Standard units of space, time and mass.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
double & set(int i)
Read/write of a particular element (index i) (1D case)
Tensor field of valence 0 (or component of a tensorial field).
bool kerrschild
true for a Kerr-Schild background, false for a conformally flat background
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field. ...
Tbl runge_kutta_theta_bh(const Tbl &xi_i, const double &theta_i, const double &phi, const int &nrk) const
Compute a forth-order Runge-Kutta integration to the theta direction for the solution of the Killing ...
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
Scalar confo
Conformal factor generated by the black hole.
virtual double rad_ah() const
Radius of the apparent horizon.
const Scalar & stdsdp() const
Returns of *this .
double val_point(double r, double theta, double phi) const
Computes the value of the field at an arbitrary point , by means of the spectral expansion.
int get_nt(int l) const
Returns the number of points in the co-latitude direction ( ) in domain no. l.