LORENE
Lorene::Bin_bhns Class Reference

Class for computing a black hole - neutron star binary system with comparable mass (). More...

#include <bin_bhns.h>

Public Member Functions

 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.
 Bin_bhns (const Bin_bhns &)
 Copy constructor.
 Bin_bhns (Map &mp_bh, Map &mp_ns, const Eos &eos, FILE *fich)
 Constructor from a file (see sauve(FILE*) ).
virtual ~Bin_bhns ()
 Destructor.
void operator= (const Bin_bhns &)
 Assignment to another Bin_bhns.
Hole_bhnsset_bh ()
 Read/write of the black hole.
Star_bhnsset_ns ()
 Read/write of the neutron star.
double & set_omega ()
 Sets the orbital angular velocity [{\tt f_unit}].
double & set_separ ()
 Sets the orbital separation [{\tt r_unit}].
double & set_x_rot ()
 Sets the absolute coordinate X of the rotation axis [{\tt r_unit}].
double & set_y_rot ()
 Sets the absolute coordinate Y of the rotation axis [{\tt r_unit}].
const Hole_bhnsget_bh () const
 Returns a reference to the black hole.
const Star_bhnsget_ns () const
 Returns a reference to the neutron star.
double get_omega () const
 Returns the orbital angular velocity [{\tt f_unit}].
double get_separ () const
 Returns the coordinate separation of the binary system [{\tt r_unit}].
double get_x_rot () const
 Returns the absolute coordinate X of the rotation axis [{\tt r_unit}].
double get_y_rot () const
 Returns the absolute coordinate Y of the rotation axis [{\tt r_unit}].
virtual void sauve (FILE *) const
 Save in a file.
void display_poly (ostream &) const
 Display in polytropic units.
double mass_adm_bhns_surf () const
 Total ADM mass.
double mass_adm_bhns_vol () const
double mass_kom_bhns_surf () const
 Total Komar mass.
double mass_kom_bhns_vol () const
const Tblline_mom_bhns () const
 Total linear momentum.
const Tblangu_mom_bhns () const
 Total angular momentum.
double virial_bhns_surf () const
 Estimates the relative error on the virial theorem $|1 - M_{\rm Komar} / M_{\rm ADM}|$.
double virial_bhns_vol () const
 Estimates the relative error on the virial theorem $|1 - M_{\rm Komar} / M_{\rm ADM}|$.
double xa_barycenter () const
 Absolute coordinate X of the barycenter of the baryon density.
double ya_barycenter () const
 Absolute coordinate Y of the barycenter of the baryon density.
double omega_two_points () const
 Orbital angular velocity derived from another method.
void orbit_omega (double fact_omeg_min, double fact_omeg_max)
 Estimates the relative error on the Hamiltonian constraint.
void rotation_axis_x (double rot_exp_x)
 Computes the position of the rotation axis X.
void rotation_axis_y (double thres_rot, double rot_exp_y, double fact)
 Computes the position of the rotation axis Y.
void shift_analytic (double reduce_shift_bh, double reduce_shift_ns)
 Sets some analytical template for the initial shift vector.

Protected Member Functions

void del_deriv () const
 Deletes all the derived quantities.
void set_der_0x0 () const
 Sets to 0x0 all the pointers on derived quantities.

Protected Attributes

const Base_vect_cart ref_triad
 Cartesian triad of the absolute reference frame.
Hole_bhns hole
 Black hole.
Star_bhns star
 Neutron star.
double omega
 Angular velocity with respect to an asymptotically inertial observer.
double separ
 Absolute orbital separation between two centers of BH and NS.
double x_rot
 Absolute X coordinate of the rotation axis.
double y_rot
 Absolute Y coordinate of the rotation axis.
double * p_mass_adm_bhns_surf
 Total ADM mass of the system calculated by the surface integral at infinity.
double * p_mass_adm_bhns_vol
 Total ADM mass of the system calculated by the volume integral and the surface integral at the apparent horizon.
double * p_mass_kom_bhns_surf
 Total Komar mass of the system calculated by the surface integral at infinity.
double * p_mass_kom_bhns_vol
 Total Komar mass of the system calculated by the volume integral and the surface integral at the apparent horizon.
Tblp_line_mom_bhns
 Total linear momentum of the system.
Tblp_angu_mom_bhns
 Total angular momentum of the system.
double * p_virial_bhns_surf
 Virial theorem error calculated by the ADM mass and the Komar mass of the surface integral at infinity.
double * p_virial_bhns_vol
 Virial theorem error calculated by the ADM mass and the Komar mass of the volume integral.
double * p_xa_barycenter
 Absolute coordinate X of the barycenter of the baryon density.
double * p_ya_barycenter
 Absolute coordinate Y of the barycenter of the baryon density.
double * p_omega_two_points
 Orbital angular velocity derived from another method.

Private Member Functions

ostream & operator>> (ostream &) const
 Operator >> (function called by the operator <<).

Friends

ostream & operator<< (ostream &ost, const Bin_bhns &bibi)
 Display.

Detailed Description

Class for computing a black hole - neutron star binary system with comparable mass ().

Definition at line 63 of file bin_bhns.h.

Constructor & Destructor Documentation

◆ Bin_bhns() [1/3]

Lorene::Bin_bhns::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.

Relative error on the momentum constraint Standard constructor

Parameters
mp_bhMapping on which the black hole will be defined
mp_nsMapping on which the neutron star will be defined
nzetNumber of domains occupied by the neutron star
eosEquation of state of the neutron star
irrot_nsshould be {\tt true} if NS is irrotational, {\tt false} if NS is corotating
kerrschildshould be {\tt true} if the background metric is Kerr-Schild, {\tt false} if the background metric is conformally flat
bc_lapse_ndshould be {\tt true} if the BC type for lapse is Neumann, {\tt false} if the BC type is Dirichlet
bc_lapse_fsshould be {\tt true} if the BC is first type {\tt false} if the BC is second one
irrot_bhshould be {\tt true} if BH is irrotational, {\tt false} if NS is corotating
mass_bhBlack hole mass which appears in the background metric

Definition at line 70 of file bin_bhns.C.

References hole, Lorene::Map(), omega, ref_triad, separ, set_der_0x0(), star, x_rot, and y_rot.

◆ Bin_bhns() [2/3]

Lorene::Bin_bhns::Bin_bhns ( const Bin_bhns & bibi)

Copy constructor.

Definition at line 91 of file bin_bhns.C.

References Bin_bhns(), hole, omega, ref_triad, separ, set_der_0x0(), star, x_rot, and y_rot.

◆ Bin_bhns() [3/3]

Lorene::Bin_bhns::Bin_bhns ( Map & mp_bh,
Map & mp_ns,
const Eos & eos,
FILE * fich )

Constructor from a file (see sauve(FILE*) ).

Definition at line 108 of file bin_bhns.C.

References Lorene::fread_be(), hole, Lorene::Map(), omega, ref_triad, separ, set_der_0x0(), star, x_rot, and y_rot.

◆ ~Bin_bhns()

Lorene::Bin_bhns::~Bin_bhns ( )
virtual

Destructor.

Definition at line 130 of file bin_bhns.C.

References del_deriv().

Member Function Documentation

◆ angu_mom_bhns()

◆ del_deriv()

void Lorene::Bin_bhns::del_deriv ( ) const
protected

◆ display_poly()

void Lorene::Bin_bhns::display_poly ( ostream & ost) const

Display in polytropic units.

Definition at line 309 of file bin_bhns.C.

References Lorene::Eos_poly::get_gam(), Lorene::Eos_poly::get_kap(), hole, omega, Lorene::pow(), separ, Lorene::sqrt(), and star.

◆ get_bh()

const Hole_bhns & Lorene::Bin_bhns::get_bh ( ) const
inline

Returns a reference to the black hole.

Definition at line 225 of file bin_bhns.h.

References hole.

◆ get_ns()

const Star_bhns & Lorene::Bin_bhns::get_ns ( ) const
inline

Returns a reference to the neutron star.

Definition at line 228 of file bin_bhns.h.

References star.

◆ get_omega()

double Lorene::Bin_bhns::get_omega ( ) const
inline

Returns the orbital angular velocity [{\tt f_unit}].

Definition at line 231 of file bin_bhns.h.

References omega.

◆ get_separ()

double Lorene::Bin_bhns::get_separ ( ) const
inline

Returns the coordinate separation of the binary system [{\tt r_unit}].

Definition at line 236 of file bin_bhns.h.

References separ.

◆ get_x_rot()

double Lorene::Bin_bhns::get_x_rot ( ) const
inline

Returns the absolute coordinate X of the rotation axis [{\tt r_unit}].

Definition at line 241 of file bin_bhns.h.

References x_rot.

◆ get_y_rot()

double Lorene::Bin_bhns::get_y_rot ( ) const
inline

Returns the absolute coordinate Y of the rotation axis [{\tt r_unit}].

Definition at line 246 of file bin_bhns.h.

References y_rot.

◆ line_mom_bhns()

◆ mass_adm_bhns_surf()

◆ mass_adm_bhns_vol()

double Lorene::Bin_bhns::mass_adm_bhns_vol ( ) const

Definition at line 182 of file bin_bhns_global.C.

◆ mass_kom_bhns_surf()

◆ mass_kom_bhns_vol()

double Lorene::Bin_bhns::mass_kom_bhns_vol ( ) const

Definition at line 657 of file bin_bhns_global.C.

◆ omega_two_points()

double Lorene::Bin_bhns::omega_two_points ( ) const

Orbital angular velocity derived from another method.

Definition at line 67 of file bin_bhns_omega_tp.C.

References hole, p_omega_two_points, Lorene::sqrt(), star, Lorene::Scalar::val_grid_point(), x_rot, and y_rot.

◆ operator=()

void Lorene::Bin_bhns::operator= ( const Bin_bhns & bibi)

Assignment to another Bin_bhns.

Definition at line 187 of file bin_bhns.C.

References Bin_bhns(), del_deriv(), hole, omega, ref_triad, separ, star, x_rot, and y_rot.

◆ operator>>()

ostream & Lorene::Bin_bhns::operator>> ( ostream & ost) const
private

Operator >> (function called by the operator <<).

Definition at line 231 of file bin_bhns.C.

References hole, omega, separ, star, and x_rot.

◆ orbit_omega()

void Lorene::Bin_bhns::orbit_omega ( double fact_omeg_min,
double fact_omeg_max )

Estimates the relative error on the Hamiltonian constraint.

Estimates the relative error on the momentum constraint Computes the orbital angular velocity {\tt omega}

@para fact_omeg_min [input] : determines the lower bound of the interval {\tt [omega_min, omega_max]} in which {\tt omega} is searched by {\tt omega_min = fact_omeg_min * omega}, where {\tt omega} is the previous value of the angular velocity (typical value : {\tt fact_omeg_min = 0.5})

Parameters
fact_omeg_max[input] : determines the higher bound of the interval {\tt [omega_min, omega_max]} in which {\tt omega} is searched by {\tt omega_max = fact_omeg_max * omega}, where {\tt omega} is the previous value of the angular velocity. (typical value : {\tt fact_omeg_max = 1.5})

Definition at line 68 of file bin_bhns_orbit.C.

References Lorene::Param::add_double(), Lorene::Scalar::dsdx(), Lorene::Tbl::get_taille(), hole, Lorene::Map(), omega, Lorene::pow(), separ, star, Lorene::Scalar::std_spectral_base(), Lorene::Scalar::val_grid_point(), x_rot, y_rot, Lorene::zero_list(), and Lorene::zerosec_b().

◆ rotation_axis_x()

void Lorene::Bin_bhns::rotation_axis_x ( double rot_exp_x)

Computes the position of the rotation axis X.

Parameters
rot_exp_x[input] : exponent of the factor which modifies the position of the two stars from the rotation axis

Definition at line 58 of file bin_bhns_rotaxis.C.

References hole, line_mom_bhns(), omega, Lorene::pow(), separ, set_x_rot(), and star.

◆ rotation_axis_y()

void Lorene::Bin_bhns::rotation_axis_y ( double thres_rot,
double rot_exp_y,
double fact )

Computes the position of the rotation axis Y.

Parameters
thres_rot[input] : threshold to stop moving to the Y dir.
rot_exp_y[input] : exponent of the factor which modifies the Y position of the neutron star coordinate
fact[input] : factor to multiply to Y_NS

Definition at line 101 of file bin_bhns_rotaxis.C.

References hole, line_mom_bhns(), omega, Lorene::pow(), separ, set_y_rot(), star, xa_barycenter(), and ya_barycenter().

◆ sauve()

void Lorene::Bin_bhns::sauve ( FILE * fich) const
virtual

Save in a file.

Definition at line 210 of file bin_bhns.C.

References Lorene::fwrite_be(), hole, omega, separ, star, x_rot, and y_rot.

◆ set_bh()

Hole_bhns & Lorene::Bin_bhns::set_bh ( )
inline

Read/write of the black hole.

Definition at line 199 of file bin_bhns.h.

References del_deriv(), and hole.

◆ set_der_0x0()

void Lorene::Bin_bhns::set_der_0x0 ( ) const
protected

◆ set_ns()

Star_bhns & Lorene::Bin_bhns::set_ns ( )
inline

Read/write of the neutron star.

Definition at line 204 of file bin_bhns.h.

References del_deriv(), and star.

◆ set_omega()

double & Lorene::Bin_bhns::set_omega ( )
inline

Sets the orbital angular velocity [{\tt f_unit}].

Definition at line 209 of file bin_bhns.h.

References omega.

◆ set_separ()

double & Lorene::Bin_bhns::set_separ ( )
inline

Sets the orbital separation [{\tt r_unit}].

Definition at line 212 of file bin_bhns.h.

References separ.

◆ set_x_rot()

double & Lorene::Bin_bhns::set_x_rot ( )
inline

Sets the absolute coordinate X of the rotation axis [{\tt r_unit}].

Definition at line 215 of file bin_bhns.h.

References x_rot.

◆ set_y_rot()

double & Lorene::Bin_bhns::set_y_rot ( )
inline

Sets the absolute coordinate Y of the rotation axis [{\tt r_unit}].

Definition at line 218 of file bin_bhns.h.

References y_rot.

◆ shift_analytic()

void Lorene::Bin_bhns::shift_analytic ( double reduce_shift_bh,
double reduce_shift_ns )

Sets some analytical template for the initial shift vector.

Parameters
reduce_shift_bh[input] : factor to reduce the initial ansatz
reduce_shift_ns[input] : factor to reduce the initial ansatz

Definition at line 59 of file bin_bhns_shift_ana.C.

References Lorene::Scalar::annule(), Lorene::Tensor::annule_domain(), hole, Lorene::Map(), omega, Lorene::pow(), separ, star, Lorene::Scalar::std_spectral_base(), and Lorene::Scalar::val_grid_point().

◆ virial_bhns_surf()

double Lorene::Bin_bhns::virial_bhns_surf ( ) const

Estimates the relative error on the virial theorem $|1 - M_{\rm Komar} / M_{\rm ADM}|$.

Definition at line 2172 of file bin_bhns_global.C.

References mass_adm_bhns_surf(), mass_kom_bhns_surf(), and p_virial_bhns_surf.

◆ virial_bhns_vol()

double Lorene::Bin_bhns::virial_bhns_vol ( ) const

Estimates the relative error on the virial theorem $|1 - M_{\rm Komar} / M_{\rm ADM}|$.

Definition at line 2187 of file bin_bhns_global.C.

References p_virial_bhns_vol.

◆ xa_barycenter()

double Lorene::Bin_bhns::xa_barycenter ( ) const

◆ ya_barycenter()

double Lorene::Bin_bhns::ya_barycenter ( ) const

◆ operator<<

ostream & operator<< ( ostream & ost,
const Bin_bhns & bibi )
friend

Display.

Definition at line 224 of file bin_bhns.C.

References Bin_bhns(), and operator<<.

Member Data Documentation

◆ hole

Hole_bhns Lorene::Bin_bhns::hole
protected

Black hole.

Definition at line 72 of file bin_bhns.h.

◆ omega

double Lorene::Bin_bhns::omega
protected

Angular velocity with respect to an asymptotically inertial observer.

Definition at line 80 of file bin_bhns.h.

◆ p_angu_mom_bhns

Tbl* Lorene::Bin_bhns::p_angu_mom_bhns
mutableprotected

Total angular momentum of the system.

Definition at line 118 of file bin_bhns.h.

◆ p_line_mom_bhns

Tbl* Lorene::Bin_bhns::p_line_mom_bhns
mutableprotected

Total linear momentum of the system.

Definition at line 115 of file bin_bhns.h.

◆ p_mass_adm_bhns_surf

double* Lorene::Bin_bhns::p_mass_adm_bhns_surf
mutableprotected

Total ADM mass of the system calculated by the surface integral at infinity.

Definition at line 97 of file bin_bhns.h.

◆ p_mass_adm_bhns_vol

double* Lorene::Bin_bhns::p_mass_adm_bhns_vol
mutableprotected

Total ADM mass of the system calculated by the volume integral and the surface integral at the apparent horizon.

Definition at line 102 of file bin_bhns.h.

◆ p_mass_kom_bhns_surf

double* Lorene::Bin_bhns::p_mass_kom_bhns_surf
mutableprotected

Total Komar mass of the system calculated by the surface integral at infinity.

Definition at line 107 of file bin_bhns.h.

◆ p_mass_kom_bhns_vol

double* Lorene::Bin_bhns::p_mass_kom_bhns_vol
mutableprotected

Total Komar mass of the system calculated by the volume integral and the surface integral at the apparent horizon.

Definition at line 112 of file bin_bhns.h.

◆ p_omega_two_points

double* Lorene::Bin_bhns::p_omega_two_points
mutableprotected

Orbital angular velocity derived from another method.

Definition at line 137 of file bin_bhns.h.

◆ p_virial_bhns_surf

double* Lorene::Bin_bhns::p_virial_bhns_surf
mutableprotected

Virial theorem error calculated by the ADM mass and the Komar mass of the surface integral at infinity.

Definition at line 123 of file bin_bhns.h.

◆ p_virial_bhns_vol

double* Lorene::Bin_bhns::p_virial_bhns_vol
mutableprotected

Virial theorem error calculated by the ADM mass and the Komar mass of the volume integral.

Definition at line 128 of file bin_bhns.h.

◆ p_xa_barycenter

double* Lorene::Bin_bhns::p_xa_barycenter
mutableprotected

Absolute coordinate X of the barycenter of the baryon density.

Definition at line 131 of file bin_bhns.h.

◆ p_ya_barycenter

double* Lorene::Bin_bhns::p_ya_barycenter
mutableprotected

Absolute coordinate Y of the barycenter of the baryon density.

Definition at line 134 of file bin_bhns.h.

◆ ref_triad

const Base_vect_cart Lorene::Bin_bhns::ref_triad
protected

Cartesian triad of the absolute reference frame.

Definition at line 69 of file bin_bhns.h.

◆ separ

double Lorene::Bin_bhns::separ
protected

Absolute orbital separation between two centers of BH and NS.

Definition at line 83 of file bin_bhns.h.

◆ star

Star_bhns Lorene::Bin_bhns::star
protected

Neutron star.

Definition at line 75 of file bin_bhns.h.

◆ x_rot

double Lorene::Bin_bhns::x_rot
protected

Absolute X coordinate of the rotation axis.

Definition at line 86 of file bin_bhns.h.

◆ y_rot

double Lorene::Bin_bhns::y_rot
protected

Absolute Y coordinate of the rotation axis.

Definition at line 89 of file bin_bhns.h.


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