60 #include "hole_bhns.h" 61 #include "utilitaires.h" 100 ll.
set(2) = st % sp ;
122 uv.set(1) = - orb_rot_y ;
123 uv.
set(2) = orb_rot_x ;
133 for (
int i=1; i<=3; i++) {
134 for (
int j=1; j<=3; j++) {
138 - 2. * divshift *
flat.
con()(i,j) / 3. ;
147 for (
int i=1; i<=3; i++) {
148 for (
int j=1; j<=3; j++) {
159 - 2. * ll(i) * ll(j) * divshift / 3.) / rr ;
168 for (
int i=1; i<=3; i++) {
169 for (
int j=1; j<=3; j++) {
176 *(9.+14.*mass/rr)*ll(i)*ll(j) )
185 resi_taij.inc_dzpuis(2) ;
188 * (flat_taij + curv_taij + resi_taij) /
lapconf_tot ;
195 for (
int i=1; i<=3; i++) {
196 for (
int j=1; j<=3; j++) {
199 * ( ll(i) * uv(j) + ll(j) * uv(i)
202 *(9.+14.*mass/rr)*ll(i)*ll(j) )
203 * (ll(2)*orb_rot_x - ll(1)*orb_rot_y) / 3. )
214 for (
int i=1; i<=3; i++) {
215 for (
int j=1; j<=3; j++) {
218 * ( (1.+2.*mass/rr)*
flat.
con()(i,j)
219 - (3.+2.*mass/rr) * ll(i) * ll(j) )
239 for (
int i=1; i<=3; i++) {
240 for (
int j=1; j<=3; j++) {
241 flat_dshift.set(i,j) =
254 - 2. * divshift *
flat.
cov()(i,j) / 3. ;
263 for (
int i=1; i<=3; i++) {
264 for (
int j=1; j<=3; j++) {
265 curv_dshift.set(i,j) = 2. * mass
278 - 2. * divshift * ll(i) * ll(j) / 3. ) / rr ;
287 for (
int i=1; i<=3; i++) {
288 for (
int j=1; j<=3; j++) {
289 tmp1.set(i,j) = 2. * mass
290 *(ll(j)*( (
flat.
cov()(i,1)+2.*mass*ll(i)*ll(1)/rr)
292 + (
flat.
cov()(i,2)+2.*mass*ll(i)*ll(2)/rr)
294 + (
flat.
cov()(i,3)+2.*mass*ll(i)*ll(3)/rr)
297 + ll(i)*( (
flat.
cov()(j,1)+2.*mass*ll(j)*ll(1)/rr)
299 + (
flat.
cov()(j,2)+2.*mass*ll(j)*ll(2)/rr)
301 + (
flat.
cov()(j,3)+2.*mass*ll(j)*ll(3)/rr)
312 for (
int i=1; i<=3; i++) {
313 for (
int j=1; j<=3; j++) {
319 - (9.+28.*mass/rr+24.*mass*mass/rr/rr)*ll(i)*ll(j))
330 * (flat_dshift + curv_dshift + tmp1 + tmp2) /
lapconf_tot ;
333 taij_down_rs.annule_domain(0) ;
338 for (
int i=1; i<=3; i++) {
339 for (
int j=1; j<=3; j++) {
341 * ( ll(j)*uv(i) + ll(i)*uv(j)
343 * (ll(2)*orb_rot_x - ll(1)*orb_rot_y)
344 * (
flat.
cov()(i,j) - (9.+16.*mass/rr)*ll(i)*ll(j) ) / 3.
349 taij_down_rot.annule_domain(0) ;
350 taij_down_rot.inc_dzpuis(2) ;
355 for (
int i=1; i<=3; i++) {
356 for (
int j=1; j<=3; j++) {
359 * (
flat.
cov()(i,j) - (3.+4.*mass/rr) * ll(i) * ll(j))
364 taij_down_bh.annule_domain(0) ;
365 taij_down_bh.inc_dzpuis(2) ;
368 taij_quad_rstot = 0. ;
370 for (
int i=1; i<=3; i++) {
371 for (
int j=1; j<=3; j++) {
372 taij_quad_rstot += taij_down_rs(i,j) *
taij_tot(i,j) ;
378 taij_quad_rsrotbh = 0. ;
380 for (
int i=1; i<=3; i++) {
381 for (
int j=1; j<=3; j++) {
383 * (taij_down_rot(i,j) + taij_down_bh(i,j)) ;
393 * (ll(2)*orb_rot_x - ll(1)*orb_rot_y)
396 * (3.*(1.+2.*mass/rr)*(orb_rot_x*orb_rot_x+orb_rot_y*orb_rot_y)
397 -2.*(1.+3.*mass/rr)*(ll(2)*orb_rot_x-ll(1)*orb_rot_y)
398 *(ll(2)*orb_rot_x-ll(1)*orb_rot_y))
426 cc = 2. * (
sqrt(13.) - 1.) / 3. ;
438 cout <<
"!!!!! WARNING: Not yet prepared !!!!!" << endl ;
444 cout <<
"!!!!! WARNING: Not yet prepared !!!!!" << endl ;
460 for (
int i=1; i<=3; i++) {
461 for (
int j=1; j<=3; j++) {
465 - 2. * divshift %
flat.
con()(i,j) / 3. ;
477 for (
int i=1; i<=3; i++) {
478 for (
int j=1; j<=3; j++) {
486 for (
int i=1; i<=3; i++) {
487 for (
int j=1; j<=3; j++) {
489 *
sqrt(1. - 2.*mass/r_are/rr + cc*cc*
pow(mass/r_are/rr,4.))
498 for (
int i=1; i<=3; i++) {
499 for (
int j=1; j<=3; j++) {
511 for (
int i=1; i<=3; i++) {
512 for (
int j=1; j<=3; j++) {
517 for (
int i=1; i<=3; i++) {
518 for (
int j=1; j<=3; j++) {
535 for (
int i=1; i<=3; i++) {
536 for (
int j=1; j<=3; j++) {
539 - 2. * divshift_auto %
flat.
con()(i,j) / 3. ;
552 for (
int i=1; i<=3; i++) {
553 for (
int j=1; j<=3; j++) {
564 for (
int i=1; i<=3; i++) {
565 for (
int j=1; j<=3; j++) {
581 for (
int i=1; i<=3; i++) {
582 for (
int j=1; j<=3; j++) {
585 - 2. * divshift_comp %
flat.
con()(i,j) / 3. ;
597 if (
taij_comp(1,2).get_etat() == ETATQCQ) {
598 for (
int i=1; i<=3; i++) {
599 for (
int j=1; j<=3; j++) {
611 for (
int i=1; i<=3; i++) {
612 for (
int j=1; j<=3; j++) {
613 flat_dshift.set(i,j) =
626 - 2. * divshift *
flat.
cov()(i,j) / 3. ;
636 taij_down_rs.annule_domain(0) ;
641 for (
int i=1; i<=3; i++) {
642 for (
int j=1; j<=3; j++) {
644 *
sqrt(1. - 2.*mass/r_are/rr + cc*cc*
pow(mass/r_are/rr,4.))
649 taij_down_bh.std_spectral_base() ;
650 taij_down_bh.annule_domain(0) ;
652 for (
int i=1; i<=3; i++) {
653 for (
int j=1; j<=3; j++) {
654 taij_down_bh.
set(i,j).raccord(1) ;
658 taij_down_bh.inc_dzpuis(2) ;
661 taij_quad_rstot = 0. ;
663 for (
int i=1; i<=3; i++) {
664 for (
int j=1; j<=3; j++) {
665 taij_quad_rstot += taij_down_rs(i,j) %
taij_tot(i,j) ;
671 taij_quad_rsbh = 0. ;
673 for (
int i=1; i<=3; i++) {
674 for (
int j=1; j<=3; j++) {
675 taij_quad_rsbh +=
taij_tot_rs(i,j) % taij_down_bh(i,j) ;
687 * (1. - 2.*mass/r_are/rr + cc*cc*
pow(mass/r_are/rr,4.))
702 taij_quad_auto1 = 0. ;
703 for (
int i=1; i<=3; i++) {
704 for (
int j=1; j<=3; j++) {
714 taij_quad_auto2 = 0. ;
715 for (
int i=1; i<=3; i++) {
716 for (
int j=1; j<=3; j++) {
717 taij_quad_auto2 +=
taij_tot_bh(i,j) % taij_down_rs(i,j) ;
733 for (
int i=1; i<=3; i++) {
734 for (
int j=1; j<=3; j++) {
Map & mp
Mapping associated with the black hole.
Sym_tensor taij_auto
Part of the extrinsic curvature tensor generated by the black hole.
void annule_domain(int l)
Sets the Tensor to zero in a given domain.
Scalar lapconf_auto_bh
Part of the lapconf function from the analytic background.
virtual void set_etat_qcq()
Sets the logical state of all components to ETATQCQ (ordinary state).
Scalar taij_quad_comp
Part of the scalar from the companion star.
Cmp sqrt(const Cmp &)
Square root.
Sym_tensor taij_tot_rot
Part of the extrinsic curvature tensor from the rotation shift vector.
double get_ori_y() const
Returns the y coordinate of the origin.
double mass_bh
Gravitational mass of BH.
Sym_tensor taij_tot_bh
Part of the extrinsic curvature tensor from the analytic background.
Standard units of space, time and mass.
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 get_ori_x() const
Returns the x coordinate of the origin.
Sym_tensor taij_comp
Part of the extrinsic curvature tensor generated by the companion star.
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field. ...
int get_etat() const
Returns the logical state ETATNONDEF (undefined), ETATZERO (null) or ETATQCQ (ordinary).
Tensor d_shift_comp
Derivative of the shift vector generated by the companion star.
Tensor field of valence 1.
Sym_tensor taij_auto_rs
Part of the extrinsic curvature tensor numericalty computed for the black hole.
Scalar lapconf_comp
Lapconf function generated by the companion star.
void raccord(int n)
Performs the matching of the nucleus with respect to the first shell.
virtual const Sym_tensor & con() const
Read-only access to the contravariant representation.
virtual void inc_dzpuis(int inc=1)
Increases by inc units the value of dzpuis and changes accordingly the values of the Scalar in the co...
Scalar confo_comp
Conformal factor generated by the companion star.
Scalar taij_quad_auto
Part of the scalar from the black hole.
Vector shift_auto_rs
Part of the shift vector from the numerical computation.
Vector shift_comp
Shift vector generated by the companion star.
Cmp pow(const Cmp &, int)
Power .
Sym_tensor taij_tot
Total extrinsic curvature tensor generated by shift_tot , lapse_tot , and confo_tot ...
Scalar lapconf_auto
Lapconf function generated by the black hole.
virtual void inc_dzpuis(int inc=1)
Increases by inc units the value of dzpuis and changes accordingly the values in the compactified ext...
Scalar confo_tot
Total conformal factor.
virtual const Sym_tensor & cov() const
Read-only access to the covariant representation.
Tbl & set(int l)
Read/write of the value in a given domain.
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 taij_quad_tot
Total scalar generated by .
Scalar & set(const Itbl &ind)
Returns the value of a component (read/write version).
Metric_flat flat
Flat metric defined on the mapping (Spherical components with respect to the mapping of the black hol...
Sym_tensor taij_tot_rs
Part of the extrinsic curvature tensor from the numerical computation.
Scalar taij_quad_tot_rot
Part of the scalar from the rotation shift vector.
bool bc_lapconf_fs
true for the first type BC for the lapconf function, false for the second type BH ...
bool bc_lapconf_nd
true for the Neumann type BC for the lapconf function, false for the Dirichlet type BH ...
void extr_curv_bhns(double omega_orb, double x_rot, double y_rot)
Computes taij_tot , taij_quad_tot from shift_tot , lapse_tot , confo_tot .
const Scalar r_coord(bool neumann, bool first) const
Expresses the areal radial coordinate by that in spatially isotropic coordinates. ...
Scalar taij_quad_tot_bh
Part of the scalar from the analytic background.
virtual void std_spectral_base()
Sets the standard spectal bases of decomposition for each component.
Class intended to describe valence-2 symmetric tensors.
virtual void del_deriv() const
Deletes all the derived quantities.
Scalar lapconf_tot
Total lapconf function.
Coord r
r coordinate centered on the grid
Scalar taij_quad_tot_rs
Part of the scalar from the numerical computation.