# Lorene::Bhole Class Reference [Stars and black holes]

Black hole. More...

#include <bhole.h>

List of all members.

## Public Member Functions

Bhole (Map_af &mapping)
Standard constructor.
Bhole (const Bhole &)
Constructor by copy.
Bhole (Map_af &, FILE *, bool old=false)
Constructor from a Map_af and a file.
~Bhole ()
Destructor.
void sauve (FILE *fich) const
Write on a file.
void operator= (const Bhole &)
Affectation.
const Map_afget_mp () const
Map_afset_mp ()
double get_rayon () const
Returns the radius of the horizon.
void set_rayon (double ray)
Sets the radius of the horizon to ray .
double get_omega () const
Returns the angular velocity.
void set_omega (double ome)
Sets the angular velocity to ome .
double get_omega_local () const
Returns the local angular velocity.
void set_omega_local (double ome)
Sets the local angular velocity to ome .
double get_rot_state () const
Returns the state of rotation.
void set_rot_state (int rotation)
Returns the state of rotation.
double * get_boost () const
Returns the cartesian components of the boost with respect to the reference frame.
void set_boost (double vx, double vy, double vz)
double get_regul () const
Returns the intensity of the regularisation on .
const Tenseurget_n_auto () const
Returns the part of N generated by the hole.
Cmp return_n_auto () const
Returns the part of N generated by the hole as a cmp.
const Tenseurget_n_comp () const
Returns the part of N generated by the companion hole.
const Tenseurget_n_tot () const
Returns the total N .
const Tenseurget_psi_auto () const
Returns the part of generated by the hole.
Cmp return_psi_auto () const
Returns the part of generated by the hole as a cmp.
const Tenseurget_psi_comp () const
Returns the part of generated by the companion hole.
const Tenseurget_psi_tot () const
Returns the total .
Returns the gradient of N .
const Tenseurget_shift_auto () const
Returns the part of generated by the hole.
Cmp return_shift_auto (int i) const
const Tenseurget_taij_auto () const
Returns the part of generated by the hole.
const Tenseurget_taij_comp () const
Returns the part of generated by the companion hole.
const Tenseurget_taij_tot () const
Returns the total .
const Tenseurget_tkij_tot () const
Returns the total .
const Tenseurget_tkij_auto () const
Returns the part of generated by the hole.
const Cmp get_decouple () const
Returns the function used to construct tkij_auto from tkij_tot .
Cmpset_n_auto ()
Cmpset_psi_auto ()
void set_lapse_hori (double xx)
void fait_n_comp (const Bhole &comp)
Imports the part of N due to the companion hole comp .
void fait_psi_comp (const Bhole &comp)
Imports the part of due to the companion hole comp .
void fait_n_comp (const Et_bin_nsbh &comp)
Imports the part of N due to the companion ns comp .
void fait_psi_comp (const Et_bin_nsbh &comp)
Imports the part of due to the companion ns comp .
void fait_taij_auto ()
Calculates the part of generated by shift_auto .
void regularise_shift (const Tenseur &comp)
Corrects shift_auto in such a way that the total is equal to zero in the horizon, which should ensure the regularity of , using the stored values of the boost and the angular velocity.
double viriel_seul () const
Computes the viriel error, that is the difference between the ADM and the Komar masses, calculated by the asymptotic behaviours of respectively and N .
void init_bhole ()
Sets the values of the fields to :.
void init_kerr (double masse, double moment)
Set the inital values to those of Kerr.
void solve_lapse_seul (double relax)
Solves the equation for N ~:

with the condition that N =0 on the horizon.

void solve_psi_seul (double relax)
Solves the equation for ~:

with the condition that on the horizon, where f is the value of on the horizon at the preceeding step.

void solve_shift_seul (double precis, double relax)
Solves the equation for ~:

with on the horizon, being the boost and .

void regularise_seul ()
Corrects the shift in the innermost shell, so that it remains and that equals zero on the horizon.
void solve_lapse_with_ns (double relax, int bound_nn, double lim_nn)
Solves the equation for N ~:

with the condition that N =0 on the horizon.

void solve_psi_with_ns (double relax)
Solves the equation for ~:

with the condition that on the horizon, where f is the value of on the horizon at the preceeding step.

void solve_shift_with_ns (const Et_bin_nsbh &ns, double precis, double relax, int bound_nn, double lim_nn)
Solves the equation for ~:

with on the horizon, being the boost and .

void equilibrium (const Et_bin_nsbh &ns, double precis, double relax, int bound_nn, double lim_nn)
void update_metric (const Et_bin_nsbh &ns)
void fait_tkij ()
Calculates the total .
double area () const
Computes the area of the throat.
Calculates the ADM mass of the black hole using : .
double masse_komar_seul () const
Calculates the Komar mass of the black hole using : .
double moment_seul_inf () const
Calculates the angular momentum of the black hole using the formula at infinity : where .
double moment_seul_hor () const
Calculates the angular momentum of the black hole using the formula on the horizon : where and H denotes the horizon.
double local_momentum () const
void init_bhole_phi ()
Initiates the black hole for a resolution with .
void init_bhole_seul ()
Initiates for a single the black hole.

## Protected Attributes

Map_afmp
Affine mapping.
double rayon
Radius of the horizon in LORENE's units.
double omega
Angular velocity in LORENE's units.
double omega_local
local angular velocity
int rot_state
State of rotation.
double lapse_hori
double * boost
Lapse on the horizon.
double regul
Intensity of the correction on the shift vector.
Tenseur n_auto
Part of N generated by the hole.
Tenseur n_comp
Part of N generated by the companion hole.
Tenseur n_tot
Total N .
Tenseur psi_auto
Part of generated by the hole.
Tenseur psi_comp
Part of generated by the companion hole.
Tenseur psi_tot
Total .
Tenseur shift_auto
Part of generated by the hole.
Tenseur_sym taij_auto
Part of generated by the hole.
Tenseur_sym taij_comp
Part of generated by the companion hole.
Tenseur_sym taij_tot
Total , which must be zero on the horizon of the regularisation on the shift has been done.
Tenseur_sym tkij_auto
Auto .
Tenseur_sym tkij_tot
Total .
Cmp decouple
Function used to construct the part of generated by the hole from the total .

## Friends

class Bhole_binaire
Binary black hole system.
class Bin_ns_bh
Binary NS-BH.

## Detailed Description

Black hole.

()

This class represents a black hole in a comformaly flat approximation. It is defined with an affine mapping with a nucleus, not used in calculations, and must have, at least two shells. The horizon (i.e. the surface where N=0 ) is located at the inner boudary of the innermost shell (i.e. the domain number 1).

It can described either :

• an isolated black hole . The fields of the companion and the total fields being zero.
• a black hole in a binary system . The boost having no direct meaning in this case.

The tensor is the the extrinsic curavature tensor with the conformal factor extracted.

The tensor denotes , that is .

Definition at line 268 of file bhole.h.

## Constructor & Destructor Documentation

 Lorene::Bhole::Bhole ( Map_af & mapping )

Standard constructor.

All the fields are set to zero, except rayon , which value is deducted from the mapping

Definition at line 180 of file bhole.C.

References boost.

 Lorene::Bhole::Bhole ( const Bhole & source )

Constructor by copy.

Definition at line 200 of file bhole.C.

References boost.

 Lorene::Bhole::Bhole ( Map_af & mpi, FILE * fich, bool old = false )

Constructor from a Map_af and a file.

Definition at line 499 of file bhole.C.

 Lorene::Bhole::~Bhole ( )

Destructor.

Definition at line 216 of file bhole.C.

References boost.

## Member Function Documentation

 double Lorene::Bhole::area ( ) const

Computes the area of the throat.

Definition at line 548 of file bhole.C.

 void Lorene::Bhole::fait_n_comp ( const Et_bin_nsbh & comp )

Imports the part of N due to the companion ns comp .

The total N is then calculated.

It also imports the gradient of N and construct the total .

Definition at line 310 of file bhole.C.

 void Lorene::Bhole::fait_n_comp ( const Bhole & comp )

Imports the part of N due to the companion hole comp .

The total N is then calculated.

It also imports the gradient of N and construct the total .

Definition at line 257 of file bhole.C.

 void Lorene::Bhole::fait_psi_comp ( const Et_bin_nsbh & comp )

Imports the part of due to the companion ns comp .

The total is then calculated.

It also imports the gradient of and construct the total .

Definition at line 347 of file bhole.C.

 void Lorene::Bhole::fait_psi_comp ( const Bhole & comp )

Imports the part of due to the companion hole comp .

The total is then calculated.

It also imports the gradient of and construct the total .

Definition at line 283 of file bhole.C.

 void Lorene::Bhole::fait_taij_auto ( )

Calculates the part of generated by shift_auto .

Definition at line 382 of file bhole.C.

 void Lorene::Bhole::fait_tkij ( )

Calculates the total .

The regularisation of the shift must be done before to ensure regularity.

Definition at line 329 of file bhole_pseudo_kerr.C.

 double* Lorene::Bhole::get_boost ( ) const [inline]

Returns the cartesian components of the boost with respect to the reference frame.

Definition at line 382 of file bhole.h.

References boost.

 const Cmp Lorene::Bhole::get_decouple ( ) const [inline]

Returns the function used to construct tkij_auto from tkij_tot .

Definition at line 468 of file bhole.h.

References decouple.

 const Tenseur& Lorene::Bhole::get_grad_n_tot ( ) const [inline]

Returns the gradient of N .

Definition at line 434 of file bhole.h.

 const Tenseur& Lorene::Bhole::get_grad_psi_tot ( ) const [inline]

Definition at line 429 of file bhole.h.

 const Map_af& Lorene::Bhole::get_mp ( ) const [inline]

Definition at line 339 of file bhole.h.

References mp.

 const Tenseur& Lorene::Bhole::get_n_auto ( ) const [inline]

Returns the part of N generated by the hole.

Definition at line 395 of file bhole.h.

References n_auto.

 const Tenseur& Lorene::Bhole::get_n_comp ( ) const [inline]

Returns the part of N generated by the companion hole.

Definition at line 403 of file bhole.h.

References n_comp.

 const Tenseur& Lorene::Bhole::get_n_tot ( ) const [inline]

Returns the total N .

Definition at line 407 of file bhole.h.

References n_tot.

 double Lorene::Bhole::get_omega ( ) const [inline]

Returns the angular velocity.

Definition at line 357 of file bhole.h.

References omega.

 double Lorene::Bhole::get_omega_local ( ) const [inline]

Returns the local angular velocity.

Definition at line 365 of file bhole.h.

References omega_local.

 const Tenseur& Lorene::Bhole::get_psi_auto ( ) const [inline]

Returns the part of generated by the hole.

Definition at line 412 of file bhole.h.

References psi_auto.

 const Tenseur& Lorene::Bhole::get_psi_comp ( ) const [inline]

Returns the part of generated by the companion hole.

Definition at line 420 of file bhole.h.

References psi_comp.

 const Tenseur& Lorene::Bhole::get_psi_tot ( ) const [inline]

Returns the total .

Definition at line 424 of file bhole.h.

References psi_tot.

 double Lorene::Bhole::get_rayon ( ) const [inline]

Returns the radius of the horizon.

Definition at line 347 of file bhole.h.

References rayon.

 double Lorene::Bhole::get_regul ( ) const [inline]

Returns the intensity of the regularisation on .

Definition at line 390 of file bhole.h.

References regul.

 double Lorene::Bhole::get_rot_state ( ) const [inline]

Returns the state of rotation.

Definition at line 373 of file bhole.h.

References rot_state.

 const Tenseur& Lorene::Bhole::get_shift_auto ( ) const [inline]

Returns the part of generated by the hole.

Definition at line 440 of file bhole.h.

References shift_auto.

 const Tenseur& Lorene::Bhole::get_taij_auto ( ) const [inline]

Returns the part of generated by the hole.

Definition at line 447 of file bhole.h.

References taij_auto.

 const Tenseur& Lorene::Bhole::get_taij_comp ( ) const [inline]

Returns the part of generated by the companion hole.

Definition at line 451 of file bhole.h.

References taij_comp.

 const Tenseur& Lorene::Bhole::get_taij_tot ( ) const [inline]

Returns the total .

Definition at line 455 of file bhole.h.

References taij_tot.

 const Tenseur& Lorene::Bhole::get_tkij_auto ( ) const [inline]

Returns the part of generated by the hole.

Definition at line 464 of file bhole.h.

References tkij_auto.

 const Tenseur& Lorene::Bhole::get_tkij_tot ( ) const [inline]

Returns the total .

Definition at line 460 of file bhole.h.

References tkij_tot.

 void Lorene::Bhole::init_bhole ( )

Sets the values of the fields to :.

• n_auto
• n_comp
• psi_auto
• psi_comp

a being the radius of the hole, the other fields being set to zero.

Definition at line 412 of file bhole.C.

 void Lorene::Bhole::init_bhole_phi ( )

Initiates the black hole for a resolution with .

Definition at line 78 of file bhole_solve_phi.C.

 void Lorene::Bhole::init_bhole_seul ( )

Initiates for a single the black hole.

WARNING It supposes that the boost is zero and should only be used for an isolated black hole..

Definition at line 448 of file bhole.C.

 void Lorene::Bhole::init_kerr ( double masse, double moment )

Set the inital values to those of Kerr.

Parameters:
 masse [input] : ADM mass in LORENE's units. moment [input] : , in LORENE's units.

The radius of *this is supposed to be equal to .

The fields have then the following values~:

• .
• {itemize} where~:
• .
• is equal to rayon .

Definition at line 64 of file bhole_init_kerr.C.

Calculates the ADM mass of the black hole using : .

WARNING this should only be used for an isolated black hole.

Definition at line 347 of file bhole_pseudo_kerr.C.

References Lorene::Map_af::integrale_surface_infini(), mp, and psi_auto.

 double Lorene::Bhole::masse_komar_seul ( ) const

Calculates the Komar mass of the black hole using : .

WARNING this should only be used for an isolated black hole.

Definition at line 355 of file bhole_pseudo_kerr.C.

References Lorene::Map_af::integrale_surface_infini(), mp, and n_auto.

 double Lorene::Bhole::moment_seul_hor ( ) const

Calculates the angular momentum of the black hole using the formula on the horizon : where and H denotes the horizon.

WARNING It supposes that the boost is zero and should only be used for an isolated black hole..

Definition at line 413 of file bhole_pseudo_kerr.C.

 double Lorene::Bhole::moment_seul_inf ( ) const

Calculates the angular momentum of the black hole using the formula at infinity : where .

WARNING It supposes that the boost is zero and should only be used for an isolated black hole..

Definition at line 366 of file bhole_pseudo_kerr.C.

 void Lorene::Bhole::operator= ( const Bhole & source )

Affectation.

Definition at line 221 of file bhole.C.

 void Lorene::Bhole::regularise_seul ( )

Corrects the shift in the innermost shell, so that it remains and that equals zero on the horizon.

regul is then, the relative difference between the shift before and after the regularisation.

WARNING this should only be used for an isolated black hole.

Definition at line 257 of file bhole_pseudo_kerr.C.

 void Lorene::Bhole::regularise_shift ( const Tenseur & comp )

Corrects shift_auto in such a way that the total is equal to zero in the horizon, which should ensure the regularity of , using the stored values of the boost and the angular velocity.

WARNING : this should only be used for a black hole in a binary system Bhole_binaire or Bin_ns_bh .

Parameters:
 comp [input] : the part of generated by the companion hole.

Definition at line 406 of file bhole.C.

References omega, omega_local, regul, and shift_auto.

 Cmp Lorene::Bhole::return_n_auto ( ) const [inline]

Returns the part of N generated by the hole as a cmp.

Definition at line 399 of file bhole.h.

References n_auto.

 Cmp Lorene::Bhole::return_psi_auto ( ) const [inline]

Returns the part of generated by the hole as a cmp.

Definition at line 416 of file bhole.h.

References psi_auto.

 void Lorene::Bhole::sauve ( FILE * fich ) const

Write on a file.

Definition at line 485 of file bhole.C.

 Map_af& Lorene::Bhole::set_mp ( )  [inline]

Definition at line 342 of file bhole.h.

References mp.

 void Lorene::Bhole::set_omega ( double ome )  [inline]

Sets the angular velocity to ome .

Definition at line 361 of file bhole.h.

References omega.

 void Lorene::Bhole::set_omega_local ( double ome )  [inline]

Sets the local angular velocity to ome .

Definition at line 369 of file bhole.h.

References omega_local.

 void Lorene::Bhole::set_rayon ( double ray )  [inline]

Sets the radius of the horizon to ray .

Definition at line 352 of file bhole.h.

References rayon.

 void Lorene::Bhole::set_rot_state ( int rotation )  [inline]

Returns the state of rotation.

Definition at line 377 of file bhole.h.

References rot_state.

 void Lorene::Bhole::solve_lapse_seul ( double relax )

Solves the equation for N ~:

with the condition that N =0 on the horizon.

Parameters:
 relax [input] : the relaxation parameter.

WARNING this should only be used for an isolated black hole.

Definition at line 100 of file bhole_pseudo_kerr.C.

 void Lorene::Bhole::solve_lapse_with_ns ( double relax, int bound_nn, double lim_nn )

Solves the equation for N ~:

with the condition that N =0 on the horizon.

Parameters:
 relax [input] : the relaxation parameter.

WARNING this should only be used for BH in a Bin_ns_bh .

Definition at line 92 of file bhole_with_ns.C.

 void Lorene::Bhole::solve_psi_seul ( double relax )

Solves the equation for ~:

with the condition that on the horizon, where f is the value of on the horizon at the preceeding step.

Parameters:
 relax [input] : the relaxation parameter.

WARNING this should only be used for an isolated black hole.

Definition at line 138 of file bhole_pseudo_kerr.C.

 void Lorene::Bhole::solve_psi_with_ns ( double relax )

Solves the equation for ~:

with the condition that on the horizon, where f is the value of on the horizon at the preceeding step.

Parameters:
 relax [input] : the relaxation parameter.

WARNING this should only be used for BH in a Bin_ns_bh .

Definition at line 156 of file bhole_with_ns.C.

 void Lorene::Bhole::solve_shift_seul ( double precis, double relax )

Solves the equation for ~:

with on the horizon, being the boost and .

The solution is solved using Oohara-scheme and an iteration.

Parameters:
 precis [input] : parameter for the Oohara-solver which is an iterative scheme. relax [input] : the relaxation parameter.

WARNING this should only be used for an isolated black hole.

Definition at line 179 of file bhole_pseudo_kerr.C.

 void Lorene::Bhole::solve_shift_with_ns ( const Et_bin_nsbh & ns, double precis, double relax, int bound_nn, double lim_nn )

Solves the equation for ~:

with on the horizon, being the boost and .

The solution is solved using Oohara-scheme and an iteration.

Parameters:
 ns [input] : the companion. precis [input] : parameter for the Oohara-solver which is an iterative scheme. relax [input] : the relaxation parameter.

WARNING this should only be used for BH in a Bin_ns_bh .

Definition at line 225 of file bhole_with_ns.C.

 double Lorene::Bhole::viriel_seul ( ) const

Computes the viriel error, that is the difference between the ADM and the Komar masses, calculated by the asymptotic behaviours of respectively and N .

WARNING this should only be used for an isolated black hole.

Definition at line 82 of file bhole_pseudo_viriel.C.

References Lorene::Map::get_mg(), Lorene::Mg3d::get_nzone(), mp, n_auto, and psi_auto.

## Friends And Related Function Documentation

 friend class Bhole_binaire [friend]

Binary black hole system.

Definition at line 747 of file bhole.h.

 friend class Bin_ns_bh [friend]

Binary NS-BH.

Definition at line 748 of file bhole.h.

## Member Data Documentation

 double* Lorene::Bhole::boost [protected]

Lapse on the horizon.

Cartesian components of the boost in the reference frame.

Definition at line 283 of file bhole.h.

 Cmp Lorene::Bhole::decouple [protected]

Function used to construct the part of generated by the hole from the total .

Only used for a binary system.

Mainly this Cmp is 1 around the hole and 0 around the companion and the sum of decouple for the hole and his companion is 1 everywhere.

Definition at line 318 of file bhole.h.

 Tenseur Lorene::Bhole::grad_n_tot [protected]

Definition at line 294 of file bhole.h.

 Tenseur Lorene::Bhole::grad_psi_tot [protected]

Definition at line 295 of file bhole.h.

 Map_af& Lorene::Bhole::mp [protected]

Affine mapping.

Definition at line 273 of file bhole.h.

 Tenseur Lorene::Bhole::n_auto [protected]

Part of N generated by the hole.

Definition at line 286 of file bhole.h.

 Tenseur Lorene::Bhole::n_comp [protected]

Part of N generated by the companion hole.

Definition at line 287 of file bhole.h.

 Tenseur Lorene::Bhole::n_tot [protected]

Total N .

Definition at line 288 of file bhole.h.

 double Lorene::Bhole::omega [protected]

Angular velocity in LORENE's units.

Definition at line 275 of file bhole.h.

 double Lorene::Bhole::omega_local [protected]

local angular velocity

Definition at line 276 of file bhole.h.

 Tenseur Lorene::Bhole::psi_auto [protected]

Part of generated by the hole.

Definition at line 290 of file bhole.h.

 Tenseur Lorene::Bhole::psi_comp [protected]

Part of generated by the companion hole.

Definition at line 291 of file bhole.h.

 Tenseur Lorene::Bhole::psi_tot [protected]

Total .

Definition at line 292 of file bhole.h.

 double Lorene::Bhole::rayon [protected]

Radius of the horizon in LORENE's units.

Definition at line 274 of file bhole.h.

 double Lorene::Bhole::regul [protected]

Intensity of the correction on the shift vector.

Definition at line 284 of file bhole.h.

 int Lorene::Bhole::rot_state [protected]

State of rotation.

Definition at line 277 of file bhole.h.

 Tenseur Lorene::Bhole::shift_auto [protected]

Part of generated by the hole.

Definition at line 297 of file bhole.h.

 Tenseur_sym Lorene::Bhole::taij_auto [protected]

Part of generated by the hole.

Definition at line 299 of file bhole.h.

 Tenseur_sym Lorene::Bhole::taij_comp [protected]

Part of generated by the companion hole.

Definition at line 300 of file bhole.h.

 Tenseur_sym Lorene::Bhole::taij_tot [protected]

Total , which must be zero on the horizon of the regularisation on the shift has been done.

Definition at line 305 of file bhole.h.

 Tenseur_sym Lorene::Bhole::tkij_auto [protected]

Auto .

Definition at line 307 of file bhole.h.

 Tenseur_sym Lorene::Bhole::tkij_tot [protected]

Total .

Definition at line 308 of file bhole.h.

The documentation for this class was generated from the following files:

Generated on 7 Dec 2019 for LORENE by  1.6.1