Lorene::Bhole_binaire Class Reference
Stars and black holes

Binary black holes system. More...

`#include <bhole.h>`

## Public Member Functions

| Bhole_binaire (Map_af &mp1, Map_af &mp2)
| Standard constructor.
| Bhole_binaire (const Bhole_binaire &)
| Copy.
| ~Bhole_binaire ()
| Destructor.
void | operator= (const Bhole_binaire &)
| Affectation operator.
Bhole & | set (int i)
| Read/write of a component of the system.
void | set_omega (double ome)
| Sets the orbital velocity to `ome`.
void | set_pos_axe (double)
const Bhole & | operator() (int i) const
| Read only of a component of the system.
double | get_omega () const
| Returns the angular velocity.
void | init_bhole_binaire ()
| Initialisation of the system.
double | viriel () 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 | solve_lapse (double precis, double relax)
| Solves the equation for the lapse~:
void | solve_psi (double precis, double relax)
| Solves the equation for the conformal factor~:
void | solve_shift (double precis, double relax)
| Solves the equation for the shift, using the Oohara-Nakarmure scheme~:
void | fait_tkij ()
| Calculation af the extrinsic curvature tensor.
void | fait_decouple ()
| Calculates {tt decouple} which is used to obtain `tkij_auto` by the formula : `tkij_auto` = `decouple` * `tkij_tot` .
void | set_statiques (double precis, double relax)
| Initialize the systeme to Misner Lindquist solution, that is solving for N and in the case .
void | coal (double precis, double relax, int nbre_ome, double search_ome, double m1, double m2, const int sortie=0)
| Solves the equation for a particular angular velocity, the systeme being initialized to Misner-Lindquist solution.
double | adm_systeme () const
| Calculates the ADM mass of the system using : .
double | komar_systeme () const
| Calculates the Komar mass of the system using : .
double | moment_systeme_inf ()
| Calculates the angular momentum of the black hole using the formula at infinity : where .
double | moment_systeme_hor () const
| Calculates the angular momentum of the black hole using the formula on the horizon : where and denotes the horizon of the hole a .
double | distance_propre (const int nr=65) const
| Calculation of the proper distance between the two spheres of inversion, along the x axis.
Tbl | linear_momentum_systeme_inf () const
void | solve_phi (double precision, double relax)
| Solve the equation for the logarithm of .
void | init_phi ()
| Initiates the system for a resolution using the logarithm of .

## Private Attributes

Bhole | hole1
| Black hole one.
Bhole | hole2
| Black hole two.
Bhole * | holes [2]
| Array on the black holes.
double | pos_axe
double | omega
| Position of the axis of rotation.

## Detailed Description

Binary black holes system.

()

This class is intended for dealing with binary black holes configurations in the conformaly flat approximation.

Definition at line 757 of file bhole.h.

## Constructor & Destructor Documentation

## Bhole_binaire() [1/2]

Lorene::Bhole_binaire::Bhole_binaire | ( | Map_af & | mp1,
|  | Map_af & | mp2 )

Standard constructor.

Definition at line 211 of file bhole_binaire.C.

References Lorene::get_ori_x(), hole1, hole2, holes, and omega.

## Bhole_binaire() [2/2]

Lorene::Bhole_binaire::Bhole_binaire | ( | const Bhole_binaire & | source | ) |

Copy.

Definition at line 219 of file bhole_binaire.C.

References Bhole_binaire(), hole1, hole2, holes, and omega.

## ~Bhole_binaire()

Lorene::Bhole_binaire::~Bhole_binaire | ( |  | ) |

Destructor.

Definition at line 226 of file bhole_binaire.C.

## Member Function Documentation

## adm_systeme()

double Lorene::Bhole_binaire::adm_systeme | ( |  | ) | const

Calculates the ADM mass of the system using : .

Definition at line 86 of file bhole_glob.C.

References hole1, and hole2.

## coal()

void Lorene::Bhole_binaire::coal | ( | double | precis,
|  | double | relax,
|  | int | nbre_ome,
|  | double | search_ome,
|  | double | m1,
|  | double | m2,
|  | const int | sortie = 0 )

Solves the equation for a particular angular velocity, the systeme being initialized to Misner-Lindquist solution.

Parameters

  precis | [input] : precision for the convergence (on ).
  relax | [input] : relaxation parameter.
  nbre_ome | [input] : number of intermediates velocities to go from 0 to `omega` , typically 10.
  sortie | [input] : flag for the output on files (0 no output files).

Returns
  : the virial error.

Definition at line 157 of file bhole_coal.C.

References Lorene::diffrelmax(), fait_tkij(), hole1, hole2, omega, Lorene::pow(), set_omega(), solve_lapse(), solve_psi(), solve_shift(), Lorene::sqrt(), and viriel().

## distance_propre()

double Lorene::Bhole_binaire::distance_propre | ( | const int | nr = 65 | ) | const

Calculation of the proper distance between the two spheres of inversion, along the x axis.

Parameters

  nr | [input] : number of points used for the calculation.

Definition at line 262 of file bhole_glob.C.

References Lorene::cos(), hole1, hole2, and Lorene::pow().

## fait_decouple()

void Lorene::Bhole_binaire::fait_decouple | ( |  | ) |

Calculates {tt decouple} which is used to obtain `tkij_auto` by the formula : `tkij_auto` = `decouple` * `tkij_tot` .

(see the membre {tt Cmp decouple for more precisions about its value).

Definition at line 314 of file bhole_kij.C.

References Lorene::Cmp::allocate_all(), Lorene::cos(), hole1, hole2, Lorene::phi, Lorene::pow(), Lorene::Cmp::set(), Lorene::sin(), Lorene::Cmp::std_base_scal(), and Lorene::Cmp::val_point().

## fait_tkij()

void Lorene::Bhole_binaire::fait_tkij | ( |  | ) |

Calculation af the extrinsic curvature tensor.

The regularisation of the shifts must have been done. All the contributions of are then calculated and the total tensor must be zero on both horizons. The computation is done to avoid every singularity close to the horizons (division by N =0) for it is done in the coefficient space in the two regions surrounding the holes.

Definition at line 88 of file bhole_kij.C.

References Lorene::Cmp::dec2_dzpuis(), Lorene::Tenseur::dec2_dzpuis(), hole1, hole2, Lorene::Cmp::inc2_dzpuis(), Lorene::phi, Lorene::Cmp::raccord(), Lorene::Cmp::set(), and Lorene::Cmp::val_point().

## get_omega()

double Lorene::Bhole_binaire::get_omega | ( |  | ) | const

inline

Returns the angular velocity.

Definition at line 808 of file bhole.h.

References omega.

## init_bhole_binaire()

void Lorene::Bhole_binaire::init_bhole_binaire | ( |  | ) |

Initialisation of the system.

Each hole is set close to a Schwarzschild one and the parts of the fields generated by the companion are calculated.

The angular velocity is set to zero.

Definition at line 239 of file bhole_binaire.C.

References fait_decouple(), hole1, hole2, and set_omega().

## init_phi()

void Lorene::Bhole_binaire::init_phi | ( |  | ) |

Initiates the system for a resolution using the logarithm of .

Definition at line 155 of file bhole_solve_phi.C.

References hole1, hole2, and set_omega().

## komar_systeme()

double Lorene::Bhole_binaire::komar_systeme | ( |  | ) | const

Calculates the Komar mass of the system using : .

Definition at line 97 of file bhole_glob.C.

References hole1, and hole2.

## linear_momentum_systeme_inf()

Tbl Lorene::Bhole_binaire::linear_momentum_systeme_inf | ( |  | ) | const

Definition at line 319 of file bhole_glob.C.

## moment_systeme_hor()

double Lorene::Bhole_binaire::moment_systeme_hor | ( |  | ) | const

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

Definition at line 108 of file bhole_glob.C.

References Lorene::Tenseur::annule(), Lorene::Tenseur::change_triad(), hole1, hole2, omega, Lorene::pow(), Lorene::Tenseur::set(), Lorene::Tenseur::set_etat_qcq(), Lorene::Tenseur::set_std_base(), and Lorene::Cmp::std_base_scal().

## moment_systeme_inf()

double Lorene::Bhole_binaire::moment_systeme_inf | ( |  | ) |

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

Definition at line 170 of file bhole_glob.C.

References Lorene::Tenseur::annule(), Lorene::Tenseur::change_triad(), Lorene::Tenseur::dec2_dzpuis(), Lorene::Tenseur::gradient(), hole1, hole2, Lorene::Cmp::import_asymy(), Lorene::Cmp::import_symy(), Lorene::Tenseur::inc2_dzpuis(), Lorene::Map_af::integrale_surface_infini(), Lorene::Valeur::mult_cp(), Lorene::Cmp::mult_r_zec(), Lorene::Valeur::mult_sp(), Lorene::Valeur::mult_st(), omega, Lorene::Tenseur::set(), Lorene::Tenseur::set_etat_qcq(), Lorene::Tenseur::set_std_base(), and Lorene::Cmp::va.

## operator()()

const Bhole & Lorene::Bhole_binaire::operator() | ( | int | i | ) | const

inline

Read only of a component of the system.

`i` must be equal to 1 or 2.

Definition at line 803 of file bhole.h.

References holes.

## operator=()

void Lorene::Bhole_binaire::operator= | ( | const Bhole_binaire & | source | ) |

Affectation operator.

Definition at line 230 of file bhole_binaire.C.

References Bhole_binaire(), hole1, hole2, and omega.

## set()

Bhole & Lorene::Bhole_binaire::set | ( | int | i | ) |

inline

Read/write of a component of the system.

`i` must be equal to 1 or 2.

Definition at line 785 of file bhole.h.

References holes.

## set_omega()

void Lorene::Bhole_binaire::set_omega | ( | double | ome | ) |

inline

Sets the orbital velocity to `ome`.

Definition at line 791 of file bhole.h.

References hole1, hole2, and omega.

## set_pos_axe()

void Lorene::Bhole_binaire::set_pos_axe | ( | double | new_pos | ) |

Definition at line 254 of file bhole_binaire.C.

## set_statiques()

void Lorene::Bhole_binaire::set_statiques | ( | double | precis,
|  | double | relax )

Initialize the systeme to Misner Lindquist solution, that is solving for N and in the case .

Parameters

  precis | [input] : precision for the convergence (on N ).
  relax | [input] : relaxation parameter.

Definition at line 118 of file bhole_coal.C.

References Lorene::diffrelmax(), hole1, hole2, init_bhole_binaire(), set_omega(), solve_lapse(), and solve_psi().

## solve_lapse()

void Lorene::Bhole_binaire::solve_lapse | ( | double | precis,
|  | double | relax )

Solves the equation for the lapse~:

The fields are the total values excpet those with subscript , which are the fields generated by each holes (a = 1, 2). The boundary conditions are such that N =0 on both horizons. The companion contributions are then obtained.

Parameters

  precis | [input] : precision, for the boudary conditions are obtained by iteration.
  relax | [input] : relaxation parameter.

Definition at line 84 of file bhole_equations_bin.C.

References Lorene::flat_scalar_prod(), hole1, hole2, Lorene::pow(), and Lorene::Cmp::std_base_scal().

## solve_phi()

void Lorene::Bhole_binaire::solve_phi | ( | double | precision,
|  | double | relax )

Solve the equation for the logarithm of .

Definition at line 108 of file bhole_solve_phi.C.

References Lorene::diffrelmax(), Lorene::flat_scalar_prod(), hole1, hole2, Lorene::Cmp::std_base_scal(), and Lorene::Valeur::std_base_scal().

## solve_psi()

void Lorene::Bhole_binaire::solve_psi | ( | double | precis,
|  | double | relax )

Solves the equation for the conformal factor~:

The fields are the total values excpet those with subscript , which are the fields generated by each holes (a = 1, 2). The boundary conditions are such that on both horizons, being the radii of those horizons and f the value of on the horizons at the preceeding step. The companion contributions are then obtained.

Parameters

  precis | [input] : precision, for the boudary conditions are being obtained by iteration.
  relax | [input] : relaxation parameter.

Definition at line 134 of file bhole_equations_bin.C.

References Lorene::flat_scalar_prod(), hole1, hole2, Lorene::pow(), Lorene::Valeur::set(), Lorene::Cmp::std_base_scal(), and Lorene::Valeur::std_base_scal().

## solve_shift()

void Lorene::Bhole_binaire::solve_shift | ( | double | precis,
|  | double | relax )

Solves the equation for the shift, using the Oohara-Nakarmure scheme~:

using the current for the boudary conditions~: on both horizons. The fields are the total values excpet those with subscript , which are the fields generated by each holes (`a` = 1, 2). The companion contributions are then obtained.

Parameters

  precis | [input] : precision for the solver, the boundary conditions and the inversion of the operator being obtained by iteration.
  relax | [input] : relaxation parameter.

Definition at line 196 of file bhole_equations_bin.C.

References Lorene::Valeur::base, Lorene::Cmp::filtre(), Lorene::flat_scalar_prod(), Lorene::Tenseur::get_etat(), Lorene::Tenseur::get_mp(), hole1, hole2, omega, Lorene::Tenseur::set(), Lorene::Valeur::set(), Lorene::Valeur::set_etat_c_qcq(), Lorene::Mtbl::set_etat_qcq(), Lorene::Tenseur::set_etat_qcq(), Lorene::Cmp::set_etat_zero(), Lorene::Tenseur::set_etat_zero(), and Lorene::Tenseur::set_std_base().

## viriel()

double Lorene::Bhole_binaire::viriel | ( |  | ) | 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 .

Definition at line 93 of file bhole_pseudo_viriel.C.

References hole1, and hole2.

## Member Data Documentation

## hole1

Bhole Lorene::Bhole_binaire::hole1

private

Black hole one.

Definition at line 762 of file bhole.h.

## hole2

Bhole Lorene::Bhole_binaire::hole2

private

Black hole two.

Definition at line 763 of file bhole.h.

## holes

Bhole* Lorene::Bhole_binaire::holes[2]

private

Array on the black holes.

Definition at line 766 of file bhole.h.

## omega

double Lorene::Bhole_binaire::omega

private

Position of the axis of rotation.

Angular velocity

Definition at line 769 of file bhole.h.

## pos_axe

double Lorene::Bhole_binaire::pos_axe

private

Definition at line 768 of file bhole.h.

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

- bhole.h
- bhole_binaire.C
- bhole_coal.C
- bhole_equations_bin.C
- bhole_glob.C
- bhole_kij.C
- bhole_pseudo_viriel.C
- bhole_solve_phi.C