82 #include "utilitaires.h" 97 double masse = dpsi_un.flux(inf,
hole1.
ff) +
113 double mass = dnn_un.flux(inf,
hole1.
ff) +
128 assert ((orientation_un==0) || (orientation_un==M_PI)) ;
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 ;
203 assert ((orientation_un==0) || (orientation_un==M_PI)) ;
205 assert ((orientation_deux==0) || (orientation_deux==M_PI)) ;
206 int same_orient = (orientation_un == orientation_deux) ? 1 : -1 ;
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()) ;
234 shift_un.set(1).import(beta_un(1)) ;
235 shift_un.set(2).import(beta_un(2)) ;
236 shift_un.set(3).import(beta_un(3)) ;
238 shift_deux.set(1).import(same_orient*beta_deux(1)) ;
239 shift_deux.set(2).import(same_orient*beta_deux(2)) ;
240 shift_deux.set(3).import(beta_deux(3)) ;
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) ;
262 vecteur_un.change_triad (mapping.get_bvect_spher()) ;
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) ;
268 vecteur_deux.change_triad (mapping.get_bvect_spher()) ;
269 Scalar integrant_deux (vecteur_deux(1)) ;
282 double moment = mapping.integrale_surface_infini (-integrant_un
Coord xa
Absolute x coordinate.
double flux(double radius, const Metric &met) const
Computes the flux of the vector accross a sphere r = const.
double omega
Angular velocity.
double ang_mom_hor() const
Calculates the angular momentum of the black hole using the formula at the horizon.
double integrale_surface(const Cmp &ci, double rayon) const
Performs the surface integration of ci on the sphere of radius rayon .
const Valeur & mult_sp() const
Returns applied to *this.
const Base_vect_spher & get_bvect_spher() const
Returns the orthonormal vectorial basis associated with the coordinates of the mapping.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
Flat metric for tensor calculation.
Tensor field of valence 0 (or component of a tensorial field).
double get_ori_x() const
Returns the x coordinate of the origin.
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.
Single_hor hole1
Black hole one.
const Scalar & get_psi4() const
Conformal factor .
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field. ...
virtual void change_triad(const Base_vect &)
Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly.
double get_rot_phi() const
Returns the angle between the x –axis and X –axis.
const Vector & derive_con(const Metric &gam) const
Returns the "contravariant" derivative of *this with respect to some metric , by raising the index of...
Tensor field of valence 1.
virtual void std_spectral_base()
Sets the standard spectal bases of decomposition for each 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...
Sym_tensor aa
Components of the conformal representation of the traceless part of the extrinsic curvature: ...
Sym_tensor ope_killing_conf(const Metric &gam) const
Computes the conformal Killing operator associated with a given metric.
Scalar psi
Conformal factor .
Sym_tensor hh
Deviation metric.
void mult_r_ced()
Multiplication by r in the compactified external domain (CED), the dzpuis flag is not changed...
Vector beta_auto
Shift function .
int get_nzone() const
Returns the number of domains.
const Valeur & mult_st() const
Returns applied to *this.
Scalar n_auto
Lapse function .
Tenseur contract(const Tenseur &, int id1, int id2)
Self contraction of two indices of a Tenseur .
double komar_mass() const
Calculates the Komar mass of the system using : .
Single_hor hole2
Black hole two.
virtual void inc_dzpuis(int inc=1)
Increases by inc units the value of dzpuis and changes accordingly the values in the compactified ext...
Coord ya
Absolute y coordinate.
const Valeur & mult_cp() const
Returns applied to *this.
const Base_vect_cart & get_bvect_cart() const
Returns the Cartesian basis associated with the coordinates (x,y,z) of the mapping, i.e.
Map_af & mp
Affine mapping.
Scalar & set(const Itbl &ind)
Returns the value of a component (read/write version).
virtual void change_triad(const Base_vect &new_triad)
Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly.
Scalar psi_auto
Conformal factor .
Valeur & set_spectral_va()
Returns va (read/write version)
Scalar & set(int)
Read/write access to a component.
double ang_mom_adm() const
Calculates the angular momentum of the black hole.
double radius
Radius of the horizon in LORENE's units.
Metric_flat ff
3 metric flat
const Vector & derive_cov(const Metric &gam) const
Returns the gradient (1-form = covariant vector) of *this
virtual void annule(int l_min, int l_max)
Sets the Tensor to zero in several domains.
double adm_mass() const
Calculates the ADM mass of the system.
Class intended to describe valence-2 symmetric tensors.
const Valeur & get_spectral_va() const
Returns va (read only version)
Scalar nn
Lapse function .
Tensor trace(int ind1, int ind2) const
Trace on two different type indices.