63 #include "utilitaires.h" 74 bool irrot_ns,
bool kerrschild_i,
75 bool bc_lapconf_nd,
bool bc_lapconf_fs,
bool irrot_bh,
77 : ref_triad(0.,
"Absolute frame Cartesian basis"),
78 hole(mp_bh,kerrschild_i,bc_lapconf_nd,bc_lapconf_fs,irrot_bh, massbh),
79 star(mp_ns, nzet_i, eos_i, irrot_ns)
95 : ref_triad(0.,
"Absolute frame Cartesian basis"),
112 : ref_triad(0.,
"Absolute frame Cartesian basis"),
114 star(mp_ns, eos_i, fich)
227 ostream& operator<<(ostream& ost,
const Bin_bhns& bibi) {
239 ost <<
"BH-NS binary system" << endl ;
240 ost <<
"===================" << endl ;
243 <<
"Orbital angular velocity : " 244 <<
omega * f_unit <<
" [rad/s]" << endl ;
245 ost <<
"Coordinate separation between BH and NS : " 246 <<
separ / km <<
" [km]" << endl ;
247 ost <<
"Position of the rotation axis : " 248 <<
x_rot / km <<
" [km]" << endl ;
250 ost << endl <<
"Black hole : " ;
251 ost << endl <<
"========== " << endl ;
253 int nt = (
hole.
get_mp()).get_mg()->get_nt(1) ;
255 ost <<
"Irreducible mass of BH : " 257 ost <<
"Mass in the background : " 259 ost <<
"Radius of the apparent horison : " 261 ost <<
"Lapse function on the AH : " 263 ost <<
"Conformal factor on the AH : " 265 ost <<
"shift(1) on the AH : " 267 ost <<
"shift(2) on the AH : " 269 ost <<
"shift(3) on the AH : " 272 ost << endl <<
"Neutron star : " ;
273 ost << endl <<
"============ " << endl ;
275 ost <<
"Baryon mass of NS in isolation : " 277 ost <<
"Gravitational mass of NS : " 278 <<
star.mass_g_bhns()/msol <<
" [Mo]" << endl ;
279 ost <<
"Baryon mass of NS in BH bg. : " 282 ost <<
"Coordinate radius R_eq_tow : " 284 ost <<
"Coordinate radius R_eq_opp : " 286 ost <<
"Coordinate radius R_eq_orb : " 288 ost <<
"Coordinate radius R_eq_orb_opp : " 290 ost <<
"Coordinate radius R_pole : " 292 ost <<
"Central enthalpy H_ent : " 293 << (
star.
get_ent()).val_grid_point(0,0,0,0) << endl ;
294 ost <<
"Lapse function at the center of NS : " 296 ost <<
"Conformal factor at the center of NS : " 298 ost <<
"shift(1) at the center of NS : " 300 ost <<
"shift(2) at the center of NS : " 302 ost <<
"shift(3) at the center of NS : " 319 if (p_eos_poly != 0x0) {
321 double kappa = p_eos_poly->
get_kap() ;
322 double gamma = p_eos_poly->
get_gam() ;
323 double kap_ns2 =
pow( kappa, 0.5 /(gamma-1) ) ;
326 double r_poly = kap_ns2 /
sqrt(ggrav) ;
329 double t_poly = r_poly ;
332 double m_poly = r_poly / ggrav ;
346 ost << endl <<
"Quantities in polytropic units : " ;
347 ost << endl <<
"==============================" << endl ;
348 ost <<
" ( r_poly = " << r_poly / km <<
" km )" << endl ;
349 ost <<
" d_separ : " <<
separ / r_poly << endl ;
350 ost <<
" d_coord : " << d_coord / r_poly << endl ;
351 ost <<
" Omega : " <<
omega * t_poly << endl ;
352 ost <<
" Omega M_irr : " 357 ost <<
" R_ah : " <<
hole.
rad_ah() / r_poly << endl ;
358 ost <<
" M_bar(NS)iso : " <<
star.
mass_b() / m_poly
360 ost <<
" M_bar(NS) : " 363 ost <<
" M_g(NS)iso : " <<
star.mass_g_bhns() / m_poly << endl ;
364 ost <<
" R_0(NS) : " << r0 / r_poly << endl ;
const Scalar & get_lapse_tot() const
Returns the total lapse function.
double get_mass_bh() const
Returns the gravitational mass of BH [{ m_unit}].
Hole_bhns hole
Black hole.
Cmp sqrt(const Cmp &)
Square root.
double get_ori_y() const
Returns the y coordinate of the origin.
Standard units of space, time and mass.
Equation of state base class.
bool is_kerrschild() const
Returns true for a Kerr-Schild background, false for a Conformally flat one.
double get_omega_spin() const
Returns the spin angular velocity of the black hole [{ f_unit}].
double * p_omega_two_points
Orbital angular velocity derived from another method.
Base class for coordinate mappings.
Tbl * p_angu_mom_bhns
Total angular momentum of the system.
Tbl * p_line_mom_bhns
Total linear momentum of the system.
double * p_mass_kom_bhns_surf
Total Komar mass of the system calculated by the surface integral at infinity.
const Map & get_mp() const
Returns the mapping.
void operator=(const Bin_bhns &)
Assignment to another Bin_bhns.
double * p_mass_kom_bhns_vol
Total Komar mass of the system calculated by the volume integral and the surface integral at the appa...
double separ
Absolute orbital separation between two centers of BH and NS.
double get_gam() const
Returns the adiabatic index (cf. Eq. (3))
double * p_xa_barycenter
Absolute coordinate X of the barycenter of the baryon density.
ostream & operator>>(ostream &) const
Operator >> (function called by the operator <<)
double omega
Angular velocity with respect to an asymptotically inertial observer.
double ray_eq_3pis2() const
Coordinate radius at , [r_unit].
virtual void sauve(FILE *) const
Save in a file.
double get_kap() const
Returns the pressure coefficient (cf.
virtual ~Bin_bhns()
Destructor.
double ray_eq_pis2() const
Coordinate radius at , [r_unit].
const Scalar & get_confo_tot() const
Returns the total conformal factor.
Star_bhns star
Neutron star.
Bin_bhns(Map &mp_bh, Map &mp_ns, int nzet, const Eos &eos, bool irrot_ns, bool kerrschild, bool bc_lapse_nd, bool bc_lapse_fs, bool irrot_bh, double mass_bh)
Relative error on the Hamiltonian constraint.
Polytropic equation of state (relativistic case).
const Map & get_mp() const
Returns the mapping.
virtual double rad_ah() const
Radius of the apparent horizon.
double * p_mass_adm_bhns_vol
Total ADM mass of the system calculated by the volume integral and the surface integral at the appare...
double ray_eq_pi() const
Coordinate radius at , [r_unit].
int fwrite_be(const int *aa, int size, int nb, FILE *fich)
Writes integer(s) into a binary file according to the big endian convention.
Cmp pow(const Cmp &, int)
Power .
const Base_vect_cart ref_triad
Cartesian triad of the absolute reference frame.
void display_poly(ostream &) const
Display in polytropic units.
const Scalar & get_confo_tot() const
Returns the total conformal factor.
double ray_pole() const
Coordinate radius at [r_unit].
int fread_be(int *aa, int size, int nb, FILE *fich)
Reads integer(s) from a binary file according to the big endian convention.
double * p_virial_bhns_vol
Virial theorem error calculated by the ADM mass and the Komar mass of the volume integral.
double * p_ya_barycenter
Absolute coordinate Y of the barycenter of the baryon density.
void del_deriv() const
Deletes all the derived quantities.
const Scalar & get_lapse_tot() const
Returns the total lapse function.
const Scalar & get_ent() const
Returns the enthalpy field.
double ray_eq() const
Coordinate radius at , [r_unit].
virtual double mass_irr_bhns() const
Irreducible mass of the black hole.
double * p_mass_adm_bhns_surf
Total ADM mass of the system calculated by the surface integral at infinity.
Class for computing a black hole - neutron star binary system with comparable mass () ...
const Vector & get_shift_tot() const
Returns the total shift vector.
const Eos & get_eos() const
Returns the equation of state.
virtual void sauve(FILE *) const
Save in a file.
double x_rot
Absolute X coordinate of the rotation axis.
const Vector & get_shift_tot() const
Returns the part total shift vector.
virtual void sauve(FILE *) const
Save in a file.
double * p_virial_bhns_surf
Virial theorem error calculated by the ADM mass and the Komar mass of the surface integral at infinit...
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
double y_rot
Absolute Y coordinate of the rotation axis.
virtual double mass_b() const
Baryon mass.