28 char hole_bhns_extr_curv_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Hole_bhns/hole_bhns_extr_curv.C,v 1.4 2014/10/13 08:53:00 j_novak Exp $" ;
57 #include "hole_bhns.h" 58 #include "utilitaires.h" 119 uv.set(1) = - orb_rot_y ;
120 uv.
set(2) = orb_rot_x ;
130 for (
int i=1; i<=3; i++) {
131 for (
int j=1; j<=3; j++) {
135 - 2. * divshift *
flat.
con()(i,j) / 3. ;
144 for (
int i=1; i<=3; i++) {
145 for (
int j=1; j<=3; j++) {
156 - 2. * ll(i) * ll(j) * divshift / 3.) / rr ;
165 for (
int i=1; i<=3; i++) {
166 for (
int j=1; j<=3; j++) {
173 *(9.+14.*mass/rr)*ll(i)*ll(j) )
182 resi_taij.inc_dzpuis(2) ;
185 * (flat_taij + curv_taij + resi_taij) /
lapconf_tot ;
192 for (
int i=1; i<=3; i++) {
193 for (
int j=1; j<=3; j++) {
196 * ( ll(i) * uv(j) + ll(j) * uv(i)
199 *(9.+14.*mass/rr)*ll(i)*ll(j) )
200 * (ll(2)*orb_rot_x - ll(1)*orb_rot_y) / 3. )
211 for (
int i=1; i<=3; i++) {
212 for (
int j=1; j<=3; j++) {
215 * ( (1.+2.*mass/rr)*
flat.
con()(i,j)
216 - (3.+2.*mass/rr) * ll(i) * ll(j) )
236 for (
int i=1; i<=3; i++) {
237 for (
int j=1; j<=3; j++) {
238 flat_dshift.set(i,j) =
251 - 2. * divshift *
flat.
cov()(i,j) / 3. ;
260 for (
int i=1; i<=3; i++) {
261 for (
int j=1; j<=3; j++) {
262 curv_dshift.set(i,j) = 2. * mass
275 - 2. * divshift * ll(i) * ll(j) / 3. ) / rr ;
284 for (
int i=1; i<=3; i++) {
285 for (
int j=1; j<=3; j++) {
286 tmp1.set(i,j) = 2. * mass
287 *(ll(j)*( (
flat.
cov()(i,1)+2.*mass*ll(i)*ll(1)/rr)
289 + (
flat.
cov()(i,2)+2.*mass*ll(i)*ll(2)/rr)
291 + (
flat.
cov()(i,3)+2.*mass*ll(i)*ll(3)/rr)
294 + ll(i)*( (
flat.
cov()(j,1)+2.*mass*ll(j)*ll(1)/rr)
296 + (
flat.
cov()(j,2)+2.*mass*ll(j)*ll(2)/rr)
298 + (
flat.
cov()(j,3)+2.*mass*ll(j)*ll(3)/rr)
309 for (
int i=1; i<=3; i++) {
310 for (
int j=1; j<=3; j++) {
316 - (9.+28.*mass/rr+24.*mass*mass/rr/rr)*ll(i)*ll(j))
327 * (flat_dshift + curv_dshift + tmp1 + tmp2) /
lapconf_tot ;
330 taij_down_rs.annule_domain(0) ;
335 for (
int i=1; i<=3; i++) {
336 for (
int j=1; j<=3; j++) {
338 * ( ll(j)*uv(i) + ll(i)*uv(j)
340 * (ll(2)*orb_rot_x - ll(1)*orb_rot_y)
341 * (
flat.
cov()(i,j) - (9.+16.*mass/rr)*ll(i)*ll(j) ) / 3.
346 taij_down_rot.annule_domain(0) ;
347 taij_down_rot.inc_dzpuis(2) ;
352 for (
int i=1; i<=3; i++) {
353 for (
int j=1; j<=3; j++) {
356 * (
flat.
cov()(i,j) - (3.+4.*mass/rr) * ll(i) * ll(j))
361 taij_down_bh.annule_domain(0) ;
362 taij_down_bh.inc_dzpuis(2) ;
365 taij_quad_rstot = 0. ;
367 for (
int i=1; i<=3; i++) {
368 for (
int j=1; j<=3; j++) {
369 taij_quad_rstot += taij_down_rs(i,j) *
taij_tot(i,j) ;
375 taij_quad_rsrotbh = 0. ;
377 for (
int i=1; i<=3; i++) {
378 for (
int j=1; j<=3; j++) {
380 * (taij_down_rot(i,j) + taij_down_bh(i,j)) ;
390 * (ll(2)*orb_rot_x - ll(1)*orb_rot_y)
393 * (3.*(1.+2.*mass/rr)*(orb_rot_x*orb_rot_x+orb_rot_y*orb_rot_y)
394 -2.*(1.+3.*mass/rr)*(ll(2)*orb_rot_x-ll(1)*orb_rot_y)
395 *(ll(2)*orb_rot_x-ll(1)*orb_rot_y))
423 cc = 2. * (
sqrt(13.) - 1.) / 3. ;
435 cout <<
"!!!!! WARNING: Not yet prepared !!!!!" << endl ;
441 cout <<
"!!!!! WARNING: Not yet prepared !!!!!" << endl ;
457 for (
int i=1; i<=3; i++) {
458 for (
int j=1; j<=3; j++) {
462 - 2. * divshift %
flat.
con()(i,j) / 3. ;
474 for (
int i=1; i<=3; i++) {
475 for (
int j=1; j<=3; j++) {
483 for (
int i=1; i<=3; i++) {
484 for (
int j=1; j<=3; j++) {
486 *
sqrt(1. - 2.*mass/r_are/rr + cc*cc*
pow(mass/r_are/rr,4.))
495 for (
int i=1; i<=3; i++) {
496 for (
int j=1; j<=3; j++) {
508 for (
int i=1; i<=3; i++) {
509 for (
int j=1; j<=3; j++) {
514 for (
int i=1; i<=3; i++) {
515 for (
int j=1; j<=3; j++) {
532 for (
int i=1; i<=3; i++) {
533 for (
int j=1; j<=3; j++) {
536 - 2. * divshift_auto %
flat.
con()(i,j) / 3. ;
549 for (
int i=1; i<=3; i++) {
550 for (
int j=1; j<=3; j++) {
561 for (
int i=1; i<=3; i++) {
562 for (
int j=1; j<=3; j++) {
578 for (
int i=1; i<=3; i++) {
579 for (
int j=1; j<=3; j++) {
582 - 2. * divshift_comp %
flat.
con()(i,j) / 3. ;
594 if (
taij_comp(1,2).get_etat() == ETATQCQ) {
595 for (
int i=1; i<=3; i++) {
596 for (
int j=1; j<=3; j++) {
608 for (
int i=1; i<=3; i++) {
609 for (
int j=1; j<=3; j++) {
610 flat_dshift.set(i,j) =
623 - 2. * divshift *
flat.
cov()(i,j) / 3. ;
633 taij_down_rs.annule_domain(0) ;
638 for (
int i=1; i<=3; i++) {
639 for (
int j=1; j<=3; j++) {
641 *
sqrt(1. - 2.*mass/r_are/rr + cc*cc*
pow(mass/r_are/rr,4.))
646 taij_down_bh.std_spectral_base() ;
647 taij_down_bh.annule_domain(0) ;
649 for (
int i=1; i<=3; i++) {
650 for (
int j=1; j<=3; j++) {
651 taij_down_bh.
set(i,j).raccord(1) ;
655 taij_down_bh.inc_dzpuis(2) ;
658 taij_quad_rstot = 0. ;
660 for (
int i=1; i<=3; i++) {
661 for (
int j=1; j<=3; j++) {
662 taij_quad_rstot += taij_down_rs(i,j) %
taij_tot(i,j) ;
668 taij_quad_rsbh = 0. ;
670 for (
int i=1; i<=3; i++) {
671 for (
int j=1; j<=3; j++) {
672 taij_quad_rsbh +=
taij_tot_rs(i,j) % taij_down_bh(i,j) ;
684 * (1. - 2.*mass/r_are/rr + cc*cc*
pow(mass/r_are/rr,4.))
699 taij_quad_auto1 = 0. ;
700 for (
int i=1; i<=3; i++) {
701 for (
int j=1; j<=3; j++) {
711 taij_quad_auto2 = 0. ;
712 for (
int i=1; i<=3; i++) {
713 for (
int j=1; j<=3; j++) {
714 taij_quad_auto2 +=
taij_tot_bh(i,j) % taij_down_rs(i,j) ;
730 for (
int i=1; i<=3; i++) {
731 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.