60 #include "blackhole.h" 61 #include "utilitaires.h" 110 for (
int i=1; i<=3; i++) {
111 for (
int j=1; j<=3; j++) {
112 flat_taij.set(i,j) =
shift_rs(j).deriv(i)
114 - 2. * divshift *
flat.
con()(i,j) / 3. ;
121 lapse_bh = 1. /
sqrt(1. + 2. * mass / rr) ;
129 for (
int i=1; i<=3; i++) {
130 for (
int j=1; j<=3; j++) {
131 curv_taij.set(i,j) = -2. * lapse_bh * lapse_bh * mass
133 - 2. * ll(i) * ll(j) * divshift / 3.) / rr ;
142 for (
int i=1; i<=3; i++) {
143 for (
int j=1; j<=3; j++) {
144 resi_taij.set(i,j) = 2. * lapse_bh * lapse_bh * mass
147 - lapse_bh*lapse_bh*(9.+14.*mass/rr)*ll(i)*ll(j) )
155 resi_taij.inc_dzpuis(2) ;
158 * (flat_taij + curv_taij + resi_taij) /
lapconf ;
166 for (
int i=1; i<=3; i++) {
167 for (
int j=1; j<=3; j++) {
168 taij_bh.set(i,j) = 2.*
pow(lapse_bh,6.)*mass*(2.+3.*mass/rr)
169 *( (1.+2.*mass/rr) *
flat.
con()(i,j)
170 - (3.+2.*mass/rr) * ll(i) * ll(j) )
176 taij_bh.inc_dzpuis(2) ;
177 taij_bh.annule_domain(0) ;
218 for (
int i=1; i<=3; i++) {
219 for (
int j=1; j<=3; j++) {
226 - 2. * divshift *
flat.
cov()(i,j) / 3. ;
235 for (
int i=1; i<=3; i++) {
236 for (
int j=1; j<=3; j++) {
237 curv_dshift.set(i,j) = 2. * mass
238 *( ll(j) *( ll(1)*(
shift_rs(1).deriv(i))
241 + ll(i) *( ll(1)*(
shift_rs(1).deriv(j))
244 - 2. * divshift * ll(i) * ll(j) / 3. ) / rr ;
253 for (
int i=1; i<=3; i++) {
254 for (
int j=1; j<=3; j++) {
255 tmp1.set(i,j) = 2. * mass
256 *(ll(j)*( (
flat.
cov()(i,1)+2.*mass*ll(i)*ll(1)/rr)
258 + (
flat.
cov()(i,2)+2.*mass*ll(i)*ll(2)/rr)
260 + (
flat.
cov()(i,3)+2.*mass*ll(i)*ll(3)/rr)
263 + ll(i)*( (
flat.
cov()(j,1)+2.*mass*ll(j)*ll(1)/rr)
265 + (
flat.
cov()(j,2)+2.*mass*ll(j)*ll(2)/rr)
267 + (
flat.
cov()(j,3)+2.*mass*ll(j)*ll(3)/rr)
278 for (
int i=1; i<=3; i++) {
279 for (
int j=1; j<=3; j++) {
280 tmp2.set(i,j) = 2. * mass * lapse_bh * lapse_bh
283 - (9.+28.*mass/rr+24.*mass*mass/rr/rr)*ll(i)*ll(j))
294 * (flat_dshift + curv_dshift + tmp1 + tmp2) /
lapconf ;
297 taij_rs_down.annule_domain(0) ;
302 for (
int i=1; i<=3; i++) {
303 for (
int j=1; j<=3; j++) {
304 taij_bh_down.set(i,j) = 2.*
pow(lapse_bh,4.)*mass*(2.+3.*mass/rr)
311 taij_bh_down.inc_dzpuis(2) ;
312 taij_bh_down.annule_domain(0) ;
343 taij_quad_rsrs = 0. ;
345 for (
int i=1; i<=3; i++) {
346 for (
int j=1; j<=3; j++) {
347 taij_quad_rsrs += taij_rs_down(i,j) *
taij_rs(i,j) ;
353 taij_quad_rsbh1 = 0. ;
355 for (
int i=1; i<=3; i++) {
356 for (
int j=1; j<=3; j++) {
357 taij_quad_rsbh1 += taij_rs_down(i,j) * taij_bh(i,j) ;
363 taij_quad_rsbh2 = 0. ;
365 for (
int i=1; i<=3; i++) {
366 for (
int j=1; j<=3; j++) {
367 taij_quad_rsbh2 += taij_bh_down(i,j) *
taij_rs(i,j) ;
372 taij_quad_rs = taij_quad_rsrs + taij_quad_rsbh1 + taij_quad_rsbh2 ;
376 taij_quad_bh = 8.*
pow(lapse_bh,10.)*mass*mass*(2.+3.*mass/rr)
410 for (
int i=1; i<=3; i++) {
411 for (
int j=1; j<=3; j++) {
412 flat_taij.set(i,j) =
shift(j).deriv(i) +
shift(i).deriv(j)
413 - 2. * divshift *
flat.
con()(i,j) / 3. ;
431 for (
int i=1; i<=3; i++) {
432 for (
int j=1; j<=3; j++) {
433 flat_dshift.set(i,j) =
flat.
cov()(j,1)*(
shift(1).deriv(i))
439 - 2. * divshift *
flat.
cov()(i,j) / 3. ;
446 for (
int i=1; i<=3; i++) {
447 for (
int j=1; j<=3; j++) {
448 taij_down.set(i,j) = 0.5 *
pow(
confo, 7.) * flat_dshift(i,j)
454 taij_down.annule_domain(0) ;
458 for (
int i=1; i<=3; i++) {
459 for (
int j=1; j<=3; j++) {
Map & mp
Mapping associated with the black hole.
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 taij_quad
Part of the scalar generated by .
Cmp sqrt(const Cmp &)
Square root.
Sym_tensor taij_rs
Part of the extrinsic curvature tensor.
void extr_curv_bh()
Computes taij , taij_quad from shift , lapse , confo .
double mass_bh
Gravitational mass of BH.
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
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field. ...
Scalar taij_quad_rs
Part of the scalar.
Tensor field of valence 1.
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 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...
Vector shift_rs
Part of the shift vector from the numerical computation.
Cmp pow(const Cmp &, int)
Power .
virtual const Sym_tensor & cov() const
Read-only access to the covariant representation.
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).
Metric_flat flat
Flat metric defined on the mapping (Spherical components with respect to the mapping of the black hol...
Vector shift
Shift vector generated by the black hole.
Sym_tensor taij
Trace of the extrinsic curvature.
Scalar lapconf
A function (lapse function * conformal factor) lapconf generated by the black hole.
virtual void std_spectral_base()
Sets the standard spectal bases of decomposition for each component.
Class intended to describe valence-2 symmetric tensors.
Coord r
r coordinate centered on the grid