28 char bin_bhns_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Bin_bhns/bin_bhns.C,v 1.4 2014/10/13 08:52:41 j_novak Exp $" ;
60 #include "utilitaires.h" 71 bool irrot_ns,
bool kerrschild_i,
72 bool bc_lapconf_nd,
bool bc_lapconf_fs,
bool irrot_bh,
74 : ref_triad(0.,
"Absolute frame Cartesian basis"),
75 hole(mp_bh,kerrschild_i,bc_lapconf_nd,bc_lapconf_fs,irrot_bh, massbh),
76 star(mp_ns, nzet_i, eos_i, irrot_ns)
92 :
ref_triad(0.,
"Absolute frame Cartesian basis"),
109 :
ref_triad(0.,
"Absolute frame Cartesian basis"),
111 star(mp_ns, eos_i, fich)
236 ost <<
"BH-NS binary system" << endl ;
237 ost <<
"===================" << endl ;
240 <<
"Orbital angular velocity : " 241 <<
omega * f_unit <<
" [rad/s]" << endl ;
242 ost <<
"Coordinate separation between BH and NS : " 243 <<
separ / km <<
" [km]" << endl ;
244 ost <<
"Position of the rotation axis : " 245 <<
x_rot / km <<
" [km]" << endl ;
247 ost << endl <<
"Black hole : " ;
248 ost << endl <<
"========== " << endl ;
250 int nt = (
hole.
get_mp()).get_mg()->get_nt(1) ;
252 ost <<
"Irreducible mass of BH : " 254 ost <<
"Mass in the background : " 256 ost <<
"Radius of the apparent horison : " 258 ost <<
"Lapse function on the AH : " 260 ost <<
"Conformal factor on the AH : " 262 ost <<
"shift(1) on the AH : " 264 ost <<
"shift(2) on the AH : " 266 ost <<
"shift(3) on the AH : " 269 ost << endl <<
"Neutron star : " ;
270 ost << endl <<
"============ " << endl ;
272 ost <<
"Baryon mass of NS in isolation : " 274 ost <<
"Gravitational mass of NS : " 275 <<
star.mass_g_bhns()/msol <<
" [Mo]" << endl ;
276 ost <<
"Baryon mass of NS in BH bg. : " 279 ost <<
"Coordinate radius R_eq_tow : " 281 ost <<
"Coordinate radius R_eq_opp : " 283 ost <<
"Coordinate radius R_eq_orb : " 285 ost <<
"Coordinate radius R_eq_orb_opp : " 287 ost <<
"Coordinate radius R_pole : " 289 ost <<
"Central enthalpy H_ent : " 290 << (
star.
get_ent()).val_grid_point(0,0,0,0) << endl ;
291 ost <<
"Lapse function at the center of NS : " 293 ost <<
"Conformal factor at the center of NS : " 295 ost <<
"shift(1) at the center of NS : " 297 ost <<
"shift(2) at the center of NS : " 299 ost <<
"shift(3) at the center of NS : " 316 if (p_eos_poly != 0x0) {
318 double kappa = p_eos_poly->
get_kap() ;
319 double gamma = p_eos_poly->
get_gam() ;
320 double kap_ns2 =
pow( kappa, 0.5 /(gamma-1) ) ;
323 double r_poly = kap_ns2 /
sqrt(ggrav) ;
326 double t_poly = r_poly ;
329 double m_poly = r_poly / ggrav ;
343 ost << endl <<
"Quantities in polytropic units : " ;
344 ost << endl <<
"==============================" << endl ;
345 ost <<
" ( r_poly = " << r_poly / km <<
" km )" << endl ;
346 ost <<
" d_separ : " <<
separ / r_poly << endl ;
347 ost <<
" d_coord : " << d_coord / r_poly << endl ;
348 ost <<
" Omega : " <<
omega * t_poly << endl ;
349 ost <<
" Omega M_irr : " 354 ost <<
" R_ah : " <<
hole.
rad_ah() / r_poly << endl ;
355 ost <<
" M_bar(NS)iso : " <<
star.
mass_b() / m_poly
357 ost <<
" M_bar(NS) : " 360 ost <<
" M_g(NS)iso : " <<
star.mass_g_bhns() / m_poly << endl ;
361 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.
friend ostream & operator<<(ostream &, const Bin_bhns &)
Display.
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.