82#include "utilitaires.h"
127 double orientation_un =
hole1.
mp.get_rot_phi() ;
128 assert ((orientation_un==0) || (orientation_un==M_PI)) ;
129 double orientation_deux =
hole2.
mp.get_rot_phi() ;
130 assert ((orientation_deux==0) || (orientation_deux==M_PI)) ;
131 int same_orient = (orientation_un == orientation_deux) ? 1 : -1 ;
146 for (
int i=1 ; i<=3 ; i++)
147 vecteur_un.
set(i) = -ya_un*tkij_un(1, i)+
148 xa_un * tkij_un(2, i) ;
170 for (
int i=1 ; i<=3 ; i++)
171 vecteur_deux.
set(i) = -ya_deux*tkij_deux(1, i)+
172 xa_deux * tkij_deux(2, i) ;
181 return moment_un+same_orient*moment_deux ;
202 double orientation_un =
hole1.
mp.get_rot_phi() ;
203 assert ((orientation_un==0) || (orientation_un==M_PI)) ;
204 double orientation_deux =
hole2.
mp.get_rot_phi() ;
205 assert ((orientation_deux==0) || (orientation_deux==M_PI)) ;
206 int same_orient = (orientation_un == orientation_deux) ? 1 : -1 ;
209 int nzones =
hole1.
mp.get_mg()->get_nzone() ;
210 double* bornes =
new double [nzones+1] ;
212 for (
int i=nzones-1 ; i>0 ; i--) {
213 bornes[i] = courant ;
217 bornes[nzones] = __infinity ;
224 Sym_tensor k_total (mapping, CON, mapping.get_bvect_cart()) ;
226 Vector shift_un (mapping, CON, mapping.get_bvect_cart()) ;
227 Vector shift_deux (mapping, CON, mapping.get_bvect_cart()) ;
238 shift_deux.
set(1).
import(same_orient*beta_deux(1)) ;
239 shift_deux.
set(2).
import(same_orient*beta_deux(2)) ;
242 Vector shift_tot (shift_un+shift_deux) ;
244 shift_tot.
annule(0, nzones-2) ;
250 const Metric_flat& flat0 (mapping.flat_met_cart()) ;
255 for (
int lig=1 ; lig<=3 ; lig++)
256 for (
int col=lig ; col<=3 ; col++)
259 Vector vecteur_un (mapping, CON, mapping.get_bvect_cart()) ;
260 for (
int i=1 ; i<=3 ; i++)
261 vecteur_un.
set(i) = k_total(1, i) ;
263 Scalar integrant_un (vecteur_un(1)) ;
265 Vector vecteur_deux (mapping, CON, mapping.get_bvect_cart()) ;
266 for (
int i=1 ; i<=3 ; i++)
267 vecteur_deux.
set(i) = k_total(2, i) ;
269 Scalar integrant_deux (vecteur_deux(1)) ;
double omega
Angular velocity.
Single_hor hole1
Black hole one.
Single_hor hole2
Black hole two.
double ang_mom_hor() const
Calculates the angular momentum of the black hole using the formula at the horizon.
double adm_mass() const
Calculates the ADM mass of the system.
double ang_mom_adm() const
Calculates the angular momentum of the black hole.
double komar_mass() const
Calculates the Komar mass of the system using : .
double integrale_surface_infini(const Cmp &ci) const
Performs the surface integration of ci at infinity.
double integrale_surface(const Cmp &ci, double rayon) const
Performs the surface integration of ci on the sphere of radius rayon .
virtual double val_r(int l, double xi, double theta, double pphi) const
Returns the value of the radial coordinate r for a given in a given domain.
Flat metric for tensor calculation.
Tensor field of valence 0 (or component of a tensorial field).
const Vector & derive_cov(const Metric &gam) const
Returns the gradient (1-form = covariant vector) of *this.
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field.
Valeur & set_spectral_va()
Returns va (read/write version).
const Valeur & get_spectral_va() const
Returns va (read only version).
void mult_r_ced()
Multiplication by r in the compactified external domain (CED), the dzpuis flag is not changed.
const Vector & derive_con(const Metric &gam) const
Returns the "contravariant" derivative of *this with respect to some metric , by raising the index of...
void import(const Scalar &ci)
Assignment to another Scalar defined on a different mapping.
Scalar psi_auto
Conformal factor .
double radius
Radius of the horizon in LORENE's units.
Vector beta_auto
Shift function .
const Scalar & get_psi4() const
Conformal factor .
Metric_flat ff
3 metric flat
Scalar psi
Conformal factor .
Map_af & mp
Affine mapping.
Scalar n_auto
Lapse function .
Scalar nn
Lapse function .
Sym_tensor hh
Deviation metric.
Sym_tensor aa
Components of the conformal representation of the traceless part of the extrinsic curvature:
Class intended to describe valence-2 symmetric tensors.
const Valeur & mult_st() const
Returns applied to *this.
const Valeur & mult_cp() const
Returns applied to *this.
const Valeur & mult_sp() const
Returns applied to *this.
Tensor field of valence 1.
virtual void std_spectral_base()
Sets the standard spectal bases of decomposition for each component.
double flux(double radius, const Metric &met) const
Computes the flux of the vector accross a sphere r = const.
Sym_tensor ope_killing_conf(const Metric &gam) const
Computes the conformal Killing operator associated with a given metric.
virtual void change_triad(const Base_vect &)
Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly.
Scalar & set(int)
Read/write access to a component.
virtual void dec_dzpuis(int dec=1)
Decreases by dec units the value of dzpuis and changes accordingly the values in the compactified ext...
virtual void change_triad(const Base_vect &new_triad)
Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly.
virtual void annule(int l_min, int l_max)
Sets the Tensor to zero in several domains.
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.
Tensor trace(int ind1, int ind2) const
Trace on two different type indices.
Scalar & set(const Itbl &ind)
Returns the value of a component (read/write version).
Tenseur contract(const Tenseur &, int id1, int id2)
Self contraction of two indices of a Tenseur .