63 #include "blackhole.h" 65 #include "utilitaires.h" 86 double radius_ah =
mp.
val_r(1,-1.,M_PI/2.,0.) ;
91 double mirr =
sqrt(a_ah/16./M_PI) / ggrav ;
118 double radius_ah =
mp.
val_r(1,-1.,M_PI/2.,0.) ;
144 ll.set(1) = st * cp ;
145 ll.
set(2) = st * sp ;
154 cout <<
"!!!!! WARNING: Not yet available !!!!!" << endl ;
235 divshf =
shift(1).deriv(1) +
shift(2).deriv(2)
236 +
shift(3).deriv(3) ;
250 source_surf =
confo/rr
270 madm = integ_s / qpig + integ_v / qpig ;
276 cout <<
"Another ADM mass : " << mmm / msol << endl ;
304 double radius_ah =
mp.
val_r(1,-1.,M_PI/2.,0.) ;
330 ll.set(1) = st * cp ;
331 ll.
set(2) = st * sp ;
337 for (
int i=1; i<=3; i++)
344 cout <<
"!!!!! WARNING: Not yet available !!!!!" << endl ;
456 source_surf = lldlap ;
470 for (
int i=1; i<=3; i++)
477 - 2.*(dlap(1)%dlcnf(1) + dlap(2)%dlcnf(2) + dlap(3)%dlcnf(3)) ;
486 mkom = integ_s / qpig + integ_v / qpig ;
491 cout <<
"Another Komar mass : " << mmm / msol << endl ;
532 const Tbl& xi_i,
const double& phi_i,
533 const double& theta_i,
const int& nrk_phi,
534 const int& nrk_theta)
const {
557 ll.set(1) = st % cp ;
558 ll.
set(2) = st % sp ;
562 double radius_ah =
mp.
val_r(1,-1.,M_PI/2.,0.) ;
566 cout <<
"Not yet prepared!!!" << endl ;
576 nrk_phi, nrk_theta) ;
577 killing_spher.std_spectral_base() ;
579 killing_spher.set(2) =
confo *
confo * radius_ah * killing_spher(2) ;
580 killing_spher.set(3) =
confo *
confo * radius_ah * killing_spher(3) ;
582 killing_spher.std_spectral_base() ;
588 killing.set(1) = (killing_spher(2) * ct * cp - killing_spher(3) * sp)
590 killing.set(2) = (killing_spher(2) * ct * sp + killing_spher(3) * cp)
592 killing.set(3) = - killing_spher(2) * st / radius_ah ;
599 source_1 = (ll(1) * (
taij(1,1) * killing(1)
600 +
taij(1,2) * killing(2)
601 +
taij(1,3) * killing(3))
602 + ll(2) * (
taij(2,1) * killing(1)
603 +
taij(2,2) * killing(2)
604 +
taij(2,3) * killing(3))
605 + ll(3) * (
taij(3,1) * killing(1)
606 +
taij(3,2) * killing(2)
607 +
taij(3,3) * killing(3)))
613 source_surf = source_1 ;
621 double spin_angmom = 0.5 * spin / qpig ;
648 double integ_bh_s_x ;
649 double integ_bh_s_y ;
650 double integ_bh_s_z ;
652 double radius_ah =
mp.
val_r(1,-1.,M_PI/2.,0.) ;
680 ll.set(1) = st % cp ;
681 ll.
set(2) = st % sp ;
687 for (
int i=1; i<=3; i++)
688 jbh_x.set(i) = yy *
taij(3,i) - zz *
taij(2,i) ;
690 jbh_x.std_spectral_base() ;
694 for (
int i=1; i<=3; i++)
695 jbh_y.set(i) = zz *
taij(1,i) - xx *
taij(3,i) ;
697 jbh_y.std_spectral_base() ;
701 for (
int i=1; i<=3; i++)
702 jbh_z.set(i) = xx *
taij(2,i) - yy *
taij(1,i) ;
704 jbh_z.std_spectral_base() ;
764 sou_bh_sx = jbh_x(1)%ll(1) + jbh_x(2)%ll(2) + jbh_x(3)%ll(3) ;
785 sou_bh_sy = jbh_y(1)%ll(1) + jbh_y(2)%ll(2) + jbh_y(3)%ll(3) ;
806 sou_bh_sz = jbh_z(1)%ll(1) + jbh_z(2)%ll(2) + jbh_z(3)%ll(3) ;
Map & mp
Mapping associated with the black hole.
virtual double mass_irr() const
Irreducible mass of the black hole.
void annule_domain(int l)
Sets the Tensor to zero in a given domain.
const Tbl & angu_mom_bh() const
Total angular momentum.
virtual void set_etat_qcq()
Sets the logical state of all components to ETATQCQ (ordinary state).
double integrale_surface(const Cmp &ci, double rayon) const
Performs the surface integration of ci on the sphere of radius rayon .
Scalar taij_quad
Part of the scalar generated by .
Cmp sqrt(const Cmp &)
Square root.
double * p_mass_adm
Irreducible mass of the black hole.
double integrale_surface_infini(const Cmp &ci) const
Performs the surface integration of ci at infinity.
const Base_vect_spher & get_bvect_spher() const
Returns the orthonormal vectorial basis associated with the coordinates of the mapping.
Standard units of space, time and mass.
double * p_mass_kom
ADM mass.
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
double integrale() const
Computes the integral over all space of *this .
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field. ...
virtual double mass_adm() const
ADM mass.
virtual void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
Tensor field of valence 1.
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.
Scalar confo
Conformal factor generated by the black hole.
virtual double val_r(int l, double xi, double theta, double pphi) const =0
Returns the value of the radial coordinate r for a given in a given domain.
double * p_mass_irr
Conformal metric .
double * p_rad_ah
Komar mass.
virtual double rad_ah() const
Radius of the apparent horizon.
const Scalar & deriv(int i) const
Returns of *this , where .
Cmp pow(const Cmp &, int)
Power .
double * p_spin_am_bh
Radius of the apparent horizon.
virtual double mass_kom() const
Komar mass.
Tbl * p_angu_mom_bh
Spin angular momentum.
const Base_vect_cart & get_bvect_cart() const
Returns the Cartesian basis associated with the coordinates (x,y,z) of the mapping, i.e.
Scalar & set(const Itbl &ind)
Returns the value of a component (read/write version).
Coord y
y coordinate centered on the grid
Vector shift
Shift vector generated by the black hole.
Sym_tensor taij
Trace of the extrinsic curvature.
const Scalar & dsdr() const
Returns of *this .
Coord x
x coordinate centered on the grid
Vector killing_vect_bh(const Tbl &xi_i, const double &phi_i, const double &theta_i, const int &nrk_phi, const int &nrk_theta) const
Compute the Killing vector of a black hole normalized so that its affine length is 2 M_PI...
Scalar lapconf
A function (lapse function * conformal factor) lapconf generated by the black hole.
double spin_am_bh(bool bclapconf_nd, bool bclapconf_fs, const Tbl &xi_i, const double &phi_i, const double &theta_i, const int &nrk_phi, const int &nrk_theta) const
Spin angular momentum.
void annule_hard()
Sets the Tbl to zero in a hard way.
Coord z
z coordinate centered on the grid
virtual void dec_dzpuis(int dec=1)
Decreases by dec units the value of dzpuis and changes accordingly the values of the Scalar in the co...
Coord r
r coordinate centered on the grid