28char 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 $" ;
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) )
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 ;
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.
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))
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. ;
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.))
649 for (
int i=1; i<=3; i++) {
650 for (
int j=1; j<=3; j++) {
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++) {
const Scalar r_coord(bool neumann, bool first) const
Expresses the areal radial coordinate by that in spatially isotropic coordinates.
Map & mp
Mapping associated with the black hole.
Metric_flat flat
Flat metric defined on the mapping (Spherical components with respect to the mapping of the black hol...
bool kerrschild
true for a Kerr-Schild background, false for a conformally flat background
double mass_bh
Gravitational mass of BH.
Sym_tensor taij_tot_bh
Part of the extrinsic curvature tensor from the analytic background.
Scalar lapconf_auto
Lapconf function generated by the black hole.
Sym_tensor taij_comp
Part of the extrinsic curvature tensor generated by the companion star.
Sym_tensor taij_auto
Part of the extrinsic curvature tensor generated by the black hole.
Sym_tensor taij_tot_rs
Part of the extrinsic curvature tensor from the numerical computation.
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.
virtual void del_deriv() const
Deletes all the derived quantities.
bool bc_lapconf_fs
true for the first type BC for the lapconf function, false for the second type BH
Scalar taij_quad_tot_rot
Part of the scalar from the rotation shift vector.
Scalar taij_quad_tot
Total scalar generated by .
Sym_tensor taij_tot_rot
Part of the extrinsic curvature tensor from the rotation shift vector.
Sym_tensor taij_tot
Total extrinsic curvature tensor generated by shift_tot , lapse_tot , and confo_tot .
Scalar confo_comp
Conformal factor generated by the companion star.
Scalar lapconf_comp
Lapconf function generated by the companion star.
Scalar lapconf_auto_bh
Part of the lapconf function from the analytic background.
Scalar taij_quad_comp
Part of the scalar from the companion star.
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 .
bool bc_lapconf_nd
true for the Neumann type BC for the lapconf function, false for the Dirichlet type BH
Scalar lapconf_tot
Total lapconf function.
Tensor d_shift_comp
Derivative of the shift vector generated by the companion star.
Vector shift_comp
Shift vector generated by the companion star.
Scalar confo_tot
Total conformal factor.
Sym_tensor taij_auto_rs
Part of the extrinsic curvature tensor numericalty computed for the black hole.
Scalar taij_quad_tot_rs
Part of the scalar from the numerical computation.
Scalar taij_quad_tot_bh
Part of the scalar from the analytic background.
const Base_vect_cart & get_bvect_cart() const
Returns the Cartesian basis associated with the coordinates (x,y,z) of the mapping,...
Coord r
r coordinate centered on the grid
double get_ori_y() const
Returns the y coordinate of the origin.
double get_ori_x() const
Returns the x coordinate of the origin.
virtual const Sym_tensor & con() const
Read-only access to the contravariant representation.
virtual const Sym_tensor & cov() const
Read-only access to the covariant representation.
Tensor field of valence 0 (or component of a tensorial field).
void raccord(int n)
Performs the matching of the nucleus with respect to the first shell.
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field.
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...
int get_etat() const
Returns the logical state ETATNONDEF (undefined), ETATZERO (null) or ETATQCQ (ordinary).
Class intended to describe valence-2 symmetric tensors.
Tensor field of valence 1.
virtual void std_spectral_base()
Sets the standard spectal bases of decomposition for each component.
Scalar & set(int)
Read/write access to a component.
Cmp sqrt(const Cmp &)
Square root.
Cmp pow(const Cmp &, int)
Power .
virtual void inc_dzpuis(int inc=1)
Increases by inc units the value of dzpuis and changes accordingly the values in the compactified ext...
void annule_domain(int l)
Sets the Tensor to zero in a given domain.
virtual void set_etat_qcq()
Sets the logical state of all components to ETATQCQ (ordinary state).
Scalar & set(const Itbl &ind)
Returns the value of a component (read/write version).
virtual void std_spectral_base()
Sets the standard spectal bases of decomposition for each component.
Standard units of space, time and mass.