28char bin_bhns_extr_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Bin_bhns_extr/bin_bhns_extr.C,v 1.10 2014/10/13 08:52:41 j_novak Exp $" ;
73#include "bin_bhns_extr.h"
75#include "utilitaires.h"
86 bool relat,
bool kerrs,
bool multi)
87 : ref_triad(0.,
"Absolute frame Cartesian basis"),
88 star(mp, nzet, relat, eos, irrot, ref_triad, kerrs, multi)
103 : ref_triad(0.,
"Absolute frame Cartesian basis"),
107 mass_bh(bibi.mass_bh)
118 : ref_triad(0.,
"Absolute frame Cartesian basis"),
119 star(mp, eos, ref_triad, fich)
215 ost <<
"Binary BH-NS system" << endl ;
216 ost <<
"===================" << endl ;
219 ost <<
"Kerr-Schild background metric" << endl ;
220 ost <<
"-----------------------------" << endl ;
223 ost <<
"Conformally flat background metric" << endl ;
224 ost <<
"----------------------------------" << endl ;
227 ost <<
"Multipole falloff boundary condition" << endl ;
228 ost <<
"------------------------------------" << endl ;
231 ost <<
"1/r falloff boundary condition" << endl ;
232 ost <<
"------------------------------" << endl ;
235 <<
"Orbital angular velocity : "
236 <<
omega * f_unit <<
" rad/s" << endl ;
237 ost <<
"Coordinate separation between BH and NS : "
238 <<
separ / km <<
" km" << endl ;
240 ost << endl <<
"Neutron star : " ;
241 ost << endl <<
"============ " << endl ;
244 ost <<
"Relativistic star" << endl ;
245 ost <<
"-----------------" << endl ;
248 ost <<
"WARNING : BH-NS binary should be relativistic !!!" << endl ;
249 ost <<
"-------------------------------------------------" << endl ;
251 ost <<
"Number of domains occupied by the star : " <<
star.
get_nzet()
253 ost <<
"Equation of state : " << endl ;
257 <<
"Enthalpy at the coordinate origin : "
259 ost <<
"Proper baryon density at the coordinate origin : "
260 <<
star.
get_nbar()()(0,0,0,0) <<
" x 0.1 fm^-3" << endl ;
261 ost <<
"Proper energy density at the coordinate origin : "
262 <<
star.
get_ener()()(0,0,0,0) <<
" rho_nuc c^2" << endl ;
263 ost <<
"Pressure at the coordinate origin : "
266 <<
"Lapse N at the coordinate origin : "
268 ost <<
"Conformal factor A^2 at the coordinate origin : "
272 <<
"Equatorial radius (to BH) a_to : "
274 ost <<
"Equatorial radius (opp. to BH) a_opp : "
278 <<
"Baryon mass in isolation : " <<
star.
mass_b() / msol
280 <<
"Gravitational mass in isolation : " <<
star.
mass_g() / msol
282 <<
"Baryon mass in a binary system : " <<
mass_b_extr() / msol
286 ost <<
"Star in a binary system" << endl ;
287 ost <<
"-----------------------" << endl ;
290 ost <<
"irrotational configuration" << endl ;
293 ost <<
"corotating configuration" << endl ;
296 ost <<
"Absolute abscidia of the stellar center: "
298 ost <<
"Orientation with respect to the absolute frame : "
305 double d_tilde = d_ns / r0 ;
307 ost << endl <<
"Comparison with those by Baumgarte et al. :" << endl ;
308 ost <<
" Radius r0 : " << r0 / km <<
" km " << endl ;
309 ost <<
" Separation d : " << d_ns / km <<
" km " << endl ;
310 ost <<
" Normalized sep. (d/r0) : " << d_tilde << endl ;
312 ost << endl <<
"Black hole : " ;
313 ost << endl <<
"========== " << endl ;
314 ost <<
"Gravitational mass of BH : "
315 <<
mass_bh / msol <<
" M_sol" << endl ;
330 if (p_eos_poly != 0x0) {
332 double kappa = p_eos_poly->
get_kap() ;
333 double gamma = p_eos_poly->
get_gam() ;
334 double kap_ns2 =
pow( kappa, 0.5 /(gamma-1) ) ;
337 double r_poly = kap_ns2 /
sqrt(ggrav) ;
340 double t_poly = r_poly ;
343 double m_poly = r_poly / ggrav ;
354 ost << endl <<
"Quantities in polytropic units : " ;
355 ost << endl <<
"==============================" << endl ;
356 ost <<
" ( r_poly = " << r_poly / km <<
" km )" << endl ;
357 ost <<
" d_e_max : " <<
separ / r_poly << endl ;
360 ost <<
" d_bh/M_bh : " << d_ns/r_poly / (
mass_bh/m_poly) << endl ;
361 ost <<
" Omega : " <<
omega * t_poly << endl ;
362 ost <<
" Omega M_bh : " <<
omega * t_poly *
mass_bh / m_poly
364 ost <<
" M_bar(NS) : " <<
mass_b_extr() / m_poly << endl ;
365 ost <<
" M_bar(NS_0) : " <<
star.
mass_b() / m_poly << endl ;
368 ost <<
" M_grv(BH) : " <<
mass_bh / m_poly << endl ;
Class for computing a Black hole - Neutron star binary system with an extreme mass ratio.
const Base_vect_cart ref_triad
Cartesian triad of the absolute reference frame.
double * p_ya_barycenter_extr
Absolute coordinate Y of the barycenter of the baryon density in the Kerr-Schild background metric.
double * p_mass_b_extr
Baryon mass of the neutron star in the Kerr-Schild background metric or in the conformally flat one.
double ya_barycenter_extr() const
in the Kerr-Schild background metric
double mass_b_extr() const
Baryon mass of the neutron star in the Kerr-Schild background metric or in the conformally flat.
Et_bin_bhns_extr star
Neutron star.
void operator=(const Bin_bhns_extr &)
Assignment to another Bin_bhns_extr.
Bin_bhns_extr(Map &mp, int nzet, const Eos &eos, bool irrot, bool relat, bool kerrs, bool multi)
Standard constructor.
void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
double separ
Absolute orbital separation between two centers of BH and NS.
double mass_bh
Gravitational mass of BH.
double xa_barycenter_extr() const
Absolute coordinate X of the barycenter of the baryon density in the Kerr-Schild background metric or...
void display_poly(ostream &) const
Display in polytropic units.
void sauve(FILE *) const
Save in a file.
ostream & operator>>(ostream &) const
Operator >> (function called by the operator <<)
~Bin_bhns_extr()
Destructor.
double omega
Angular velocity with respect to an asymptotically inertial observer.
double * p_xa_barycenter_extr
Absolute coordinate X of the barycenter of the baryon density in the Kerr-Schild background metric or...
void del_deriv() const
Deletes all the derived quantities.
Polytropic equation of state (relativistic case).
double get_gam() const
Returns the adiabatic index (cf. Eq. (3))
double get_kap() const
Returns the pressure coefficient (cf.
Equation of state base class.
bool in_kerrschild() const
Returns true for the Kerr-Schild background metric, false for the conformally flat one.
virtual void sauve(FILE *) const
Save in a file.
bool with_multipole() const
Returns true for the multipole falloff boundary condition, false for the one.
virtual double mass_b() const
Baryon mass.
bool is_irrotational() const
Returns true for an irrotational motion, false for a corotating one.
virtual double mass_g() const
Gravitational mass.
const Tenseur & get_nnn() const
Returns the total lapse function N.
int get_nzet() const
Returns the number of domains occupied by the star.
double ray_eq_pi() const
Coordinate radius at , [r_unit].
double ray_eq() const
Coordinate radius at , [r_unit].
const Map & get_mp() const
Returns the mapping.
bool is_relativistic() const
Returns true for a relativistic star, false for a Newtonian one.
const Tenseur & get_ent() const
Returns the enthalpy field.
const Eos & get_eos() const
Returns the equation of state.
const Tenseur & get_a_car() const
Returns the total conformal factor .
const Tenseur & get_ener() const
Returns the proper total energy density.
const Tenseur & get_press() const
Returns the fluid pressure.
const Tenseur & get_nbar() const
Returns the proper baryon density.
Base class for coordinate mappings.
double get_ori_x() const
Returns the x coordinate of the origin.
double get_rot_phi() const
Returns the angle between the x –axis and X –axis.
Cmp sqrt(const Cmp &)
Square root.
Cmp pow(const Cmp &, int)
Power .
int fread_be(int *aa, int size, int nb, FILE *fich)
Reads integer(s) from a binary file according to the big endian convention.
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.
Standard units of space, time and mass.