Binary systems in eXtended Conformal Thin Sandwich formulation. More...
#include <binary_xcts.h>
Public Member Functions | |
| Binary_xcts (Map &mp1, int nzet1, const Eos &eos1, int irrot1, Map &mp2, int nzet2, const Eos &eos2, int irrot2) | |
| Standard constructor. | |
| Binary_xcts (const Binary_xcts &) | |
| Copy constructor. | |
| Binary_xcts (Map &mp1, const Eos &eos1, Map &mp2, const Eos &eos2, FILE *fich) | |
Constructor from a file (see sauve(FILE* )). | |
| ~Binary_xcts () | |
| Destructor. | |
| void | operator= (const Binary_xcts &) |
Assignment to another Binary_xcts. | |
| Star_bin_xcts & | set (int i) |
| Read/write of the star no. i. | |
| double & | set_omega () |
Sets the orbital angular velocity [f_unit]. | |
| double & | set_x_axe () |
Sets the absolute coordinate X of the rotation axis [r_unit]. | |
| const Star_bin_xcts & | operator() (int i) const |
| Returns a reference to the star no. i. | |
| double | get_omega () const |
Returns the orbital angular velocity [f_unit]. | |
| double | get_x_axe () const |
Returns the absolute coordinate X of the rotation axis [r_unit]. | |
| double | separation () const |
Returns the coordinate separation of the two stellar centers [r_unit]. | |
| void | sauve (FILE *) const |
| Save in a file. | |
| void | display_poly (ostream &) const |
| Display in polytropic units. | |
| void | write_global (ostream &) const |
| Write global quantities in a formatted file. | |
| double | mass_adm () const |
| Total ADM mass. | |
| double | mass_adm_vol () const |
| Total ADM mass (computed by a volume integral). | |
| double | mass_kom () const |
| Total Komar mass. | |
| double | mass_kom_vol () const |
| Total Komar mass (computed by a volume integral). | |
| const Tbl & | angu_mom () const |
| Total angular momentum. | |
| const Tbl & | lin_mom () const |
| Total linear momentum. | |
| double | total_ener () const |
| Total energy (excluding the rest mass energy). | |
| double | virial () const |
| Estimates the relative error on the virial theorem. | |
| double | virial_vol () const |
| Estimates the relative error on the virial theorem (volume version). | |
| double | ham_constr () const |
| Estimates the relative error on the Hamiltonian constraint. | |
| const Tbl & | mom_constr () const |
| Estimates the relative error on the momentum constraint. | |
| void | orbit (double fact_omeg_min, double fact_omeg_max, double &xgg1, double &xgg2) |
Computes the orbital angular velocity omega and the position of the rotation axis x_axe. | |
| void | analytical_omega () |
| Sets the orbital angular velocity to some 2-PN analytical value (Keplerian value in the Newtonian case). | |
| void | analytical_shift () |
Sets some analytical template for the shift vector (via the members w_shift and khi_shift of the two Star_bin. | |
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 | |
| Star_bin_xcts | star1 |
| First star of the system. | |
| Star_bin_xcts | star2 |
| Second star of the system. | |
| Star_bin_xcts * | et [2] |
Array of the two stars (to perform loops on the stars): et[0] contains the address of star1 and et[1] that of star2. | |
| double | omega |
| Angular velocity with respect to an asymptotically inertial observer. | |
| double | x_axe |
| Absolute X coordinate of the rotation axis. | |
| double * | p_mass_adm |
| Total ADM mass of the system. | |
| double * | p_mass_kom |
| Total Komar mass of the system. | |
| Tbl * | p_angu_mom |
| Total angular momentum of the system. | |
| Tbl * | p_lin_mom |
| Total linear momentum of the system. | |
| double * | p_total_ener |
| Total energy of the system. | |
| double * | p_virial |
| Virial theorem error. | |
| double * | p_virial_vol |
| Virial theorem error (volume version). | |
Private Member Functions | |
| ostream & | operator>> (ostream &) const |
| Operator >> (function called by the operator <<). | |
Friends | |
| ostream & | operator<< (ostream &, const Binary_xcts &) |
| Display. | |
Binary systems in eXtended Conformal Thin Sandwich formulation.
*** UNDER DEVELOPMENT *** ()
Definition at line 55 of file binary_xcts.h.
| Binary_xcts::Binary_xcts | ( | Map & | mp1, | |
| int | nzet1, | |||
| const Eos & | eos1, | |||
| int | irrot1, | |||
| Map & | mp2, | |||
| int | nzet2, | |||
| const Eos & | eos2, | |||
| int | irrot2 | |||
| ) |
Standard constructor.
| mp1 | Mapping on which star1 will be defined | |
| nzet1 | Number of domains occupied by star1 | |
| eos1 | Equation of state of star1 | |
| irrot1 | should be true if star1 is irrotational, false if star1 is corotating | |
| mp2 | Mapping on which star2 will be defined | |
| nzet2 | Number of domains occupied by star2 | |
| eos2 | Equation of state of star2 | |
| irrot2 | should be true if star2 is irrotational, false if star2 is corotating |
Definition at line 68 of file binary_xcts.C.
References et, omega, set_der_0x0(), star1, star2, and x_axe.
| Binary_xcts::Binary_xcts | ( | const Binary_xcts & | bibi | ) |
Copy constructor.
Definition at line 92 of file binary_xcts.C.
References et, set_der_0x0(), star1, and star2.
Constructor from a file (see sauve(FILE* )).
| mp1 | Mapping on which star1 will be defined | |
| eos1 | Equation of state of star1 | |
| mp2 | Mapping on which star2 will be defined | |
| eos2 | Equation of state of star2 | |
| fich | input file (must have been created by the function sauve) |
Definition at line 107 of file binary_xcts.C.
References et, fread_be(), omega, set_der_0x0(), star1, star2, and x_axe.
| Binary_xcts::~Binary_xcts | ( | ) |
| void Binary_xcts::analytical_omega | ( | ) |
Sets the orbital angular velocity to some 2-PN analytical value (Keplerian value in the Newtonian case).
Definition at line 46 of file binary_omega_ana_xcts.C.
References del_deriv(), Star_bin_xcts::is_irrotational(), Star_bin_xcts::mass_g(), omega, pow(), Star::ray_eq(), separation(), sqrt(), star1, and star2.
| void Binary_xcts::analytical_shift | ( | ) |
Sets some analytical template for the shift vector (via the members w_shift and khi_shift of the two Star_bin.
Definition at line 49 of file binary_anashift_xcts.C.
References Scalar::annule(), Tensor::dec_dzpuis(), Tenseur::dec_dzpuis(), et, Map::get_bvect_cart(), Star_bin_xcts::get_flat(), Map::get_mg(), Star::get_mp(), Star::get_nzet(), Mg3d::get_nzone(), Star_bin_xcts::mass_g(), omega, Map::r, Star::ray_eq(), separation(), Vector::set(), Tenseur::set(), Tensor::set(), Star_bin_xcts::set_beta_auto(), Tenseur::set_etat_qcq(), Map::sinp, Map::sint, skxk(), Vector::std_spectral_base(), Scalar::std_spectral_base(), and Map::y.
| const Tbl & Binary_xcts::angu_mom | ( | ) | const |
Total angular momentum.
Tbl of size 3, according to angu_mom()(0) =
, angu_mom()(1) =
, angu_mom()(2) =
. Definition at line 209 of file binary_global_xcts.C.
References Tbl::annule_hard(), Vector::change_triad(), contract(), et, Map::get_bvect_cart(), Star::get_ener_euler(), Star_bin_xcts::get_flat(), Star::get_mp(), Star::get_press(), Scalar::integrale(), p_angu_mom, pow(), Tbl::set(), Vector::set(), Vector::std_spectral_base(), Tensor::up_down(), Map::xa, and Map::ya.
| void Binary_xcts::del_deriv | ( | ) | const [protected] |
Deletes all the derived quantities.
Definition at line 142 of file binary_xcts.C.
References p_angu_mom, p_lin_mom, p_mass_adm, p_mass_kom, p_total_ener, p_virial, p_virial_vol, and set_der_0x0().
| void Binary_xcts::display_poly | ( | ostream & | ost | ) | const |
Display in polytropic units.
Definition at line 242 of file binary_xcts.C.
References angu_mom(), Star::get_eos(), Eos_poly::get_gam(), Eos_poly::get_kap(), mass_adm(), Star_bin_xcts::mass_b(), mass_kom(), omega, pow(), Star::ray_eq(), Star::ray_eq_pi(), separation(), sqrt(), star1, star2, and Star_bin_xcts::xa_barycenter().
| double Binary_xcts::get_omega | ( | ) | const [inline] |
Returns the orbital angular velocity [f_unit].
Definition at line 186 of file binary_xcts.h.
References omega.
| double Binary_xcts::get_x_axe | ( | ) | const [inline] |
Returns the absolute coordinate X of the rotation axis [r_unit].
Definition at line 189 of file binary_xcts.h.
References x_axe.
| double Binary_xcts::ham_constr | ( | ) | const |
Estimates the relative error on the Hamiltonian constraint.
| const Tbl & Binary_xcts::lin_mom | ( | ) | const |
Total linear momentum.
Definition at line 264 of file binary_global_xcts.C.
References Tbl::annule_hard(), Vector::change_triad(), et, Star::get_ener_euler(), Star::get_press(), p_lin_mom, pow(), Tbl::set(), and Vector::std_spectral_base().
| double Binary_xcts::mass_adm | ( | ) | const |
Total ADM mass.
Definition at line 78 of file binary_global_xcts.C.
References Vector::change_triad(), et, Map::get_bvect_spher(), Star_bin_xcts::get_flat(), Map_af::integrale_surface_infini(), and p_mass_adm.
| double Binary_xcts::mass_adm_vol | ( | ) | const |
Total ADM mass (computed by a volume integral).
Definition at line 109 of file binary_global_xcts.C.
References et, Star::get_ener_euler(), Star_bin_xcts::get_hacar_auto(), Star_bin_xcts::get_hacar_comp(), Scalar::integrale(), pow(), and Scalar::std_spectral_base().
| double Binary_xcts::mass_kom | ( | ) | const |
Total Komar mass.
Definition at line 145 of file binary_global_xcts.C.
References Vector::change_triad(), Scalar::derive_con(), et, Map::get_bvect_spher(), Star_bin_xcts::get_flat(), Star::get_logn(), Map_af::integrale_surface_infini(), and p_mass_kom.
| double Binary_xcts::mass_kom_vol | ( | ) | const |
Total Komar mass (computed by a volume integral).
Definition at line 172 of file binary_global_xcts.C.
References et, Star_bin_xcts::get_chi(), Star::get_ener_euler(), Star_bin_xcts::get_hacar_auto(), Star_bin_xcts::get_hacar_comp(), Star_bin_xcts::get_Psi(), Star_bin_xcts::get_psi4(), Star::get_s_euler(), Scalar::integrale(), pow(), and Scalar::std_spectral_base().
| const Tbl& Binary_xcts::mom_constr | ( | ) | const |
Estimates the relative error on the momentum constraint.
| const Star_bin_xcts& Binary_xcts::operator() | ( | int | i | ) | const [inline] |
| void Binary_xcts::operator= | ( | const Binary_xcts & | bibi | ) |
Assignment to another Binary_xcts.
Definition at line 178 of file binary_xcts.C.
References del_deriv(), omega, star1, star2, and x_axe.
| ostream & Binary_xcts::operator>> | ( | ostream & | ost | ) | const [private] |
Operator >> (function called by the operator <<).
Definition at line 215 of file binary_xcts.C.
References omega, separation(), star1, star2, and x_axe.
| void Binary_xcts::orbit | ( | double | fact_omeg_min, | |
| double | fact_omeg_max, | |||
| double & | xgg1, | |||
| double & | xgg2 | |||
| ) |
Computes the orbital angular velocity omega and the position of the rotation axis x_axe.
| fact_omeg_min | [input] : determines the lower bound of the interval [omega_min, omega_max] in which omega is searched by omega_min = fact_omeg_min * omega, where omega is the previous value of the angular velocity (typical value : fact_omeg_min = 0.5) | |
| fact_omeg_max | [input] : determines the higher bound of the interval [omega_min, omega_max] in which omega is searched by omega_max = fact_omeg_max * omega, where omega is the previous value of the angular velocity. (typical value : fact_omeg_max = 1.5) | |
| xgg1 | [output] : x coordinate (relative to star 1 mapping) of the ``center of mass'' of star 1 | |
| xgg2 | [output] : x coordinate (relative to star 2 mapping) of the ``center of mass'' of star 2 |
Definition at line 90 of file binary_orbit_xcts.C.
References Param::add_double(), Param::add_int(), Vector::change_triad(), contract(), Scalar::dsdx(), et, Star::get_beta(), Map::get_bvect_cart(), Star_bin_xcts::get_chi_auto(), Star_bin_xcts::get_chi_comp(), Star::get_eos(), Star_bin_xcts::get_flat(), Star_bin_xcts::get_loggam(), Star::get_mp(), Star_bin_xcts::get_Psi_auto(), Star_bin_xcts::get_Psi_comp(), Map::get_rot_phi(), Tbl::get_taille(), log(), omega, pow(), save_profile(), Scalar::std_spectral_base(), Tensor::up_down(), Scalar::val_grid_point(), x_axe, Star_bin_xcts::xa_barycenter(), zero_list(), zerosec(), and zerosec_b().
| void Binary_xcts::sauve | ( | FILE * | fich | ) | const |
Save in a file.
Definition at line 196 of file binary_xcts.C.
References fwrite_be(), omega, Star_bin_xcts::sauve(), star1, star2, and x_axe.
| double Binary_xcts::separation | ( | ) | const |
Returns the coordinate separation of the two stellar centers [r_unit].
Definition at line 430 of file binary_xcts.C.
References Map::get_ori_x(), Map::get_ori_y(), Map::get_ori_z(), Star::mp, sqrt(), star1, and star2.
| Star_bin_xcts& Binary_xcts::set | ( | int | i | ) | [inline] |
Read/write of the star no. i.
Definition at line 163 of file binary_xcts.h.
References del_deriv(), and et.
| void Binary_xcts::set_der_0x0 | ( | ) | const [protected] |
Sets to 0x0 all the pointers on derived quantities.
Definition at line 158 of file binary_xcts.C.
References p_angu_mom, p_lin_mom, p_mass_adm, p_mass_kom, p_total_ener, p_virial, and p_virial_vol.
| double& Binary_xcts::set_omega | ( | ) | [inline] |
Sets the orbital angular velocity [f_unit].
Definition at line 171 of file binary_xcts.h.
References omega.
| double& Binary_xcts::set_x_axe | ( | ) | [inline] |
Sets the absolute coordinate X of the rotation axis [r_unit].
Definition at line 174 of file binary_xcts.h.
References x_axe.
| double Binary_xcts::total_ener | ( | ) | const |
Total energy (excluding the rest mass energy).
In the Newtonian case, it is defined as the sum of kinetic, internal, and gravitational potential energies.
In the relativistic case, it is defined as
.
Definition at line 303 of file binary_global_xcts.C.
References mass_adm(), Star_bin_xcts::mass_b(), p_total_ener, star1, and star2.
| double Binary_xcts::virial | ( | ) | const |
Estimates the relative error on the virial theorem.
Definition at line 322 of file binary_global_xcts.C.
References mass_adm(), mass_kom(), and p_virial.
| double Binary_xcts::virial_vol | ( | ) | const |
Estimates the relative error on the virial theorem (volume version).
Definition at line 341 of file binary_global_xcts.C.
References mass_adm_vol(), mass_kom_vol(), and p_virial_vol.
| void Binary_xcts::write_global | ( | ostream & | ost | ) | const |
Write global quantities in a formatted file.
This file can be read by an external program.
Definition at line 292 of file binary_xcts.C.
References angu_mom(), Star::ent, Star::get_ener(), Star::get_ent(), Star::get_eos(), Eos_poly::get_gam(), Eos_poly::get_kap(), Map::get_mg(), Star::get_mp(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), mass_adm(), mass_adm_vol(), Star_bin_xcts::mass_b(), mass_kom(), mass_kom_vol(), omega, pow(), Star::ray_eq(), Star::ray_eq_pis2(), Star::ray_pole(), separation(), sqrt(), star1, star2, Scalar::val_grid_point(), Map::val_r(), virial(), virial_vol(), and Star_bin_xcts::xa_barycenter().
| ostream& operator<< | ( | ostream & | , | |
| const Binary_xcts & | ||||
| ) | [friend] |
Display.
Star_bin_xcts* Binary_xcts::et[2] [protected] |
Array of the two stars (to perform loops on the stars): et[0] contains the address of star1 and et[1] that of star2.
Definition at line 71 of file binary_xcts.h.
double Binary_xcts::omega [protected] |
Angular velocity with respect to an asymptotically inertial observer.
Definition at line 76 of file binary_xcts.h.
Tbl* Binary_xcts::p_angu_mom [mutable, protected] |
Total angular momentum of the system.
Definition at line 93 of file binary_xcts.h.
Tbl* Binary_xcts::p_lin_mom [mutable, protected] |
Total linear momentum of the system.
Definition at line 96 of file binary_xcts.h.
double* Binary_xcts::p_mass_adm [mutable, protected] |
Total ADM mass of the system.
Definition at line 87 of file binary_xcts.h.
double* Binary_xcts::p_mass_kom [mutable, protected] |
Total Komar mass of the system.
Definition at line 90 of file binary_xcts.h.
double* Binary_xcts::p_total_ener [mutable, protected] |
Total energy of the system.
Definition at line 99 of file binary_xcts.h.
double* Binary_xcts::p_virial [mutable, protected] |
Virial theorem error.
Definition at line 102 of file binary_xcts.h.
double* Binary_xcts::p_virial_vol [mutable, protected] |
Virial theorem error (volume version).
Definition at line 105 of file binary_xcts.h.
Star_bin_xcts Binary_xcts::star1 [protected] |
First star of the system.
Definition at line 62 of file binary_xcts.h.
Star_bin_xcts Binary_xcts::star2 [protected] |
Second star of the system.
Definition at line 65 of file binary_xcts.h.
double Binary_xcts::x_axe [protected] |
Absolute X coordinate of the rotation axis.
Definition at line 80 of file binary_xcts.h.
1.6.1