Bin_hor Class Reference

List of all members.

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_horset (int i)
 Read/write of a component of the system.
void set_omega (double ome)
 Sets the orbital velocity to ome.
const Single_horoperator() (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 $\Psi$ 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 $\Psi$ in the case $\Omega = 0$.
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 $_a$, 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 $_a$, 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 $_a$, 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 : $M = \frac{1}{4 \pi} \oint_{\infty} D^i N {\mathrm d} S_i$.
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 $h^{ij}$.
Sym_tensor hh_Samaya_hole2 ()
 Calculation of the hole2 part of the Post-Newtonian correction to $h^{ij}$.
void set_hh_Samaya ()
 Calculation of the Post-Newtonian correction to $h^{ij}$.

Private Attributes

Single_hor hole1
 Black hole one.
Single_hor hole2
 Black hole two.
Single_horholes [2]
 Array on the black holes.
double omega
 Angular velocity.

Detailed Description

Definition at line 1335 of file isol_hor.h.


Constructor & Destructor Documentation

Bin_hor::Bin_hor ( Map_af mp1,
Map_af mp2 
)

Standard constructor.

Parameters:
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).

Definition at line 93 of file bin_hor.C.

References hole1, hole2, and holes.

Bin_hor::Bin_hor ( const Bin_hor source  ) 

Copy constructor.

Definition at line 103 of file bin_hor.C.

References hole1, hole2, and holes.

Bin_hor::Bin_hor ( Map_af mp1,
Map_af mp2,
FILE *  fich 
)

Constructor from a binary file.

Parameters:
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.

Bin_hor::~Bin_hor (  )  [virtual]

Destructor.

Definition at line 128 of file bin_hor.C.


Member Function Documentation

double Bin_hor::adm_mass (  )  const
double Bin_hor::ang_mom_adm (  )  const
double Bin_hor::ang_mom_hor (  )  const
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.

Parameters:
angu [input] : angular velocity used for the boundary condition on $\vec{\beta}$.
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).
Returns:
: the virial error.

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 (  ) 
void Bin_hor::extrinsic_curvature (  ) 
double Bin_hor::get_omega (  )  const [inline]

Returns the angular velocity.

Definition at line 1420 of file isol_hor.h.

References omega.

Sym_tensor Bin_hor::hh_Samaya_hole1 (  ) 
Sym_tensor Bin_hor::hh_Samaya_hole2 (  ) 
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
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  ) 

Affectation operator.

Definition at line 135 of file bin_hor.C.

References hole1, hole2, and omega.

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.

Parameters:
nr [input] : number of points used for the calculation.
void Bin_hor::sauve ( FILE *  fich  )  const

Total or partial saves in a binary file.

Parameters:
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 (  ) 
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 $\Psi$ in the case $\Omega = 0$.

Parameters:
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 $_a$, which are the fields generated by each holes (a = 1, 2).

Parameters:
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 $_a$, which are the fields generated by each holes (a = 1, 2).

Parameters:
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 $_a$, which are the fields generated by each holes (a = 1, 2).

Parameters:
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 $\Psi$ 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

Member Data Documentation

Black hole one.

Definition at line 1340 of file isol_hor.h.

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.


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

Generated on 7 Oct 2014 for LORENE by  doxygen 1.6.1