Class for stars in binary system. More...
#include <etoile.h>
Public Member Functions | |
Etoile_bin (Map &mp_i, int nzet_i, bool relat, const Eos &eos_i, bool irrot, const Base_vect &ref_triad_i) | |
Standard constructor. | |
Etoile_bin (const Etoile_bin &) | |
Copy constructor. | |
Etoile_bin (Map &mp_i, const Eos &eos_i, const Base_vect &ref_triad_i, FILE *fich) | |
Constructor from a file (see sauve(FILE*) ). | |
virtual | ~Etoile_bin () |
Destructor. | |
void | operator= (const Etoile_bin &) |
Assignment to another Etoile_bin . | |
Tenseur & | set_logn_comp () |
Read/write the part of the lapse logarithm (gravitational potential at the Newtonian limit) generated principaly by the companion star. | |
Tenseur & | set_pot_centri () |
Read/write the centrifugal potential. | |
Tenseur & | set_w_shift () |
Read/write of w_shift . | |
Tenseur & | set_khi_shift () |
Read/write of khi_shift . | |
bool | is_irrotational () const |
Returns true for an irrotational motion, false for a corotating one. | |
const Tenseur & | get_psi0 () const |
Returns the non-translational part of the velocity potential. | |
const Tenseur & | get_d_psi () const |
Returns the gradient of the velocity potential (Cartesian components with respect to ref_triad ). | |
const Tenseur & | get_wit_w () const |
Returns the spatial projection of the fluid 3-velocity with respect to the co-orbiting observer. | |
const Tenseur & | get_loggam () const |
Returns the logarithm of the Lorentz factor between the fluid and the co-orbiting observer. | |
const Tenseur & | get_logn_comp () const |
Returns the part of the lapse logarithm (gravitational potential at the Newtonian limit) generated principaly by the companion star. | |
const Tenseur & | get_d_logn_auto () const |
Returns the gradient of logn_auto (Cartesian components with respect to ref_triad ). | |
const Tenseur & | get_d_logn_auto_regu () const |
Returns the gradient of logn_auto_regu (Cartesian components with respect to ref_triad ). | |
const Tenseur & | get_d_logn_comp () const |
Returns the gradient of logn_comp (Cartesian components with respect to ref_triad ). | |
const Tenseur & | get_beta_comp () const |
Returns the part of the logarithm of AN generated principaly by the companion star. | |
const Tenseur & | get_d_beta_auto () const |
Returns the gradient of beta_auto (Cartesian components with respect to ref_triad ). | |
const Tenseur & | get_d_beta_comp () const |
Returns the gradient of beta_comp (Cartesian components with respect to ref_triad ). | |
const Tenseur & | get_shift_auto () const |
Returns the part of the shift vector ![]() | |
const Tenseur & | get_shift_comp () const |
Returns the part of the shift vector ![]() | |
const Tenseur & | get_w_shift () const |
Returns the vector ![]() shift_auto , following Shibata's prescription [Prog. | |
const Tenseur & | get_khi_shift () const |
Returns the scalar ![]() shift_auto following Shibata's prescription [Prog. | |
const Tenseur_sym & | get_tkij_auto () const |
Returns the part of the extrinsic curvature tensor ![]() shift_auto . | |
const Tenseur_sym & | get_tkij_comp () const |
Returns the part of the extrinsic curvature tensor ![]() shift_comp . | |
const Tenseur & | get_akcar_auto () const |
Returns the part of the scalar ![]() shift_auto , i.e. | |
const Tenseur & | get_akcar_comp () const |
Returns the part of the scalar ![]() shift_auto and shift_comp , i.e. | |
const Tenseur & | get_bsn () const |
Returns the shift vector, divided by N , of the rotating coordinates, ![]() | |
const Tenseur & | get_pot_centri () const |
Returns the centrifugal potential. | |
const Cmp | get_decouple () const |
Returns the function used to construct tkij_auto from tkij_tot . | |
virtual void | sauve (FILE *) const |
Save in a file. | |
virtual double | mass_b () const |
Baryon mass. | |
virtual double | mass_g () const |
Gravitational mass. | |
virtual double | xa_barycenter () const |
Absolute coordinate X of the barycenter of the baryon density, defined according to the formula
where | |
virtual Tenseur | sprod (const Tenseur &t1, const Tenseur &t2) const |
Performs the scalar product of two tensors by contracting the last index of t1 with the first index of t2 . | |
virtual void | hydro_euler () |
Computes the hydrodynamical quantities relative to the Eulerian observer from those in the fluid frame, as well as wit_w and loggam . | |
void | update_metric (const Etoile_bin &comp) |
Computes metric coefficients from known potentials, when the companion is another star. | |
void | update_metric (const Etoile_bin &comp, const Etoile_bin &star_prev, double relax) |
Same as update_metric (const Etoile_bin& ) but with relaxation. | |
void | update_metric_der_comp (const Etoile_bin &comp) |
Computes the derivative of metric functions related to the companion star. | |
virtual void | kinematics (double omega, double x_axe) |
Computes the quantities bsn and pot_centri . | |
void | fait_d_psi () |
Computes the gradient of the total velocity potential ![]() | |
void | fait_shift_auto () |
Computes shift_auto from w_shift and khi_shift according to Shibata's prescription [Prog. | |
virtual void | extrinsic_curvature () |
Computes tkij_auto and akcar_auto from shift_auto , nnn and a_car . | |
void | equilibrium (double ent_c, int mermax, int mermax_poisson, double relax_poisson, int mermax_potvit, double relax_potvit, double thres_adapt, const Tbl &fact, Tbl &diff, const Tbl *ent_limit=0x0) |
Computes an equilibrium configuration. | |
void | equil_regular (double ent_c, int mermax, int mermax_poisson, double relax_poisson, int mermax_potvit, double relax_potvit, double thres_adapt, const Tbl &fact, Tbl &diff) |
Computes an equilibrium configuration by regularizing the diverging source. | |
double | velocity_potential (int mermax, double precis, double relax) |
Computes the non-translational part of the velocity scalar potential ![]() | |
void | relaxation (const Etoile_bin &star_prev, double relax_ent, double relax_met, int mer, int fmer_met) |
Performs a relaxation on ent , logn_auto , beta_auto and shift_auto . | |
Map & | set_mp () |
Read/write of the mapping. | |
void | set_enthalpy (const Cmp &) |
Assignment of the enthalpy field. | |
virtual void | equation_of_state () |
Computes the proper baryon and energy density, as well as pressure from the enthalpy. | |
virtual void | equilibrium_spher (double ent_c, double precis=1.e-14, const Tbl *ent_limit=0x0) |
Computes a spherical static configuration. | |
void | equil_spher_regular (double ent_c, double precis=1.e-14) |
Computes a spherical static configuration. | |
virtual void | equil_spher_falloff (double ent_c, double precis=1.e-14) |
Computes a spherical static configuration with the outer boundary condition at a finite radius. | |
const Map & | get_mp () const |
Returns the mapping. | |
int | get_nzet () const |
Returns the number of domains occupied by the star. | |
bool | is_relativistic () const |
Returns true for a relativistic star, false for a Newtonian one. | |
const Eos & | get_eos () const |
Returns the equation of state. | |
const Tenseur & | get_ent () const |
Returns the enthalpy field. | |
const Tenseur & | get_nbar () const |
Returns the proper baryon density. | |
const Tenseur & | get_ener () const |
Returns the proper total energy density. | |
const Tenseur & | get_press () const |
Returns the fluid pressure. | |
const Tenseur & | get_ener_euler () const |
Returns the total energy density with respect to the Eulerian observer. | |
const Tenseur & | get_s_euler () const |
Returns the trace of the stress tensor in the Eulerian frame. | |
const Tenseur & | get_gam_euler () const |
Returns the Lorentz factor between the fluid and Eulerian observers. | |
const Tenseur & | get_u_euler () const |
Returns the fluid 3-velocity with respect to the Eulerian observer. | |
const Tenseur & | get_logn_auto () const |
Returns the logarithm of the part of the lapse N generated principaly by the star. | |
const Tenseur & | get_logn_auto_regu () const |
Returns the regular part of the logarithm of the part of the lapse N generated principaly by the star. | |
const Tenseur & | get_logn_auto_div () const |
Returns the divergent part of the logarithm of the part of the lapse N generated principaly by the star. | |
const Tenseur & | get_d_logn_auto_div () const |
Returns the gradient of logn_auto_div . | |
const Tenseur & | get_beta_auto () const |
Returns the logarithm of the part of the product AN generated principaly by the star. | |
const Tenseur & | get_nnn () const |
Returns the total lapse function N. | |
const Tenseur & | get_shift () const |
Returns the total shift vector ![]() | |
const Tenseur & | get_a_car () const |
Returns the total conformal factor ![]() | |
double | ray_eq () const |
Coordinate radius at ![]() ![]() | |
double | ray_eq (int kk) const |
Coordinate radius at ![]() ![]() | |
double | ray_eq_pis2 () const |
Coordinate radius at ![]() ![]() | |
double | ray_eq_pi () const |
Coordinate radius at ![]() ![]() | |
double | ray_eq_3pis2 () const |
Coordinate radius at ![]() ![]() | |
double | ray_pole () const |
Coordinate radius at ![]() | |
virtual const Itbl & | l_surf () const |
Description of the stellar surface: returns a 2-D Itbl containing the values of the domain index l on the surface at the collocation points in ![]() | |
const Tbl & | xi_surf () const |
Description of the stellar surface: returns a 2-D Tbl containing the values of the radial coordinate ![]() ![]() | |
Protected Member Functions | |
virtual void | del_deriv () const |
Deletes all the derived quantities. | |
virtual void | set_der_0x0 () const |
Sets to 0x0 all the pointers on derived quantities. | |
virtual void | del_hydro_euler () |
Sets to ETATNONDEF (undefined state) the hydrodynamical quantities relative to the Eulerian observer. | |
virtual ostream & | operator>> (ostream &) const |
Operator >> (virtual function called by the operator <<). | |
Protected Attributes | |
bool | irrotational |
true for an irrotational star, false for a corotating one | |
const Base_vect & | ref_triad |
Reference triad ("absolute frame"), with respect to which the components of all the member Tenseur 's are defined, except for w_shift and ssjm1_wshift . | |
Tenseur | psi0 |
Scalar potential ![]() | |
Tenseur | d_psi |
Gradient of ![]() ref_triad ). | |
Tenseur | wit_w |
Spatial projection of the fluid 3-velocity with respect to the co-orbiting observer. | |
Tenseur | loggam |
Logarithm of the Lorentz factor between the fluid and the co-orbiting observer. | |
Tenseur | logn_comp |
Part of the lapse logarithm (gravitational potential at the Newtonian limit) generated principaly by the companion star. | |
Tenseur | d_logn_auto |
Gradient of logn_auto (Cartesian components with respect to ref_triad ). | |
Tenseur | d_logn_auto_regu |
Gradient of logn_auto_regu (Cartesian components with respect to ref_triad ). | |
Tenseur | d_logn_comp |
Gradient of logn_comp (Cartesian components with respect to ref_triad ). | |
Tenseur | beta_comp |
Part of the logarithm of AN generated principaly by the companion star. | |
Tenseur | d_beta_auto |
Gradient of beta_auto (Cartesian components with respect to ref_triad ). | |
Tenseur | d_beta_comp |
Gradient of beta_comp (Cartesian components with respect to ref_triad ). | |
Tenseur | shift_auto |
Part of the shift vector ![]() | |
Tenseur | shift_comp |
Part of the shift vector ![]() | |
Tenseur | w_shift |
Vector ![]() shift_auto , following Shibata's prescription [Prog. | |
Tenseur | khi_shift |
Scalar ![]() shift_auto , following Shibata's prescription [Prog. | |
Tenseur_sym | tkij_auto |
Part of the extrinsic curvature tensor ![]() shift_auto . | |
Tenseur_sym | tkij_comp |
Part of the extrinsic curvature tensor ![]() shift_comp . | |
Tenseur | akcar_auto |
Part of the scalar ![]() shift_auto , i.e. | |
Tenseur | akcar_comp |
Part of the scalar ![]() shift_auto and shift_comp , i.e. | |
Tenseur | bsn |
3-vector shift, divided by N , of the rotating coordinates, ![]() | |
Tenseur | pot_centri |
Centrifugal potential. | |
Cmp | ssjm1_logn |
Effective source at the previous step for the resolution of the Poisson equation for logn_auto by means of Map_et::poisson . | |
Cmp | ssjm1_beta |
Effective source at the previous step for the resolution of the Poisson equation for beta_auto by means of Map_et::poisson . | |
Cmp | ssjm1_khi |
Effective source at the previous step for the resolution of the Poisson equation for the scalar ![]() Map_et::poisson . | |
Tenseur | ssjm1_wshift |
Effective source at the previous step for the resolution of the vector Poisson equation for ![]() Map_et::poisson . | |
Cmp | ssjm1_psi |
Effective source at the previous step for the resolution of the Poisson equation for the scalar ![]() Map_et::poisson_interne . | |
Cmp | decouple |
Function used to construct the part of ![]() ![]() | |
double * | p_xa_barycenter |
Absolute coordinate X of the barycenter of the baryon density. | |
Map & | mp |
Mapping associated with the star. | |
int | nzet |
Number of domains of *mp occupied by the star. | |
bool | relativistic |
Indicator of relativity: true for a relativistic star, false for a Newtonian one. | |
double | unsurc2 |
![]() unsurc2=1 for a relativistic star, 0 for a Newtonian one. | |
int | k_div |
Index of regularity of the gravitational potential logn_auto . | |
const Eos & | eos |
Equation of state of the stellar matter. | |
Tenseur | ent |
Log-enthalpy (relativistic case) or specific enthalpy (Newtonian case). | |
Tenseur | nbar |
Baryon density in the fluid frame. | |
Tenseur | ener |
Total energy density in the fluid frame. | |
Tenseur | press |
Fluid pressure. | |
Tenseur | ener_euler |
Total energy density in the Eulerian frame. | |
Tenseur | s_euler |
Trace of the stress tensor in the Eulerian frame. | |
Tenseur | gam_euler |
Lorentz factor between the fluid and Eulerian observers. | |
Tenseur | u_euler |
Fluid 3-velocity with respect to the Eulerian observer. | |
Tenseur | logn_auto |
Total of the logarithm of the part of the lapse N generated principaly by the star. | |
Tenseur | logn_auto_regu |
Regular part of the logarithm of the part of the lapse N generated principaly by the star. | |
Tenseur | logn_auto_div |
Divergent part (if k_div!=0 ) of the logarithm of the part of the lapse N generated principaly by the star. | |
Tenseur | d_logn_auto_div |
Gradient of logn_auto_div (if k_div!=0 ). | |
Tenseur | beta_auto |
Logarithm of the part of the product AN generated principaly by by the star. | |
Tenseur | nnn |
Total lapse function. | |
Tenseur | shift |
Total shift vector. | |
Tenseur | a_car |
Total conformal factor ![]() | |
double * | p_ray_eq |
Coordinate radius at ![]() ![]() | |
double * | p_ray_eq_pis2 |
Coordinate radius at ![]() ![]() | |
double * | p_ray_eq_pi |
Coordinate radius at ![]() ![]() | |
double * | p_ray_eq_3pis2 |
Coordinate radius at ![]() ![]() | |
double * | p_ray_pole |
Coordinate radius at ![]() | |
Itbl * | p_l_surf |
Description of the stellar surface: 2-D Itbl containing the values of the domain index l on the surface at the collocation points in ![]() | |
Tbl * | p_xi_surf |
Description of the stellar surface: 2-D Tbl containing the values of the radial coordinate ![]() ![]() | |
double * | p_mass_b |
Baryon mass. | |
double * | p_mass_g |
Gravitational mass. | |
Friends | |
class | Bin_ns_bh |
Friend class Bin_ns_bh. | |
ostream & | operator<< (ostream &, const Etoile &) |
Display. |
Class for stars in binary system.
()
This class implements the formalism for corotating or irrotational systems presented in Bonazzola, Gourgoulhon & Marck Phys. Rev. Lett. 82 , 892 (1999). In particular, the conformal 3-metric introduced in Eq.~(eetoilemetrique}) is flat.
An Etoile_bin
can be construted in two states, represented by the bool
member irrotational
: (i) irrotational (i.e. the fluid motion is irrotational) or (ii) rigidly corotating with respect to the orbital motion (synchronized binary).
Definition at line 799 of file etoile.h.
Etoile_bin::Etoile_bin | ( | Map & | mp_i, | |
int | nzet_i, | |||
bool | relat, | |||
const Eos & | eos_i, | |||
bool | irrot, | |||
const Base_vect & | ref_triad_i | |||
) |
Standard constructor.
mp_i | Mapping on which the star will be defined | |
nzet_i | Number of domains occupied by the star | |
relat | should be true for a relativistic star, false for a Newtonian one | |
eos_i | Equation of state of the stellar matter | |
irrot | should be true for an irrotational star, false for a corotating one | |
ref_triad_i | Reference triad ("absolute frame"), with respect to which the components of all the member Tenseur 's are defined, except for w_shift and ssjm1_wshift whose components are defined with respect to the mapping mp Cartesian triad. |
Definition at line 203 of file etoile_bin.C.
References akcar_auto, akcar_comp, beta_comp, bsn, d_beta_auto, d_beta_comp, d_logn_auto, d_logn_auto_regu, d_logn_comp, d_psi, khi_shift, loggam, logn_comp, pot_centri, psi0, ref_triad, Tenseur::set(), set_der_0x0(), Tenseur::set_etat_qcq(), Tenseur::set_etat_zero(), Tenseur::set_triad(), Etoile::shift, shift_auto, shift_comp, ssjm1_beta, ssjm1_khi, ssjm1_logn, ssjm1_psi, ssjm1_wshift, tkij_auto, tkij_comp, Etoile::u_euler, w_shift, and wit_w.
Etoile_bin::Etoile_bin | ( | const Etoile_bin & | et | ) |
Etoile_bin::Etoile_bin | ( | Map & | mp_i, | |
const Eos & | eos_i, | |||
const Base_vect & | ref_triad_i, | |||
FILE * | fich | |||
) |
Constructor from a file (see sauve(FILE*)
).
mp_i | Mapping on which the star will be defined | |
eos_i | Equation of state of the stellar matter | |
ref_triad_i | Reference triad ("absolute frame"), with respect to which the components of all the member Tenseur 's are defined, except for w_shift and ssjm1_wshift whose components are defined with respect to the mapping mp Cartesian triad. | |
fich | input file (must have been created by the function sauve ) |
Definition at line 325 of file etoile_bin.C.
References akcar_auto, akcar_comp, beta_comp, bsn, d_beta_auto, d_beta_comp, d_logn_auto, d_logn_auto_regu, d_logn_comp, d_psi, fait_shift_auto(), Etoile::gam_euler, Map::get_bvect_cart(), Map::get_mg(), irrotational, khi_shift, loggam, logn_comp, Etoile::mp, pot_centri, psi0, ref_triad, set_der_0x0(), Tenseur::set_etat_zero(), Tenseur::set_triad(), Etoile::shift, shift_comp, ssjm1_beta, ssjm1_khi, ssjm1_logn, ssjm1_psi, ssjm1_wshift, tkij_auto, tkij_comp, Etoile::u_euler, w_shift, and wit_w.
Etoile_bin::~Etoile_bin | ( | ) | [virtual] |
void Etoile_bin::del_deriv | ( | ) | const [protected, virtual] |
Deletes all the derived quantities.
Reimplemented from Etoile.
Definition at line 443 of file etoile_bin.C.
References p_xa_barycenter, and set_der_0x0().
void Etoile_bin::del_hydro_euler | ( | ) | [protected, virtual] |
Sets to ETATNONDEF
(undefined state) the hydrodynamical quantities relative to the Eulerian observer.
Reimplemented from Etoile.
Definition at line 463 of file etoile_bin.C.
References del_deriv().
void Etoile::equation_of_state | ( | ) | [virtual, inherited] |
Computes the proper baryon and energy density, as well as pressure from the enthalpy.
Reimplemented in Et_rot_bifluid, and Et_magnetisation.
Definition at line 562 of file etoile.C.
References Param::add_int(), Cmp::allocate_all(), Etoile::del_deriv(), Etoile::ener, Eos::ener_ent(), Etoile::ent, Etoile::eos, Mg3d::get_grille3d(), Map::get_mg(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Etoile::mp, Etoile::nbar, Eos::nbar_ent(), Etoile::nzet, Etoile::press, Eos::press_ent(), Tenseur::set(), Cmp::set(), Mtbl::set(), Tenseur::set_etat_qcq(), Tbl::set_etat_qcq(), Mtbl::set_etat_qcq(), Tenseur::set_std_base(), Cmp::std_base_scal(), Mtbl::t, and Grille3d::x.
void Etoile_bin::equil_regular | ( | double | ent_c, | |
int | mermax, | |||
int | mermax_poisson, | |||
double | relax_poisson, | |||
int | mermax_potvit, | |||
double | relax_potvit, | |||
double | thres_adapt, | |||
const Tbl & | fact, | |||
Tbl & | diff | |||
) |
Computes an equilibrium configuration by regularizing the diverging source.
The values of logn_comp
, beta_comp
, pot_centri
are held fixed during the iteration.
ent_c | [input] Central enthalpy | |
ent_limit | is the table of enthalpy values on the domain borders | |
mermax | [input] Maximum number of steps | |
mermax_poisson | [input] Maximum number of steps in Map_et::poisson | |
relax_poisson | [input] Relaxation factor in Map_et::poisson | |
mermax_potvit | [input] Maximum number of steps in Map_radial::poisson_compact | |
relax_potvit | [input] Relaxation factor in Map_radial::poisson_compact | |
thres_adapt | [input] Threshold on dH/dr for the adaptation of the mapping | |
fact | [input] 1-D Tbl for the input of some factors :
| |
diff | [output] 1-D Tbl for the storage of some error indicators :
|
Definition at line 139 of file et_bin_equil_regu.C.
References Etoile::a_car, abs(), Map::adapt(), Param::add_cmp_mod(), Param::add_double(), Param::add_int(), Param::add_int_mod(), Param::add_tbl(), Param::add_tenseur_mod(), akcar_auto, akcar_comp, Etoile::beta_auto, Tenseur::change_triad(), contract(), d_beta_auto, d_beta_comp, d_logn_auto, Etoile::d_logn_auto_div, d_logn_comp, Tenseur::dec2_dzpuis(), Eos::der_ener_ent_p(), Eos::der_nbar_ent_p(), diffrel(), Etoile::ener_euler, Etoile::ent, Etoile::eos, Etoile::equation_of_state(), Cmp::filtre(), flat_scalar_prod_desal(), Map::get_bvect_cart(), Map::get_mg(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Tenseur::gradient(), Map_et::homothetie(), hydro_euler(), Tenseur::inc2_dzpuis(), irrotational, Etoile::k_div, khi_shift, loggam, Etoile::logn_auto, Etoile::logn_auto_div, Etoile::logn_auto_regu, logn_comp, max(), Etoile::mp, Etoile::nbar, Etoile::nnn, Etoile::nzet, Tenseur::poisson_vect_regu(), pot_centri, Etoile::press, Etoile::ray_eq(), Etoile::ray_pole(), Map::reevaluate_symy(), ref_triad, Etoile::relativistic, Map::resize(), Etoile::s_euler, Tenseur::set(), Tbl::set(), Tenseur::set_etat_qcq(), Tbl::set_etat_qcq(), Tenseur::set_std_base(), shift_auto, sqrt(), ssjm1_beta, ssjm1_khi, ssjm1_logn, ssjm1_wshift, Cmp::std_base_scal(), tkij_auto, Etoile::u_euler, Map::val_r(), velocity_potential(), and w_shift.
void Etoile::equil_spher_falloff | ( | double | ent_c, | |
double | precis = 1.e-14 | |||
) | [virtual, inherited] |
Computes a spherical static configuration with the outer boundary condition at a finite radius.
ent_c | [input] central value of the enthalpy | |
precis | [input] threshold in the relative difference between the enthalpy fields of two consecutive steps to stop the iterative procedure (default value: 1.e-14) |
Definition at line 53 of file etoile_eqsph_falloff.C.
References Etoile::a_car, Tenseur::annule(), Etoile::beta_auto, diffrel(), Cmp::dsdr(), Map_af::dsdr(), Etoile::ener, Etoile::ener_euler, Etoile::ent, Etoile::equation_of_state(), exp(), Etoile::gam_euler, Map::get_mg(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Map_af::homothetie(), Etoile::logn_auto, Etoile::mass_b(), Etoile::mass_g(), Etoile::mp, Etoile::nbar, Etoile::nnn, norme(), Etoile::nzet, Etoile::press, Etoile::relativistic, Etoile::s_euler, Tenseur::set(), Tenseur::set_etat_qcq(), Tenseur::set_std_base(), Etoile::shift, sqrt(), Etoile::u_euler, Etoile::unsurc2, and Map::val_r().
void Etoile::equil_spher_regular | ( | double | ent_c, | |
double | precis = 1.e-14 | |||
) | [inherited] |
Computes a spherical static configuration.
The sources for Poisson equations are regularized by extracting analytical diverging parts.
ent_c | [input] central value of the enthalpy | |
precis | [input] threshold in the relative difference between the enthalpy fields of two consecutive steps to stop the iterative procedure (default value: 1.e-14) |
Definition at line 110 of file et_equil_spher_regu.C.
References Etoile::a_car, Tenseur::annule(), Etoile::beta_auto, Etoile::d_logn_auto_div, Eos::der_ener_ent_p(), Eos::der_nbar_ent_p(), diffrel(), Map_af::dsdr(), Etoile::ener, Etoile::ener_euler, Etoile::ent, Etoile::eos, Etoile::equation_of_state(), exp(), Etoile::gam_euler, Map::get_bvect_spher(), Map::get_mg(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Tenseur::gradient_spher(), Map_af::homothetie(), Etoile::k_div, Etoile::logn_auto, Etoile::logn_auto_div, Etoile::logn_auto_regu, Etoile::mass_b(), Etoile::mass_g(), Etoile::mp, Etoile::nbar, Etoile::nnn, norme(), Etoile::nzet, Map_af::poisson(), Map_af::poisson_regular(), Etoile::press, Etoile::relativistic, Etoile::s_euler, Tenseur::set(), Tenseur::set_etat_qcq(), Tenseur::set_std_base(), Etoile::shift, sqrt(), Cmp::std_base_scal(), Etoile::u_euler, Etoile::unsurc2, and Map::val_r().
void Etoile_bin::equilibrium | ( | double | ent_c, | |
int | mermax, | |||
int | mermax_poisson, | |||
double | relax_poisson, | |||
int | mermax_potvit, | |||
double | relax_potvit, | |||
double | thres_adapt, | |||
const Tbl & | fact, | |||
Tbl & | diff, | |||
const Tbl * | ent_limit = 0x0 | |||
) |
Computes an equilibrium configuration.
The values of logn_comp
, beta_comp
, pot_centri
are held fixed during the iteration.
ent_c | [input] Central enthalpy | |
mermax | [input] Maximum number of steps | |
mermax_poisson | [input] Maximum number of steps in Map_et::poisson | |
relax_poisson | [input] Relaxation factor in Map_et::poisson | |
mermax_potvit | [input] Maximum number of steps in Map_radial::poisson_compact | |
relax_potvit | [input] Relaxation factor in Map_radial::poisson_compact | |
thres_adapt | [input] Threshold on dH/dr for the adaptation of the mapping | |
fact | [input] 1-D Tbl for the input of some factors :
| |
diff | [output] 1-D Tbl for the storage of some error indicators :
| |
ent_limit | [input] : array of enthalpy values to be set at the boundaries between the domains; if set to 0x0 (default), the initial values will be kept. |
Definition at line 180 of file et_bin_equilibrium.C.
References Etoile::a_car, abs(), Map::adapt(), Param::add_cmp_mod(), Param::add_double(), Param::add_int(), Param::add_int_mod(), Param::add_tbl(), Param::add_tenseur_mod(), akcar_auto, akcar_comp, Etoile::beta_auto, Tenseur::change_triad(), contract(), d_beta_auto, d_beta_comp, d_logn_auto, d_logn_comp, Tenseur::dec2_dzpuis(), diffrel(), Etoile::ener_euler, Etoile::ent, Etoile::equation_of_state(), Cmp::filtre(), flat_scalar_prod_desal(), Map::get_bvect_cart(), Map::get_mg(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Tenseur::gradient(), Map_et::homothetie(), hydro_euler(), Tenseur::inc2_dzpuis(), irrotational, khi_shift, loggam, Etoile::logn_auto, Etoile::logn_auto_regu, logn_comp, max(), Etoile::mp, Etoile::nbar, Etoile::nnn, Etoile::nzet, Tenseur::poisson_vect(), pot_centri, Etoile::press, Etoile::ray_eq(), Etoile::ray_pole(), Map::reevaluate_symy(), ref_triad, Etoile::relativistic, Map::resize(), Etoile::s_euler, Tenseur::set(), Tbl::set(), Tbl::set_etat_qcq(), Tenseur::set_std_base(), shift_auto, sqrt(), ssjm1_beta, ssjm1_khi, ssjm1_logn, ssjm1_wshift, tkij_auto, Etoile::u_euler, Map::val_r(), velocity_potential(), and w_shift.
void Etoile::equilibrium_spher | ( | double | ent_c, | |
double | precis = 1.e-14 , |
|||
const Tbl * | ent_limit = 0x0 | |||
) | [virtual, inherited] |
Computes a spherical static configuration.
ent_c | [input] central value of the enthalpy | |
precis | [input] threshold in the relative difference between the enthalpy fields of two consecutive steps to stop the iterative procedure (default value: 1.e-14) | |
ent_limit | [input] : array of enthalpy values to be set at the boundaries between the domains; if set to 0x0 (default), the initial values will be kept. |
Definition at line 83 of file etoile_equil_spher.C.
References Etoile::a_car, Map_et::adapt(), Param::add_double(), Param::add_int(), Param::add_int_mod(), Param::add_tbl(), Tenseur::annule(), Etoile::beta_auto, diffrel(), Cmp::dsdr(), Map_af::dsdr(), Etoile::ener, Etoile::ener_euler, Etoile::ent, Etoile::equation_of_state(), exp(), Etoile::gam_euler, Map_et::get_alpha(), Map_af::get_alpha(), Map_et::get_beta(), Map_af::get_beta(), Etoile::get_ent(), Map::get_mg(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Etoile::get_press(), Map_af::homothetie(), Etoile::logn_auto, Etoile::mass_b(), Etoile::mass_g(), Etoile::mp, Etoile::nbar, Etoile::nnn, norme(), Etoile::nzet, Map_af::poisson(), Etoile::press, Etoile::relativistic, Etoile::s_euler, Tenseur::set(), Map_af::set_alpha(), Map_af::set_beta(), Tenseur::set_etat_qcq(), Tenseur::set_std_base(), Etoile::shift, sqrt(), Etoile::u_euler, Etoile::unsurc2, and Map::val_r().
void Etoile_bin::extrinsic_curvature | ( | ) | [virtual] |
Computes tkij_auto
and akcar_auto
from shift_auto
, nnn
and a_car
.
Definition at line 60 of file et_bin_extr_curv.C.
References Etoile::a_car, akcar_auto, Tenseur::change_triad(), contract(), Map::get_bvect_cart(), Tenseur::gradient(), Etoile::mp, Etoile::nnn, ref_triad, Tenseur::set(), Tenseur::set_etat_qcq(), Tenseur::set_std_base(), shift_auto, and tkij_auto.
void Etoile_bin::fait_d_psi | ( | ) |
Computes the gradient of the total velocity potential .
Definition at line 760 of file etoile_bin.C.
References Etoile::a_car, Tenseur::annule(), Cmp::annule(), bsn, Tenseur::change_triad(), d_psi, Etoile::ent, exp(), Etoile::gam_euler, Tenseur::get_etat(), Map::get_mg(), Mg3d::get_nzone(), Tenseur::get_triad(), Tenseur::gradient(), irrotational, Etoile::mp, Etoile::nzet, psi0, ref_triad, Tenseur::set(), Valeur::set_base(), Tenseur::set_etat_nondef(), Tenseur::set_etat_qcq(), Tenseur::set_triad(), Etoile::unsurc2, and Cmp::va.
void Etoile_bin::fait_shift_auto | ( | ) |
Computes shift_auto
from w_shift
and khi_shift
according to Shibata's prescription [Prog.
Theor. Phys. 101 , 1199 (1999)] :
Definition at line 822 of file etoile_bin.C.
References Tenseur::change_triad(), Tenseur::dec2_dzpuis(), Tenseur::dec_dzpuis(), Tenseur::get_etat(), Tenseur::get_triad(), Tenseur::gradient(), khi_shift, ref_triad, Tenseur::set(), Tenseur::set_etat_qcq(), Tenseur::set_triad(), shift_auto, skxk(), and w_shift.
const Tenseur& Etoile::get_a_car | ( | ) | const [inline, inherited] |
Returns the total conformal factor .
Definition at line 718 of file etoile.h.
References Etoile::a_car.
const Tenseur& Etoile_bin::get_akcar_auto | ( | ) | const [inline] |
Returns the part of the scalar generated by
shift_auto
, i.e.
Definition at line 1189 of file etoile.h.
References akcar_auto.
const Tenseur& Etoile_bin::get_akcar_comp | ( | ) | const [inline] |
Returns the part of the scalar generated by
shift_auto
and shift_comp
, i.e.
Definition at line 1195 of file etoile.h.
References akcar_comp.
const Tenseur& Etoile::get_beta_auto | ( | ) | const [inline, inherited] |
Returns the logarithm of the part of the product AN generated principaly by the star.
Definition at line 709 of file etoile.h.
References Etoile::beta_auto.
const Tenseur& Etoile_bin::get_beta_comp | ( | ) | const [inline] |
const Tenseur& Etoile_bin::get_bsn | ( | ) | const [inline] |
const Tenseur& Etoile_bin::get_d_beta_auto | ( | ) | const [inline] |
Returns the gradient of beta_auto
(Cartesian components with respect to ref_triad
).
Definition at line 1126 of file etoile.h.
References d_beta_auto.
const Tenseur& Etoile_bin::get_d_beta_comp | ( | ) | const [inline] |
Returns the gradient of beta_comp
(Cartesian components with respect to ref_triad
).
Definition at line 1131 of file etoile.h.
References d_beta_comp.
const Tenseur& Etoile_bin::get_d_logn_auto | ( | ) | const [inline] |
Returns the gradient of logn_auto
(Cartesian components with respect to ref_triad
).
Definition at line 1106 of file etoile.h.
References d_logn_auto.
const Tenseur& Etoile::get_d_logn_auto_div | ( | ) | const [inline, inherited] |
Returns the gradient of logn_auto_div
.
Definition at line 704 of file etoile.h.
References Etoile::d_logn_auto_div.
const Tenseur& Etoile_bin::get_d_logn_auto_regu | ( | ) | const [inline] |
Returns the gradient of logn_auto_regu
(Cartesian components with respect to ref_triad
).
Definition at line 1111 of file etoile.h.
References d_logn_auto_regu.
const Tenseur& Etoile_bin::get_d_logn_comp | ( | ) | const [inline] |
Returns the gradient of logn_comp
(Cartesian components with respect to ref_triad
).
Definition at line 1116 of file etoile.h.
References d_logn_comp.
const Tenseur& Etoile_bin::get_d_psi | ( | ) | const [inline] |
const Cmp Etoile_bin::get_decouple | ( | ) | const [inline] |
const Tenseur& Etoile::get_ener | ( | ) | const [inline, inherited] |
Returns the proper total energy density.
Definition at line 664 of file etoile.h.
References Etoile::ener.
const Tenseur& Etoile::get_ener_euler | ( | ) | const [inline, inherited] |
Returns the total energy density with respect to the Eulerian observer.
Definition at line 670 of file etoile.h.
References Etoile::ener_euler.
const Tenseur& Etoile::get_ent | ( | ) | const [inline, inherited] |
const Eos& Etoile::get_eos | ( | ) | const [inline, inherited] |
Returns the equation of state.
Reimplemented in Et_rot_bifluid.
Definition at line 655 of file etoile.h.
References Etoile::eos.
const Tenseur& Etoile::get_gam_euler | ( | ) | const [inline, inherited] |
Returns the Lorentz factor between the fluid and Eulerian observers.
Definition at line 676 of file etoile.h.
References Etoile::gam_euler.
const Tenseur& Etoile_bin::get_khi_shift | ( | ) | const [inline] |
Returns the scalar used in the decomposition of
shift_auto
following Shibata's prescription [Prog.
Theor. Phys. 101 , 1199 (1999)] :
NB: w_shift
contains the components of with respect to the Cartesian triad associated with the mapping
mp
.
Definition at line 1171 of file etoile.h.
References khi_shift.
const Tenseur& Etoile_bin::get_loggam | ( | ) | const [inline] |
const Tenseur& Etoile::get_logn_auto | ( | ) | const [inline, inherited] |
Returns the logarithm of the part of the lapse N generated principaly by the star.
In the Newtonian case, this is the Newtonian gravitational potential (in units of ).
Definition at line 686 of file etoile.h.
References Etoile::logn_auto.
const Tenseur& Etoile::get_logn_auto_div | ( | ) | const [inline, inherited] |
Returns the divergent part of the logarithm of the part of the lapse N generated principaly by the star.
In the Newtonian case, this is the diverging part of the Newtonian gravitational potential (in units of ).
Definition at line 700 of file etoile.h.
References Etoile::logn_auto_div.
const Tenseur& Etoile::get_logn_auto_regu | ( | ) | const [inline, inherited] |
Returns the regular part of the logarithm of the part of the lapse N generated principaly by the star.
In the Newtonian case, this is the Newtonian gravitational potential (in units of ).
Definition at line 693 of file etoile.h.
References Etoile::logn_auto_regu.
const Tenseur& Etoile_bin::get_logn_comp | ( | ) | const [inline] |
const Map& Etoile::get_mp | ( | ) | const [inline, inherited] |
const Tenseur& Etoile::get_nbar | ( | ) | const [inline, inherited] |
Returns the proper baryon density.
Definition at line 661 of file etoile.h.
References Etoile::nbar.
const Tenseur& Etoile::get_nnn | ( | ) | const [inline, inherited] |
Returns the total lapse function N.
Definition at line 712 of file etoile.h.
References Etoile::nnn.
int Etoile::get_nzet | ( | ) | const [inline, inherited] |
Returns the number of domains occupied by the star.
Definition at line 647 of file etoile.h.
References Etoile::nzet.
const Tenseur& Etoile_bin::get_pot_centri | ( | ) | const [inline] |
const Tenseur& Etoile::get_press | ( | ) | const [inline, inherited] |
const Tenseur& Etoile_bin::get_psi0 | ( | ) | const [inline] |
const Tenseur& Etoile::get_s_euler | ( | ) | const [inline, inherited] |
Returns the trace of the stress tensor in the Eulerian frame.
Definition at line 673 of file etoile.h.
References Etoile::s_euler.
const Tenseur& Etoile::get_shift | ( | ) | const [inline, inherited] |
const Tenseur& Etoile_bin::get_shift_auto | ( | ) | const [inline] |
Returns the part of the shift vector generated principaly by the star.
(Cartesian components with respect to ref_triad
)
Definition at line 1137 of file etoile.h.
References shift_auto.
const Tenseur& Etoile_bin::get_shift_comp | ( | ) | const [inline] |
Returns the part of the shift vector generated principaly by the companion star.
(Cartesian components with respect to ref_triad
)
Definition at line 1143 of file etoile.h.
References shift_comp.
const Tenseur_sym& Etoile_bin::get_tkij_auto | ( | ) | const [inline] |
Returns the part of the extrinsic curvature tensor generated by
shift_auto
.
(Cartesian components with respect to ref_triad
)
Reimplemented in Et_bin_nsbh.
Definition at line 1177 of file etoile.h.
References tkij_auto.
const Tenseur_sym& Etoile_bin::get_tkij_comp | ( | ) | const [inline] |
const Tenseur& Etoile::get_u_euler | ( | ) | const [inline, inherited] |
Returns the fluid 3-velocity with respect to the Eulerian observer.
Definition at line 679 of file etoile.h.
References Etoile::u_euler.
const Tenseur& Etoile_bin::get_w_shift | ( | ) | const [inline] |
Returns the vector used in the decomposition of
shift_auto
, following Shibata's prescription [Prog.
Theor. Phys. 101 , 1199 (1999)] :
NB: w_shift
contains the components of with respect to the Cartesian triad associated with the mapping
mp
.
Definition at line 1157 of file etoile.h.
References w_shift.
const Tenseur& Etoile_bin::get_wit_w | ( | ) | const [inline] |
void Etoile_bin::hydro_euler | ( | ) | [virtual] |
Computes the hydrodynamical quantities relative to the Eulerian observer from those in the fluid frame, as well as wit_w
and loggam
.
The calculation is performed starting from the quantities ent
, ener
, press
, a_car
and bsn
, which are supposed to be up to date. From these, the following fields are updated: gam_euler
, u_euler
, ener_euler
, s_euler
, wit_w
and loggam
.
Reimplemented from Etoile.
Definition at line 102 of file et_bin_hydro.C.
References Etoile::a_car, Tenseur::annule(), bsn, d_psi, del_deriv(), Etoile::ener, Etoile::ener_euler, Etoile::ent, exp(), flat_scalar_prod_desal(), Etoile::gam_euler, Tenseur::get_etat(), Map::get_mg(), Mg3d::get_nzone(), Tenseur::get_triad(), irrotational, log(), loggam, Etoile::mp, Etoile::press, Etoile::relativistic, Etoile::s_euler, Tenseur::set(), Tenseur::set_etat_qcq(), Tenseur::set_etat_zero(), Tenseur::set_std_base(), Tenseur::set_triad(), sprod(), sqrt(), Etoile::u_euler, Etoile::unsurc2, and wit_w.
bool Etoile_bin::is_irrotational | ( | ) | const [inline] |
Returns true
for an irrotational motion, false
for a corotating one.
Definition at line 1077 of file etoile.h.
References irrotational.
bool Etoile::is_relativistic | ( | ) | const [inline, inherited] |
Returns true
for a relativistic star, false
for a Newtonian one.
Definition at line 652 of file etoile.h.
References Etoile::relativistic.
void Etoile_bin::kinematics | ( | double | omega, | |
double | x_axe | |||
) | [virtual] |
Computes the quantities bsn
and pot_centri
.
The calculation is performed starting from the quantities nnn
, shift
, a_car
, which are supposed to be up to date.
omega | angular velocity with respect to an asymptotically inertial observer | |
x_axe | absolute X coordinate of the rotation axis |
Reimplemented in Et_bin_nsbh.
Definition at line 77 of file et_bin_kinema.C.
References Tenseur::annule(), bsn, del_deriv(), Map::get_mg(), Mg3d::get_nzone(), log(), Etoile::mp, Etoile::nnn, pot_centri, Etoile::relativistic, Tenseur::set(), Tenseur::set_etat_qcq(), Tenseur::set_std_base(), Etoile::shift, sprod(), sqrt(), Map::xa, and Map::ya.
const Itbl & Etoile::l_surf | ( | ) | const [virtual, inherited] |
Description of the stellar surface: returns a 2-D Itbl
containing the values of the domain index l on the surface at the collocation points in .
The stellar surface is defined as the location where the enthalpy (member ent
) vanishes.
Reimplemented in Et_rot_bifluid, and Etoile_rot.
Definition at line 71 of file etoile_global.C.
References Etoile::ent, Map::get_mg(), Mg3d::get_np(), Mg3d::get_nt(), Etoile::mp, Etoile::nzet, Etoile::p_l_surf, and Etoile::p_xi_surf.
double Etoile_bin::mass_b | ( | ) | const [virtual] |
Baryon mass.
Reimplemented from Etoile.
Definition at line 96 of file et_bin_global.C.
References Etoile::a_car, Etoile::gam_euler, Tenseur::get_etat(), Cmp::integrale(), Etoile::nbar, Etoile::p_mass_b, Etoile::relativistic, sqrt(), and Cmp::std_base_scal().
double Etoile_bin::mass_g | ( | ) | const [virtual] |
Gravitational mass.
Reimplemented from Etoile.
Definition at line 133 of file et_bin_global.C.
References Etoile::a_car, Etoile::ener_euler, Cmp::integrale(), mass_b(), Etoile::nnn, Etoile::p_mass_g, Etoile::relativistic, Etoile::s_euler, sqrt(), and Cmp::std_base_scal().
void Etoile_bin::operator= | ( | const Etoile_bin & | et | ) |
Assignment to another Etoile_bin
.
Reimplemented from Etoile.
Reimplemented in Et_bin_bhns_extr, and Et_bin_nsbh.
Definition at line 478 of file etoile_bin.C.
References akcar_auto, akcar_comp, beta_comp, bsn, d_beta_auto, d_beta_comp, d_logn_auto, d_logn_auto_regu, d_logn_comp, d_psi, decouple, del_deriv(), irrotational, khi_shift, loggam, logn_comp, pot_centri, psi0, ref_triad, shift_auto, shift_comp, ssjm1_beta, ssjm1_khi, ssjm1_logn, ssjm1_psi, ssjm1_wshift, tkij_auto, tkij_comp, w_shift, and wit_w.
ostream & Etoile_bin::operator>> | ( | ostream & | ost | ) | const [protected, virtual] |
Operator >> (virtual function called by the operator <<).
Reimplemented from Etoile.
Reimplemented in Et_bin_nsbh.
Definition at line 578 of file etoile_bin.C.
References akcar_auto, akcar_comp, Etoile::beta_auto, beta_comp, bsn, d_beta_auto, d_beta_comp, d_logn_auto, d_logn_comp, d_psi, Etoile::gam_euler, Map::get_ori_x(), Map::get_rot_phi(), irrotational, khi_shift, loggam, Etoile::logn_auto, logn_comp, max(), min(), Etoile::mp, Etoile::ray_eq(), Etoile::ray_eq_pi(), Etoile::shift, shift_auto, shift_comp, tkij_auto, tkij_comp, Etoile::u_euler, Map::val_r(), w_shift, wit_w, and xa_barycenter().
double Etoile::ray_eq | ( | int | kk | ) | const [inherited] |
Coordinate radius at ,
[r_unit].
Definition at line 436 of file etoile_global.C.
References Map::get_mg(), Mg3d::get_np(), Mg3d::get_nt(), Mg3d::get_type_p(), Mg3d::get_type_t(), Etoile::l_surf(), Etoile::mp, Map::val_r(), and Etoile::xi_surf().
double Etoile::ray_eq | ( | ) | const [inherited] |
Coordinate radius at ,
[r_unit].
Definition at line 116 of file etoile_global.C.
References Map::get_mg(), Mg3d::get_nt(), Mg3d::get_type_p(), Mg3d::get_type_t(), Etoile::l_surf(), Etoile::mp, Etoile::p_ray_eq, Map::val_r(), and Etoile::xi_surf().
double Etoile::ray_eq_3pis2 | ( | ) | const [inherited] |
Coordinate radius at ,
[r_unit].
Definition at line 331 of file etoile_global.C.
References Map::get_mg(), Mg3d::get_np(), Mg3d::get_nt(), Mg3d::get_type_p(), Mg3d::get_type_t(), Etoile::l_surf(), Etoile::mp, Etoile::p_ray_eq_3pis2, Etoile::ray_eq_pis2(), Map::val_r(), and Etoile::xi_surf().
double Etoile::ray_eq_pi | ( | ) | const [inherited] |
Coordinate radius at ,
[r_unit].
Definition at line 252 of file etoile_global.C.
References Map::get_mg(), Mg3d::get_np(), Mg3d::get_nt(), Mg3d::get_type_p(), Mg3d::get_type_t(), Etoile::l_surf(), Etoile::mp, Etoile::p_ray_eq_pi, Etoile::ray_eq(), Map::val_r(), and Etoile::xi_surf().
double Etoile::ray_eq_pis2 | ( | ) | const [inherited] |
Coordinate radius at ,
[r_unit].
Definition at line 165 of file etoile_global.C.
References Map::get_mg(), Mg3d::get_np(), Mg3d::get_nt(), Mg3d::get_type_p(), Mg3d::get_type_t(), Etoile::l_surf(), Etoile::mp, Etoile::p_ray_eq_pis2, Map::val_r(), and Etoile::xi_surf().
double Etoile::ray_pole | ( | ) | const [inherited] |
Coordinate radius at [r_unit].
Definition at line 411 of file etoile_global.C.
References Map::get_mg(), Mg3d::get_type_t(), Etoile::l_surf(), Etoile::mp, Etoile::p_ray_pole, Map::val_r(), and Etoile::xi_surf().
void Etoile_bin::relaxation | ( | const Etoile_bin & | star_prev, | |
double | relax_ent, | |||
double | relax_met, | |||
int | mer, | |||
int | fmer_met | |||
) |
Performs a relaxation on ent
, logn_auto
, beta_auto
and shift_auto
.
star_prev | [input] star at the previous step. | |
relax_ent | [input] Relaxation factor for ent | |
relax_met | [input] Relaxation factor for logn_auto , beta_auto , shift_auto , only if (mer % fmer_met == 0) . | |
mer | [input] Step number | |
fmer_met | [input] Step interval between metric updates |
Definition at line 859 of file etoile_bin.C.
References Etoile::beta_auto, Etoile::d_logn_auto_div, del_deriv(), Etoile::ent, Etoile::equation_of_state(), Etoile::logn_auto, Etoile::logn_auto_div, Etoile::logn_auto_regu, and shift_auto.
void Etoile_bin::sauve | ( | FILE * | fich | ) | const [virtual] |
Save in a file.
Reimplemented from Etoile.
Reimplemented in Et_bin_bhns_extr, and Et_bin_nsbh.
Definition at line 555 of file etoile_bin.C.
References Etoile::gam_euler, irrotational, khi_shift, psi0, Cmp::sauve(), Tenseur::sauve(), ssjm1_beta, ssjm1_khi, ssjm1_logn, ssjm1_wshift, and w_shift.
void Etoile_bin::set_der_0x0 | ( | ) | const [protected, virtual] |
Sets to 0x0
all the pointers on derived quantities.
Reimplemented from Etoile.
Definition at line 455 of file etoile_bin.C.
References p_xa_barycenter.
void Etoile::set_enthalpy | ( | const Cmp & | ent_i | ) | [inherited] |
Assignment of the enthalpy field.
Definition at line 461 of file etoile.C.
References Etoile::del_deriv(), Etoile::ent, and Etoile::equation_of_state().
Tenseur & Etoile_bin::set_khi_shift | ( | ) |
Read/write of khi_shift
.
Definition at line 541 of file etoile_bin.C.
References del_deriv(), and khi_shift.
Tenseur & Etoile_bin::set_logn_comp | ( | ) |
Read/write the part of the lapse logarithm (gravitational potential at the Newtonian limit) generated principaly by the companion star.
Definition at line 520 of file etoile_bin.C.
References del_deriv(), and logn_comp.
Map& Etoile::set_mp | ( | ) | [inline, inherited] |
Tenseur & Etoile_bin::set_pot_centri | ( | ) |
Read/write the centrifugal potential.
Definition at line 527 of file etoile_bin.C.
References del_deriv(), and pot_centri.
Tenseur & Etoile_bin::set_w_shift | ( | ) |
Read/write of w_shift
.
Definition at line 534 of file etoile_bin.C.
References del_deriv(), and w_shift.
Performs the scalar product of two tensors by contracting the last index of t1
with the first index of t2
.
Both indices are supposed to be contravariant, so that a multiplication by is performed to lower one index. For instance, for two vectors
and
, this function returns the scalar
.
Definition at line 744 of file etoile_bin.C.
References Etoile::a_car, flat_scalar_prod(), Tenseur::get_type_indice(), and Tenseur::get_valence().
void Etoile_bin::update_metric | ( | const Etoile_bin & | comp, | |
const Etoile_bin & | star_prev, | |||
double | relax | |||
) |
Same as update_metric
(const Etoile_bin& ) but with relaxation.
comp | companion star. | |
star_prev | previous value of the star. | |
relax | relaxation parameter. |
Definition at line 200 of file et_bin_upmetr.C.
References Etoile::a_car, Etoile::beta_auto, beta_comp, Tenseur::change_triad(), d_beta_auto, d_logn_auto, Etoile::d_logn_auto_div, d_logn_auto_regu, del_deriv(), exp(), extrinsic_curvature(), get_beta_comp(), Map::get_bvect_cart(), get_logn_comp(), get_shift_comp(), Tenseur::get_triad(), Tenseur::gradient(), Etoile::logn_auto, Etoile::logn_auto_regu, logn_comp, Etoile::mp, Etoile::nnn, ref_triad, Tenseur::set(), Tenseur::set_etat_qcq(), Tenseur::set_etat_zero(), Tenseur::set_std_base(), Tenseur::set_triad(), Etoile::shift, shift_auto, shift_comp, and Etoile::unsurc2.
void Etoile_bin::update_metric | ( | const Etoile_bin & | comp | ) |
Computes metric coefficients from known potentials, when the companion is another star.
The calculation is performed starting from the quantities logn_auto
, beta_auto
, shift_auto
, comp.logn_auto
, comp.beta_auto
, comp.shift_auto
which are supposed to be up to date. From these, the following fields are updated: logn_comp
, beta_comp
, shift_comp
, nnn
, a_car
, shift
, d_logn_auto
, d_beta_auto
, tkij_auto
, akcar_auto
.
comp | companion star. |
Definition at line 96 of file et_bin_upmetr.C.
References Etoile::a_car, Etoile::beta_auto, beta_comp, Tenseur::change_triad(), d_beta_auto, d_logn_auto, Etoile::d_logn_auto_div, d_logn_auto_regu, del_deriv(), exp(), extrinsic_curvature(), Map::get_bvect_cart(), Tenseur::get_triad(), Tenseur::gradient(), Etoile::logn_auto, Etoile::logn_auto_regu, logn_comp, Etoile::mp, Etoile::nnn, ref_triad, Etoile::relativistic, Tenseur::set(), Tenseur::set_etat_qcq(), Tenseur::set_etat_zero(), Tenseur::set_std_base(), Tenseur::set_triad(), Etoile::shift, shift_auto, shift_comp, and Etoile::unsurc2.
void Etoile_bin::update_metric_der_comp | ( | const Etoile_bin & | comp | ) |
Computes the derivative of metric functions related to the companion star.
The calculation is performed starting from the quantities comp.d_logn_auto
, comp.d_beta_auto
, comp.tkij_auto
which are supposed to be up to date. From these, the following fields are updated: d_logn_comp
, d_beta_comp
, tkij_comp
, akcar_comp
.
comp | companion star. |
Definition at line 80 of file et_bin_upmetr_der.C.
References Etoile::a_car, akcar_comp, beta_comp, Tenseur::change_triad(), contract(), d_beta_auto, d_beta_comp, d_logn_auto, d_logn_comp, del_deriv(), Map::get_bvect_cart(), Tenseur::gradient(), logn_comp, Etoile::mp, Etoile::nnn, ref_triad, Etoile::relativistic, Tenseur::set(), Tenseur::set_etat_qcq(), Tenseur::set_etat_zero(), Tenseur::set_std_base(), Tenseur::set_triad(), shift_comp, tkij_auto, and tkij_comp.
double Etoile_bin::velocity_potential | ( | int | mermax, | |
double | precis, | |||
double | relax | |||
) |
Computes the non-translational part of the velocity scalar potential by solving the continuity equation.
mermax | [input] Maximum number of steps in the iteration | |
precis | [input] Required precision: the iteration will be stopped when the relative difference on ![]() precis . | |
relax | [input] Relaxation factor. |
Definition at line 138 of file et_bin_vel_pot.C.
References Etoile::a_car, Param::add_cmp_mod(), Param::add_double(), Param::add_int(), Param::add_int_mod(), Cmp::annule(), Tenseur::annule(), Tbl::annule_hard(), Etoile::beta_auto, beta_comp, bsn, Tenseur::change_triad(), contract(), d_psi, Eos::der_nbar_ent(), Tenseur::derive_cov(), diffrel(), Cmp::dsdr(), Etoile::ent, Etoile::eos, exp(), flat_scalar_prod(), Etoile::gam_euler, Mg3d::get_angu(), Map::get_bvect_cart(), Map::get_bvect_spher(), Tenseur::get_etat(), Map::get_mg(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Tenseur::get_triad(), Tenseur::gradient(), Tenseur::gradient_spher(), Eos::identify(), log(), Etoile::mp, Etoile::nnn, norme(), Etoile::nzet, Map::poisson_compact(), psi0, Map::r, ref_triad, Tenseur::set(), Cmp::set(), Scalar::set_domain(), Tenseur::set_etat_qcq(), Scalar::set_outer_boundary(), Tenseur::set_std_base(), Tenseur::set_triad(), sqrt(), ssjm1_psi, Etoile::unsurc2, Cmp::va, Valeur::ylm(), and Valeur::ylm_i().
double Etoile_bin::xa_barycenter | ( | ) | const [virtual] |
Absolute coordinate X of the barycenter of the baryon density, defined according to the formula
where is the Lorentz factor between the fluid and Eulerian observers.
Definition at line 166 of file et_bin_global.C.
References Etoile::a_car, Etoile::gam_euler, Cmp::integrale(), mass_b(), Etoile::mp, Etoile::nbar, p_xa_barycenter, sqrt(), Cmp::std_base_scal(), and Map::xa.
const Tbl & Etoile::xi_surf | ( | ) | const [inherited] |
Description of the stellar surface: returns a 2-D Tbl
containing the values of the radial coordinate on the surface at the collocation points in
.
The stellar surface is defined as the location where the enthalpy (member ent
) vanishes.
Definition at line 97 of file etoile_global.C.
References Etoile::l_surf(), Etoile::p_l_surf, and Etoile::p_xi_surf.
friend class Bin_ns_bh [friend] |
ostream& operator<< | ( | ostream & | , | |
const Etoile & | ||||
) | [friend, inherited] |
Display.
Tenseur Etoile::a_car [protected, inherited] |
Tenseur Etoile_bin::akcar_auto [protected] |
Tenseur Etoile_bin::akcar_comp [protected] |
Tenseur Etoile::beta_auto [protected, inherited] |
Tenseur Etoile_bin::beta_comp [protected] |
Tenseur Etoile_bin::bsn [protected] |
Tenseur Etoile_bin::d_beta_auto [protected] |
Tenseur Etoile_bin::d_beta_comp [protected] |
Tenseur Etoile_bin::d_logn_auto [protected] |
Tenseur Etoile::d_logn_auto_div [protected, inherited] |
Tenseur Etoile_bin::d_logn_auto_regu [protected] |
Tenseur Etoile_bin::d_logn_comp [protected] |
Tenseur Etoile_bin::d_psi [protected] |
Cmp Etoile_bin::decouple [protected] |
Function used to construct the part of generated by the star from the total
.
Only used for a binary system where the other member is a black hole.
Mainly this Cmp
is 1 around the hole and 0 around the companion and the sum of decouple
for the hole and his companion is 1 everywhere.
Tenseur Etoile::ener [protected, inherited] |
Tenseur Etoile::ener_euler [protected, inherited] |
Tenseur Etoile::ent [protected, inherited] |
const Eos& Etoile::eos [protected, inherited] |
Equation of state of the stellar matter.
Reimplemented in Et_rot_bifluid.
Tenseur Etoile::gam_euler [protected, inherited] |
bool Etoile_bin::irrotational [protected] |
int Etoile::k_div [protected, inherited] |
Tenseur Etoile_bin::khi_shift [protected] |
Tenseur Etoile_bin::loggam [protected] |
Tenseur Etoile::logn_auto [protected, inherited] |
Tenseur Etoile::logn_auto_div [protected, inherited] |
Tenseur Etoile::logn_auto_regu [protected, inherited] |
Tenseur Etoile_bin::logn_comp [protected] |
Map& Etoile::mp [protected, inherited] |
Tenseur Etoile::nbar [protected, inherited] |
Tenseur Etoile::nnn [protected, inherited] |
int Etoile::nzet [protected, inherited] |
Itbl* Etoile::p_l_surf [mutable, protected, inherited] |
double* Etoile::p_mass_b [mutable, protected, inherited] |
double* Etoile::p_mass_g [mutable, protected, inherited] |
double* Etoile::p_ray_eq [mutable, protected, inherited] |
double* Etoile::p_ray_eq_3pis2 [mutable, protected, inherited] |
double* Etoile::p_ray_eq_pi [mutable, protected, inherited] |
double* Etoile::p_ray_eq_pis2 [mutable, protected, inherited] |
double* Etoile::p_ray_pole [mutable, protected, inherited] |
double* Etoile_bin::p_xa_barycenter [mutable, protected] |
Tbl* Etoile::p_xi_surf [mutable, protected, inherited] |
Tenseur Etoile_bin::pot_centri [protected] |
Tenseur Etoile::press [protected, inherited] |
Tenseur Etoile_bin::psi0 [protected] |
const Base_vect& Etoile_bin::ref_triad [protected] |
bool Etoile::relativistic [protected, inherited] |
Tenseur Etoile::s_euler [protected, inherited] |
Tenseur Etoile::shift [protected, inherited] |
Tenseur Etoile_bin::shift_auto [protected] |
Tenseur Etoile_bin::shift_comp [protected] |
Cmp Etoile_bin::ssjm1_beta [protected] |
Effective source at the previous step for the resolution of the Poisson equation for beta_auto
by means of Map_et::poisson
.
Cmp Etoile_bin::ssjm1_khi [protected] |
Effective source at the previous step for the resolution of the Poisson equation for the scalar by means of
Map_et::poisson
.
is an intermediate quantity for the resolution of the elliptic equation for the shift vector
Cmp Etoile_bin::ssjm1_logn [protected] |
Effective source at the previous step for the resolution of the Poisson equation for logn_auto
by means of Map_et::poisson
.
Cmp Etoile_bin::ssjm1_psi [protected] |
Effective source at the previous step for the resolution of the Poisson equation for the scalar by means of
Map_et::poisson_interne
.
Tenseur Etoile_bin::ssjm1_wshift [protected] |
Effective source at the previous step for the resolution of the vector Poisson equation for by means of
Map_et::poisson
.
is an intermediate quantity for the resolution of the elliptic equation for the shift vector
(Components with respect to the Cartesian triad associated with the mapping
mp
)
Tenseur_sym Etoile_bin::tkij_auto [protected] |
Part of the extrinsic curvature tensor generated by
shift_auto
.
(Cartesian components with respect to ref_triad
)
Reimplemented in Et_bin_nsbh.
Tenseur_sym Etoile_bin::tkij_comp [protected] |
Tenseur Etoile::u_euler [protected, inherited] |
double Etoile::unsurc2 [protected, inherited] |
Tenseur Etoile_bin::w_shift [protected] |
Tenseur Etoile_bin::wit_w [protected] |