61 #include "blackhole.h" 63 #include "utilitaires.h" 67 double gg(
double,
const double) ;
99 cc = 2. * (
sqrt(13.) - 1.) / 3. ;
111 cout <<
"!!!!! WARNING: Not yet prepared !!!!!" << endl ;
117 cout <<
"!!!!! WARNING: Not yet prepared !!!!!" << endl ;
125 double precis = 1.e-15 ;
133 double x1, x2, x3, x4, x5 ;
139 for (
int l=1; l<nz; l++) {
141 for (
int i=0; i<nr; i++) {
147 while ( dp > precis ) {
153 while ( diff > precis ) {
156 tmp = ratio + ll * dp ;
158 double r_max = 2.*mass/tmp/tr ;
160 hh = r_max / double(nn) ;
163 for (
int n=0; n<mm; n++) {
165 x1 = hh * double(4*n) ;
166 x2 = hh * double(4*n+1) ;
167 x3 = hh * double(4*n+2) ;
168 x4 = hh * double(4*n+3) ;
169 x5 = hh * double(4*n+4) ;
171 integ += (hh/45.) * (14.*gg(x1,cc) + 64.*gg(x2,cc)
172 + 24.*gg(x3,cc) + 64.*gg(x4,cc)
177 diff = -
log( tmp ) - integ ;
183 ratio += (ll - 1) * dp ;
187 for (
int j=0; j<nt; j++) {
188 for (
int k=0; k<np; k++) {
218 double gg(
double xx,
const double cc) {
220 double tcc2 = cc*cc/16. ;
221 double tmp =
sqrt(1. - xx + tcc2*
pow(xx, 4.)) ;
223 double resu = (-1. + tcc2 *
pow(xx, 3.)) / tmp / (1. + tmp) ;
Map & mp
Mapping associated with the black hole.
void annule_domain(int l)
Sets the Tensor to zero in a given domain.
Cmp log(const Cmp &)
Neperian logarithm.
int get_np(int l) const
Returns the number of points in the azimuthal direction ( ) in domain no. l.
Cmp sqrt(const Cmp &)
Square root.
double mass_bh
Gravitational mass of BH.
Standard units of space, time and mass.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
Tensor field of valence 0 (or component of a tensorial field).
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field. ...
double val_grid_point(int l, int k, int j, int i) const
Returns the value of the field at a specified grid point.
void raccord(int n)
Performs the matching of the nucleus with respect to the first shell.
int get_nzone() const
Returns the number of domains.
Cmp pow(const Cmp &, int)
Power .
int get_nr(int l) const
Returns the number of points in the radial direction ( ) in domain no. l.
double & set_grid_point(int l, int k, int j, int i)
Setting the value of the field at a given grid point.
int get_nt(int l) const
Returns the number of points in the co-latitude direction ( ) in domain no. l.
const Scalar r_coord(bool neumann, bool first) const
Expresses the areal radial coordinate by that in spatially isotropic coordinates. ...
Coord r
r coordinate centered on the grid