Public Member Functions | |
| Bin_hor (Map_af &mp1, Map_af &mp2) | |
| Standard constructor. | |
| Bin_hor (const Bin_hor &) | |
| Copy constructor. | |
| Bin_hor (Map_af &mp1, Map_af &mp2, FILE *fich) | |
| Constructor from a binary file. | |
| virtual | ~Bin_hor () |
| Destructor. | |
| void | sauve (FILE *fich) const |
| Total or partial saves in a binary file. | |
| void | write_global (ostream &, double lim_nn, int bound_nn, int bound_psi, int bound_beta, double alpha) const |
| Write global quantities in a formatted file. | |
| void | operator= (const Bin_hor &) |
| Affectation operator. | |
| Single_hor & | set (int i) |
| Read/write of a component of the system. | |
| void | set_omega (double ome) |
Sets the orbital velocity to ome. | |
| const Single_hor & | operator() (int i) const |
| Read only of a component of the system. | |
| double | get_omega () const |
| Returns the angular velocity. | |
| void | init_bin_hor () |
| 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 | extrinsic_curvature () |
| Calculation of the extrinsic curvature tensor. | |
| void | decouple () |
Calculates decouple which is used to obtain tkij_auto and tkij_comp. | |
| void | set_statiques (double precis, double relax, int bound_nn, double lim_nn, int bound_psi) |
Initialize the systeme to Misner Lindquist solution, that is solving for N and in the case . | |
| double | coal (double ang_vel, double relax, int nb_om, int nb_it, int bound_nn, double lim_nn, int bound_psi, int bound_beta, double omega_eff, double alpha, ostream &fich_iteration, ostream &fich_correction, ostream &fich_viriel, ostream &fich_kss, int step, int search_mass, double mass_irr, const int sortie=0) |
| Solves the equation for a particular angular velocity, the systeme being initialized to Misner-Lindquist solution. | |
| void | solve_lapse (double precis, double relax, int bound_nn, double lim_nn) |
Solves the equation for the lapse : The fields are the total values except those with subscript , which are the fields generated by each holes (a = 1, 2). | |
| void | solve_psi (double precis, double relax, int bound_psi) |
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). | |
| void | solve_shift (double precis, double relax, int bound_beta, double omega_eff) |
Solves the equation for the shift, using the Oohara-Nakarmure scheme : The fields are the total values excpet those with subscript , which are the fields generated by each holes (a = 1, 2). | |
| void | import_bh (const Bin_hor &bin) |
| Function to initialize a Bin_hor from a solution computed with a smaller number of colocation points. | |
| double | adm_mass () const |
| Calculates the ADM mass of the system. | |
| double | komar_mass () const |
Calculates the Komar mass of the system using : . | |
| double | ang_mom_hor () const |
| Calculates the angular momentum of the black hole using the formula at the horizon. | |
| double | ang_mom_adm () const |
| Calculates the angular momentum of the black hole. | |
| double | proper_distance (const int nr=65) const |
| Calculation of the proper distance between the two spheres of inversion, along the x axis. | |
| Sym_tensor | hh_Samaya_hole1 () |
Calculation of the hole1 part of the Post-Newtonian correction to . | |
| Sym_tensor | hh_Samaya_hole2 () |
Calculation of the hole2 part of the Post-Newtonian correction to . | |
| void | set_hh_Samaya () |
Calculation of the Post-Newtonian correction to . | |
Private Attributes | |
| Single_hor | hole1 |
| Black hole one. | |
| Single_hor | hole2 |
| Black hole two. | |
| Single_hor * | holes [2] |
| Array on the black holes. | |
| double | omega |
| Angular velocity. | |
Definition at line 1335 of file isol_hor.h.
Standard constructor.
| mp1 | affine mapping for the first black hole | |
| mp2 | affine mapping for the second black hole | |
| depth_in | number of stored time slices; this parameter is used to set the scheme_order member with scheme_order = depth_in - 1. scheme_order can be changed afterwards by the method set_scheme_order(int). |
| Bin_hor::Bin_hor | ( | const Bin_hor & | source | ) |
Constructor from a binary file.
| mp1 | affine mapping of the first black hole | |
| mp2 | affine mapping of the second black hole | |
| fich | file containing the saved Bin_hor | |
| partial_read | indicates whether the full object must be read in file or whether the final construction is devoted to a constructor of a derived class | |
| depth_in | number of stored time slices; this parameter is used to set the scheme_order member with scheme_order = depth_in - 1. scheme_order can be changed afterwards by the method set_scheme_order(int). |
Definition at line 113 of file bin_hor.C.
References fread_be(), hole1, hole2, holes, and omega.
| double Bin_hor::adm_mass | ( | ) | const |
Calculates the ADM mass of the system.
Definition at line 79 of file binhor_global.C.
References contract(), Scalar::derive_con(), Single_hor::ff, Vector::flux(), Map::get_mg(), Mg3d::get_nzone(), Single_hor::hh, hole1, hole2, Single_hor::mp, Single_hor::psi_auto, Tensor::trace(), and Map_af::val_r().
| double Bin_hor::ang_mom_adm | ( | ) | const |
Calculates the angular momentum of the black hole.
Definition at line 180 of file binhor_global.C.
References Tensor::annule(), Single_hor::beta_auto, Vector::change_triad(), Tensor::dec_dzpuis(), Map::get_bvect_cart(), Map::get_mg(), Mg3d::get_nzone(), Map::get_ori_x(), Map::get_rot_phi(), Scalar::get_spectral_va(), hole1, hole2, Tensor::inc_dzpuis(), Single_hor::mp, Valeur::mult_cp(), Scalar::mult_r_ced(), Valeur::mult_sp(), Valeur::mult_st(), omega, Vector::ope_killing_conf(), Tensor::set(), Scalar::set_spectral_va(), and Vector::std_spectral_base().
| double Bin_hor::ang_mom_hor | ( | ) | const |
Calculates the angular momentum of the black hole using the formula at the horizon.
Definition at line 114 of file binhor_global.C.
References Single_hor::aa, Tensor::change_triad(), Map::get_bvect_cart(), Map::get_bvect_spher(), Map::get_mg(), Mg3d::get_nzone(), Single_hor::get_psi4(), Map::get_rot_phi(), hole1, hole2, Map_af::integrale_surface(), Single_hor::mp, omega, Single_hor::psi, Single_hor::radius, Scalar::std_spectral_base(), Map::xa, and Map::ya.
| double Bin_hor::coal | ( | double | ang_vel, | |
| double | relax, | |||
| int | nb_om, | |||
| int | nb_it, | |||
| int | bound_nn, | |||
| double | lim_nn, | |||
| int | bound_psi, | |||
| int | bound_beta, | |||
| double | omega_eff, | |||
| double | alpha, | |||
| ostream & | fich_iteration, | |||
| ostream & | fich_correction, | |||
| ostream & | fich_viriel, | |||
| ostream & | fich_kss, | |||
| int | step, | |||
| int | search_mass, | |||
| double | mass_irr, | |||
| const int | sortie = 0 | |||
| ) |
Solves the equation for a particular angular velocity, the systeme being initialized to Misner-Lindquist solution.
| angu | [input] : angular velocity used for the boundary condition on . | |
| relax | [input] : relaxation parameter. | |
| nb_om | [input] : number of intermediates velocities to go from 0 to omega , typically 10. | |
| nb_it | [input] : number of iteration when omega is fixed | |
| bound_nn | [input] : type of the boundary condition for the lapse. | |
| lim_nn | [input] : value (double) of the coefficient for the boundary condition. Only used for boundary_nn_Dir(double), boundary_nn_Neu_eff(double) and boundary_nn_Dir_eff(double). | |
| bound_psi | [input] : type of the boundary condition for psi. | |
| bound_nn | [input] : type of the boundary condition for the shift. | |
| step | current step of the iteration | |
| sortie | [input] : flag for the output on files (0 no output files). |
Definition at line 129 of file binhor_coal.C.
References ang_mom_hor(), Single_hor::area_hor(), Single_hor::beta_auto, contract(), diffrelmax(), extrinsic_curvature(), Single_hor::ff, Map::flat_met_spher(), Single_hor::get_gam(), Single_hor::get_k_dd(), Map::get_mg(), Mg3d::get_np(), Mg3d::get_nt(), Mg3d::get_nzone(), get_omega(), hole1, hole2, Map_af::homothetie_interne(), log10(), Single_hor::mp, Single_hor::omega_hor(), pow(), Metric::radial_vect(), Single_hor::radius, Single_hor::regul, set_omega(), solve_lapse(), solve_psi(), solve_shift(), sqrt(), Single_hor::tgam, Scalar::val_grid_point(), and viriel().
| void Bin_hor::decouple | ( | ) |
Calculates decouple which is used to obtain tkij_auto and tkij_comp.
Definition at line 469 of file binhor_kij.C.
References Scalar::allocate_all(), Map::convert_absolute(), cos(), Single_hor::decouple, Map::get_mg(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Map::get_ori_x(), hole1, hole2, Single_hor::mp, pow(), Map::r, Scalar::set_grid_point(), sin(), Scalar::std_spectral_base(), Scalar::val_grid_point(), Scalar::val_point(), Map::xa, Map::ya, and Map::za.
| void Bin_hor::extrinsic_curvature | ( | ) |
Calculation of the extrinsic curvature tensor.
aa_auto_evol and aa_auto_comp are also computed.
Definition at line 84 of file binhor_kij.C.
References Single_hor::aa, Single_hor::aa_auto, Single_hor::aa_comp, Single_hor::beta_auto, Scalar::change_triad(), Tensor::change_triad(), Map::convert_absolute(), Scalar::dec_dzpuis(), Tensor::dec_dzpuis(), Single_hor::decouple, Single_hor::gamt_point, Map_af::get_alpha(), Map_af::get_beta(), Map::get_bvect_cart(), Map::get_bvect_spher(), Scalar::get_etat(), Map::get_mg(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Tensor::get_triad(), hole1, hole2, Scalar::inc_dzpuis(), Single_hor::mp, Single_hor::n_auto, Single_hor::n_comp, Single_hor::nn, Vector::ope_killing_conf(), Scalar::raccord(), Tensor::set(), Scalar::set_grid_point(), Single_hor::tgam, Scalar::val_grid_point(), Scalar::val_point(), Map::xa, Map::ya, and Map::za.
| double Bin_hor::get_omega | ( | ) | const [inline] |
| Sym_tensor Bin_hor::hh_Samaya_hole1 | ( | ) |
Calculation of the hole1 part of the Post-Newtonian correction to
.
Definition at line 59 of file binhor_hh.C.
References Tensor::annule_domain(), Vector::change_triad(), Metric_flat::con(), Scalar::domain(), exp(), Single_hor::ff, Valeur::get_base(), Map::get_bvect_cart(), Map::get_mg(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Map::get_ori_x(), Map::get_ori_y(), Map::get_ori_z(), Scalar::get_spectral_va(), hole1, hole2, Scalar::import(), Single_hor::mp, Map::r, Scalar::raccord(), Vector::set(), Coord::set(), Valeur::set_base(), Scalar::set_domain(), Scalar::set_etat_qcq(), Scalar::set_grid_point(), Scalar::set_outer_boundary(), Scalar::set_spectral_va(), sqrt(), Scalar::std_spectral_base(), Map_af::val_r(), Map::x, Map::y, and Map::z.
| Sym_tensor Bin_hor::hh_Samaya_hole2 | ( | ) |
Calculation of the hole2 part of the Post-Newtonian correction to
.
Definition at line 449 of file binhor_hh.C.
References Tensor::annule_domain(), Vector::change_triad(), Metric_flat::con(), Scalar::domain(), exp(), Single_hor::ff, Valeur::get_base(), Map::get_bvect_cart(), Map::get_mg(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Map::get_ori_x(), Map::get_ori_y(), Map::get_ori_z(), Scalar::get_spectral_va(), hole1, hole2, Scalar::import(), Single_hor::mp, Map::r, Scalar::raccord(), Vector::set(), Coord::set(), Valeur::set_base(), Scalar::set_domain(), Scalar::set_etat_qcq(), Scalar::set_grid_point(), Scalar::set_outer_boundary(), Scalar::set_spectral_va(), sqrt(), Scalar::std_spectral_base(), Map_af::val_r(), Map::x, Map::y, and Map::z.
| void Bin_hor::import_bh | ( | const Bin_hor & | bin | ) |
Function to initialize a Bin_hor from a solution computed with a smaller number of colocation points.
| void Bin_hor::init_bin_hor | ( | ) |
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 157 of file bin_hor.C.
References decouple(), extrinsic_curvature(), hole1, hole2, Single_hor::init_bhole(), Single_hor::n_comp_import(), Single_hor::psi_comp_import(), and set_omega().
| double Bin_hor::komar_mass | ( | ) | const |
Calculates the Komar mass of the system using :
.
Definition at line 97 of file binhor_global.C.
References contract(), Scalar::derive_con(), Scalar::derive_cov(), Single_hor::ff, Map::get_mg(), Mg3d::get_nzone(), Single_hor::hh, hole1, hole2, Single_hor::mp, Single_hor::n_auto, Single_hor::nn, and Map_af::val_r().
| const Single_hor& Bin_hor::operator() | ( | int | i | ) | const [inline] |
Read only of a component of the system.
i must be equal to 1 or 2.
Definition at line 1415 of file isol_hor.h.
| void Bin_hor::operator= | ( | const Bin_hor & | source | ) |
| double Bin_hor::proper_distance | ( | const int | nr = 65 |
) | const |
Calculation of the proper distance between the two spheres of inversion, along the x axis.
| nr | [input] : number of points used for the calculation. |
| void Bin_hor::sauve | ( | FILE * | fich | ) | const |
Total or partial saves in a binary file.
| fich | binary file | |
| partial_save | indicates whether the whole object must be saved. |
Definition at line 147 of file bin_hor.C.
References fwrite_be(), hole1, hole2, omega, and Single_hor::sauve().
| Single_hor& Bin_hor::set | ( | int | i | ) | [inline] |
Read/write of a component of the system.
i must be equal to 1 or 2.
Definition at line 1401 of file isol_hor.h.
References holes.
| void Bin_hor::set_hh_Samaya | ( | ) |
Calculation of the Post-Newtonian correction to
.
Definition at line 782 of file binhor_hh.C.
References Single_hor::ang_mom_hor(), Cmp::annule(), Single_hor::area_hor(), Tensor::change_triad(), Metric_flat::con(), des_coupe_z(), des_meridian(), Single_hor::ff, Map::get_bvect_cart(), Map::get_bvect_spher(), Map::get_mg(), Mg3d::get_nzone(), Single_hor::get_radius(), Single_hor::hh, hh_Samaya_hole1(), hh_Samaya_hole2(), hole1, hole2, Single_hor::mp, Map::phi, pow(), Map::r, Scalar::raccord(), Single_hor::radius, Tensor::set(), Cmp::std_base_scal(), Map::tet, and Single_hor::tgam.
| void Bin_hor::set_omega | ( | double | ome | ) | [inline] |
Sets the orbital velocity to ome.
Definition at line 1407 of file isol_hor.h.
References hole1, hole2, omega, and Single_hor::set_omega().
| void Bin_hor::set_statiques | ( | double | precis, | |
| double | relax, | |||
| int | bound_nn, | |||
| double | lim_nn, | |||
| int | bound_psi | |||
| ) |
Initialize the systeme to Misner Lindquist solution, that is solving for N and
in the case
.
| precis | [input] : precision for the convergence (on N ). | |
| relax | [input] : relaxation parameter. | |
| bound_nn | [input] : type of the boundary condition for the lapse. | |
| lim_nn | [input] : value (double) of the coefficient for the boundary condition. Only used for boundary_nn_Dir(double), boundary_nn_Neu_eff(double) and boundary_nn_Dir_eff(double). | |
| bound_psi | [input] : type of the boundary condition for psi. |
Definition at line 92 of file binhor_coal.C.
References diffrelmax(), extrinsic_curvature(), Map::get_mg(), Mg3d::get_nzone(), hole1, hole2, init_bin_hor(), Single_hor::init_met_trK(), Single_hor::mp, Single_hor::n_auto, set_omega(), solve_lapse(), and solve_psi().
| void Bin_hor::solve_lapse | ( | double | precis, | |
| double | relax, | |||
| int | bound_nn, | |||
| double | lim_nn | |||
| ) |
Solves the equation for the lapse : The fields are the total values except those with subscript
, which are the fields generated by each holes (a = 1, 2).
| precis | [input] : precision, for the boudary conditions are obtained by iteration. | |
| relax | [input] : relaxation parameter. | |
| bound_nn | [input] : type of the boundary condition at the horizon. | |
| lim_nn | [input] : value (double) of the coefficient for the boundary condition. Only used for boundary_nn_Dir(double), boundary_nn_Neu_eff(double) and boundary_nn_Dir_eff(double). |
Definition at line 120 of file binhor_equations.C.
References Single_hor::aa, Single_hor::aa_auto, Single_hor::beta_auto, Single_hor::boundary_nn_Dir(), Single_hor::boundary_nn_Neu(), contract(), Single_hor::decouple, Scalar::derive_con(), Tensor::derive_cov(), Scalar::derive_cov(), diffrel(), Single_hor::dn, Single_hor::dpsi, Single_hor::ff, Map::get_mg(), Mg3d::get_nzone(), Single_hor::get_psi4(), Single_hor::hh, hole1, hole2, Scalar::inc_dzpuis(), Single_hor::mp, Single_hor::n_auto, Single_hor::n_comp_import(), Single_hor::nn, norme(), Single_hor::psi, Single_hor::psi_auto, Scalar::raccord(), Single_hor::tgam, Single_hor::trK, Single_hor::trK_point, and Tensor::up_down().
| void Bin_hor::solve_psi | ( | double | precis, | |
| double | relax, | |||
| int | bound_psi | |||
| ) |
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).
| precis | [input] : precision, for the boudary conditions are being obtained by iteration. | |
| relax | [input] : relaxation parameter. | |
| bound_psi | [input] : type of the boundary condition at the horizon. |
Definition at line 297 of file binhor_equations.C.
References Single_hor::aa, Single_hor::aa_auto, Single_hor::boundary_psi_app_hor(), contract(), Single_hor::decouple, Tensor::derive_cov(), Scalar::derive_cov(), diffrel(), Single_hor::ff, Map::get_mg(), Mg3d::get_nzone(), Single_hor::get_psi4(), Single_hor::hh, hole1, hole2, Scalar::inc_dzpuis(), Single_hor::mp, norme(), Single_hor::psi, Single_hor::psi_auto, Single_hor::psi_comp_import(), Scalar::raccord(), Single_hor::set_der_0x0(), Scalar::std_spectral_base(), Single_hor::tgam, Single_hor::trK, and Tensor::up_down().
| void Bin_hor::solve_shift | ( | double | precis, | |
| double | relax, | |||
| int | bound_beta, | |||
| double | omega_eff | |||
| ) |
Solves the equation for the shift, using the Oohara-Nakarmure scheme : The fields are the total values excpet those with subscript
, which are the fields generated by each holes (a = 1, 2).
| precis | [input] : precision for the solver, the boundary conditions and the inversion of the operator being obtained by iteration. | |
| relax | [input] : relaxation parameter. | |
| bound_beta | [input] : type of the boundary condition at the horizon. |
Definition at line 449 of file binhor_equations.C.
References Single_hor::aa, Single_hor::aa_auto, Scalar::annule_hard(), Single_hor::beta_auto, Single_hor::beta_comp_import(), Single_hor::boundary_beta_x(), Single_hor::boundary_beta_y(), Single_hor::boundary_beta_z(), Vector::change_triad(), Metric::connect(), contract(), Tensor::dec_dzpuis(), Single_hor::decouple, Tensor::derive_con(), Scalar::derive_con(), Scalar::derive_cov(), Tensor::derive_cov(), Tensor::derive_lie(), diffrel(), Sym_tensor::divergence(), Vector::divergence(), Single_hor::dn, Single_hor::dpsi, Single_hor::ff, Single_hor::gamt_point, Map::get_bvect_cart(), Map::get_bvect_spher(), Connection::get_delta(), Map::get_mg(), Mg3d::get_np(), Mg3d::get_nt(), Mg3d::get_nzone(), Map::get_rot_phi(), Single_hor::hh, hole1, hole2, Tensor::inc_dzpuis(), Scalar::inc_dzpuis(), Single_hor::mp, Single_hor::n_auto, Single_hor::n_comp, Single_hor::nn, norme(), omega, Single_hor::psi, Scalar::raccord(), Single_hor::regul, Single_hor::regularisation(), Tensor::set(), Coord::set(), Vector::set(), Tbl::set(), Mg3d::std_base_vect_cart(), Tensor::std_spectral_base(), Single_hor::tgam, Single_hor::trK, Tensor::up_down(), Map::xa, and Map::ya.
| double Bin_hor::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 67 of file binhor_viriel.C.
References Scalar::asymptot(), Map::get_mg(), Mg3d::get_nzone(), hole1, hole2, Single_hor::mp, Single_hor::n_auto, and Single_hor::psi_auto.
| void Bin_hor::write_global | ( | ostream & | ost, | |
| double | lim_nn, | |||
| int | bound_nn, | |||
| int | bound_psi, | |||
| int | bound_beta, | |||
| double | alpha | |||
| ) | const |
Write global quantities in a formatted file.
This file can be read by an external program.
Definition at line 174 of file bin_hor.C.
References adm_mass(), ang_mom_adm(), Single_hor::ang_mom_hor(), ang_mom_hor(), Scalar::annule_hard(), Single_hor::area_hor(), Single_hor::b_tilde(), contract(), Scalar::derive_cov(), Single_hor::ff, Map::get_bvect_cart(), Map::get_bvect_spher(), Single_hor::get_k_dd(), Map::get_mg(), Single_hor::get_mp(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Map::get_ori_x(), Single_hor::get_radius(), Map::get_rot_phi(), hole1, hole2, Map_af::integrale_surface(), komar_mass(), Single_hor::mass_hor(), Single_hor::mp, Single_hor::nn, omega, Single_hor::omega_hor(), pow(), Single_hor::psi, Metric::radial_vect(), Tensor::set(), Coord::set(), sqrt(), Mg3d::std_base_vect_cart(), Single_hor::tgam, Tensor::up_down(), Map_af::val_r(), Map::xa, and Map::ya.
Single_hor Bin_hor::hole1 [private] |
Black hole one.
Definition at line 1340 of file isol_hor.h.
Single_hor Bin_hor::hole2 [private] |
Black hole two.
Definition at line 1341 of file isol_hor.h.
Single_hor* Bin_hor::holes[2] [private] |
Array on the black holes.
Definition at line 1344 of file isol_hor.h.
double Bin_hor::omega [private] |
Angular velocity.
Definition at line 1346 of file isol_hor.h.
1.6.1