61 #include "blackhole.h" 63 #include "utilitaires.h" 71 const int& nrk_phi)
const {
83 cout <<
"Not yet prepared!!!" << endl ;
90 double xi_t0 = xi_i(0) ;
91 double xi_p0 = xi_i(1) ;
92 double xi_l0 = xi_i(2) ;
95 double dp = 2. * M_PI / double(np) / double(nrk_phi) ;
111 double xi_t1, xi_t2, xi_t3, xi_t4, xi_tf ;
112 double xi_p1, xi_p2, xi_p3, xi_p4, xi_pf ;
113 double xi_l1, xi_l2, xi_l3, xi_l4, xi_lf ;
114 double f1, f2, f3, f4 ;
115 double g1, g2, g3, g4 ;
116 double h1, h2, h3, h4 ;
122 for (
int i=0; i<nrk_phi; i++) {
125 f1 = - xi_l0 * rah * confo2.
val_point(rah, M_PI/2., phi0)
126 + 2. * xi_p0 * dlnconfo.
val_point(rah, M_PI/2., phi0) ;
127 g1 = -2. * xi_t0 * dlnconfo.
val_point(rah, M_PI/2., phi0) ;
128 h1 = (1. - 2.*laplnconfo.
val_point(rah, M_PI/2., phi0)) * xi_t0
129 / rah / confo2.
val_point(rah, M_PI/2., phi0) ;
136 f2 = - (xi_l0+0.5*xi_l1) * rah
137 * confo2.
val_point(rah, M_PI/2., phi0+0.5*dp)
138 + 2. * (xi_p0+0.5*xi_p1)
139 * dlnconfo.
val_point(rah, M_PI/2., phi0+0.5*dp) ;
140 g2 = -2. * (xi_t0+0.5*xi_t1)
141 * dlnconfo.
val_point(rah, M_PI/2., phi0+0.5*dp) ;
142 h2 = (1. - 2.*laplnconfo.
val_point(rah, M_PI/2., phi0+0.5*dp))
143 * (xi_t0+0.5*xi_t1) / rah
144 / confo2.
val_point(rah, M_PI/2., phi0+0.5*dp) ;
151 f3 = - (xi_l0+0.5*xi_l2) * rah
152 * confo2.
val_point(rah, M_PI/2., phi0+0.5*dp)
153 + 2. * (xi_p0+0.5*xi_p2)
154 * dlnconfo.
val_point(rah, M_PI/2., phi0+0.5*dp) ;
155 g3 = -2. * (xi_t0+0.5*xi_t2)
156 * dlnconfo.
val_point(rah, M_PI/2., phi0+0.5*dp) ;
157 h3 = (1. - 2.*laplnconfo.
val_point(rah, M_PI/2., phi0+0.5*dp))
158 * (xi_t0+0.5*xi_t2) / rah
159 / confo2.
val_point(rah, M_PI/2., phi0+0.5*dp) ;
166 f4 = - (xi_l0+xi_l3) * rah * confo2.
val_point(rah, M_PI/2., phi0+dp)
167 + 2. * (xi_p0+xi_p3) * dlnconfo.
val_point(rah, M_PI/2., phi0+dp) ;
168 g4 = -2. * (xi_t0+xi_t3) * dlnconfo.
val_point(rah, M_PI/2., phi0+dp) ;
169 h4 = (1. - 2.*laplnconfo.
val_point(rah, M_PI/2., phi0+dp))
170 * (xi_t0+xi_t3) / rah / confo2.
val_point(rah, M_PI/2., phi0+dp) ;
178 xi_tf = xi_t0 + (xi_t1 + 2.*xi_t2 + 2.*xi_t3 + xi_t4) / 6. ;
179 xi_pf = xi_p0 + (xi_p1 + 2.*xi_p2 + 2.*xi_p3 + xi_p4) / 6. ;
180 xi_lf = xi_l0 + (xi_l1 + 2.*xi_l2 + 2.*xi_l3 + xi_l4) / 6. ;
191 xi_f.
set(0) = xi_tf ;
192 xi_f.
set(1) = xi_pf ;
193 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 .
int get_np(int l) const
Returns the number of points in the azimuthal direction ( ) in domain no. l.
Standard units of space, time and mass.
const Scalar & dsdt() const
Returns of *this .
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. ...
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.
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.
Tbl runge_kutta_phi_bh(const Tbl &xi_i, const double &phi_i, const int &nrk) const
Compute a forth-order Runge-Kutta integration to the phi direction for the solution of the Killing ve...