LORENE
Lorene::Etoile_bin Class Reference

Class for stars in binary system. More...

#include <etoile.h>

Inheritance diagram for Lorene::Etoile_bin:
Lorene::Etoile Lorene::Et_bin_bhns_extr Lorene::Et_bin_nsbh

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. More...
 
 Etoile_bin (const Etoile_bin &)
 Copy constructor. More...
 
 Etoile_bin (Map &mp_i, const Eos &eos_i, const Base_vect &ref_triad_i, FILE *fich)
 Constructor from a file (see sauve(FILE*) ). More...
 
virtual ~Etoile_bin ()
 Destructor. More...
 
void operator= (const Etoile_bin &)
 Assignment to another Etoile_bin. More...
 
Tenseurset_logn_comp ()
 Read/write the part of the lapse logarithm (gravitational potential at the Newtonian limit) generated principaly by the companion star. More...
 
Tenseurset_pot_centri ()
 Read/write the centrifugal potential. More...
 
Tenseurset_w_shift ()
 Read/write of w_shift. More...
 
Tenseurset_khi_shift ()
 Read/write of khi_shift. More...
 
bool is_irrotational () const
 Returns true for an irrotational motion, false for a corotating one. More...
 
const Tenseurget_psi0 () const
 Returns the non-translational part of the velocity potential. More...
 
const Tenseurget_d_psi () const
 Returns the gradient of the velocity potential (Cartesian components with respect to ref_triad ) More...
 
const Tenseurget_wit_w () const
 Returns the spatial projection of the fluid 3-velocity with respect to the co-orbiting observer. More...
 
const Tenseurget_loggam () const
 Returns the logarithm of the Lorentz factor between the fluid and the co-orbiting observer. More...
 
const Tenseurget_logn_comp () const
 Returns the part of the lapse logarithm (gravitational potential at the Newtonian limit) generated principaly by the companion star. More...
 
const Tenseurget_d_logn_auto () const
 Returns the gradient of logn_auto (Cartesian components with respect to ref_triad ) More...
 
const Tenseurget_d_logn_auto_regu () const
 Returns the gradient of logn_auto_regu (Cartesian components with respect to ref_triad ) More...
 
const Tenseurget_d_logn_comp () const
 Returns the gradient of logn_comp (Cartesian components with respect to ref_triad ) More...
 
const Tenseurget_beta_comp () const
 Returns the part of the logarithm of AN generated principaly by the companion star. More...
 
const Tenseurget_d_beta_auto () const
 Returns the gradient of beta_auto (Cartesian components with respect to ref_triad ) More...
 
const Tenseurget_d_beta_comp () const
 Returns the gradient of beta_comp
(Cartesian components with respect to ref_triad ) More...
 
const Tenseurget_shift_auto () const
 Returns the part of the shift vector $N^i$ generated principaly by the star. More...
 
const Tenseurget_shift_comp () const
 Returns the part of the shift vector $N^i$ generated principaly by the companion star. More...
 
const Tenseurget_w_shift () const
 Returns the vector $W^i$ used in the decomposition of shift_auto , following Shibata's prescription [Prog. More...
 
const Tenseurget_khi_shift () const
 Returns the scalar $\chi$ used in the decomposition of shift_auto
following Shibata's prescription [Prog. More...
 
const Tenseur_symget_tkij_auto () const
 Returns the part of the extrinsic curvature tensor $\tilde K^{ij} = A^2 K^{ij}$ generated by shift_auto . More...
 
const Tenseur_symget_tkij_comp () const
 Returns the part of the extrinsic curvature tensor $\tilde K^{ij} = A^2 K^{ij}$ generated by shift_comp . More...
 
const Tenseurget_akcar_auto () const
 Returns the part of the scalar $A^2 K_{ij} K^{ij}$ generated by shift_auto , i.e. More...
 
const Tenseurget_akcar_comp () const
 Returns the part of the scalar $A^2 K_{ij} K^{ij}$ generated by shift_auto and shift_comp , i.e. More...
 
const Tenseurget_bsn () const
 Returns the shift vector, divided by N , of the rotating coordinates, $B^i/N$. More...
 
const Tenseurget_pot_centri () const
 Returns the centrifugal potential. More...
 
const Cmp get_decouple () const
 
Returns the function used to construct tkij_auto
from tkij_tot . More...
 
virtual void sauve (FILE *) const
 Save in a file. More...
 
virtual double mass_b () const
 Baryon mass. More...
 
virtual double mass_g () const
 Gravitational mass. More...
 
virtual double xa_barycenter () const
 Absolute coordinate X of the barycenter of the baryon density, defined according to the formula

\[ X_G := \int A^3 \Gamma_{\rm n} \, n \, X \, d^3x \ , \]

where $\Gamma_{\rm n}$ is the Lorentz factor between the fluid and Eulerian observers. More...

 
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 . More...
 
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 . More...
 
void update_metric (const Etoile_bin &comp)
 Computes metric coefficients from known potentials, when the companion is another star. More...
 
void update_metric (const Etoile_bin &comp, const Etoile_bin &star_prev, double relax)
 Same as update_metric(const Etoile_bin& ) but with relaxation. More...
 
void update_metric_der_comp (const Etoile_bin &comp)
 Computes the derivative of metric functions related to the companion star. More...
 
virtual void kinematics (double omega, double x_axe)
 Computes the quantities bsn and pot_centri . More...
 
void fait_d_psi ()
 Computes the gradient of the total velocity potential $\psi$. More...
 
void fait_shift_auto ()
 Computes shift_auto from w_shift and khi_shift according to Shibata's prescription [Prog. More...
 
virtual void extrinsic_curvature ()
 Computes tkij_auto and akcar_auto from shift_auto , nnn and a_car . More...
 
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. More...
 
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. More...
 
double velocity_potential (int mermax, double precis, double relax)
 Computes the non-translational part of the velocity scalar potential $\psi0$ by solving the continuity equation. More...
 
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 . More...
 
Mapset_mp ()
 Read/write of the mapping. More...
 
void set_enthalpy (const Cmp &)
 Assignment of the enthalpy field. More...
 
virtual void equation_of_state ()
 Computes the proper baryon and energy density, as well as pressure from the enthalpy. More...
 
virtual void equilibrium_spher (double ent_c, double precis=1.e-14, const Tbl *ent_limit=0x0)
 Computes a spherical static configuration. More...
 
void equil_spher_regular (double ent_c, double precis=1.e-14)
 Computes a spherical static configuration. More...
 
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. More...
 
const Mapget_mp () const
 Returns the mapping. More...
 
int get_nzet () const
 Returns the number of domains occupied by the star. More...
 
bool is_relativistic () const
 Returns true for a relativistic star, false for a Newtonian one. More...
 
const Eosget_eos () const
 Returns the equation of state. More...
 
const Tenseurget_ent () const
 Returns the enthalpy field. More...
 
const Tenseurget_nbar () const
 Returns the proper baryon density. More...
 
const Tenseurget_ener () const
 Returns the proper total energy density. More...
 
const Tenseurget_press () const
 Returns the fluid pressure. More...
 
const Tenseurget_ener_euler () const
 Returns the total energy density with respect to the Eulerian observer. More...
 
const Tenseurget_s_euler () const
 Returns the trace of the stress tensor in the Eulerian frame. More...
 
const Tenseurget_gam_euler () const
 Returns the Lorentz factor between the fluid and Eulerian observers. More...
 
const Tenseurget_u_euler () const
 Returns the fluid 3-velocity with respect to the Eulerian observer. More...
 
const Tenseurget_logn_auto () const
 Returns the logarithm of the part of the lapse N generated principaly by the star. More...
 
const Tenseurget_logn_auto_regu () const
 Returns the regular part of the logarithm of the part of the lapse N generated principaly by the star. More...
 
const Tenseurget_logn_auto_div () const
 Returns the divergent part of the logarithm of the part of the lapse N generated principaly by the star. More...
 
const Tenseurget_d_logn_auto_div () const
 Returns the gradient of logn_auto_div. More...
 
const Tenseurget_beta_auto () const
 Returns the logarithm of the part of the product AN generated principaly by the star. More...
 
const Tenseurget_nnn () const
 Returns the total lapse function N. More...
 
const Tenseurget_shift () const
 Returns the total shift vector $N^i$. More...
 
const Tenseurget_a_car () const
 Returns the total conformal factor $A^2$. More...
 
double ray_eq () const
 Coordinate radius at $\phi=0$, $\theta=\pi/2$ [r_unit]. More...
 
double ray_eq (int kk) const
 Coordinate radius at $\phi=2k\pi/np$, $\theta=\pi/2$ [r_unit]. More...
 
double ray_eq_pis2 () const
 Coordinate radius at $\phi=\pi/2$, $\theta=\pi/2$ [r_unit]. More...
 
double ray_eq_pi () const
 Coordinate radius at $\phi=\pi$, $\theta=\pi/2$ [r_unit]. More...
 
double ray_eq_3pis2 () const
 Coordinate radius at $\phi=3\pi/2$, $\theta=\pi/2$ [r_unit]. More...
 
double ray_pole () const
 Coordinate radius at $\theta=0$ [r_unit]. More...
 
virtual const Itbll_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 $(\theta', \phi')$. More...
 
const Tblxi_surf () const
 Description of the stellar surface: returns a 2-D Tbl
containing the values of the radial coordinate $\xi$ on the surface at the collocation points in $(\theta', \phi')$. More...
 

Protected Member Functions

virtual void del_deriv () const
 Deletes all the derived quantities. More...
 
virtual void set_der_0x0 () const
 Sets to 0x0 all the pointers on derived quantities. More...
 
virtual void del_hydro_euler ()
 Sets to ETATNONDEF (undefined state) the hydrodynamical quantities relative to the Eulerian observer. More...
 
virtual ostream & operator>> (ostream &) const
 Operator >> (virtual function called by the operator <<). More...
 

Protected Attributes

bool irrotational
 true for an irrotational star, false for a corotating one More...
 
const Base_vectref_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 . More...
 
Tenseur psi0
 Scalar potential $\Psi_0$ of the non-translational part of fluid 4-velocity (in the irrotational case) More...
 
Tenseur d_psi
 Gradient of $\Psi$ (in the irrotational case) (Cartesian components with respect to ref_triad ) More...
 
Tenseur wit_w
 Spatial projection of the fluid 3-velocity with respect to
the co-orbiting observer. More...
 
Tenseur loggam
 Logarithm of the Lorentz factor between the fluid and the co-orbiting observer. More...
 
Tenseur logn_comp
 Part of the lapse logarithm (gravitational potential at the Newtonian limit) generated principaly by the companion star. More...
 
Tenseur d_logn_auto
 Gradient of logn_auto (Cartesian components with respect to ref_triad ) More...
 
Tenseur d_logn_auto_regu
 Gradient of logn_auto_regu (Cartesian components with respect to ref_triad ) More...
 
Tenseur d_logn_comp
 Gradient of logn_comp (Cartesian components with respect to ref_triad ) More...
 
Tenseur beta_comp
 Part of the logarithm of AN generated principaly by the companion star. More...
 
Tenseur d_beta_auto
 Gradient of beta_auto (Cartesian components with respect to ref_triad ) More...
 
Tenseur d_beta_comp
 Gradient of beta_comp (Cartesian components with respect to ref_triad ) More...
 
Tenseur shift_auto
 Part of the shift vector $N^i$ generated principaly by the star. More...
 
Tenseur shift_comp
 Part of the shift vector $N^i$ generated principaly by the companion star. More...
 
Tenseur w_shift
 Vector $W^i$ used in the decomposition of shift_auto , following Shibata's prescription [Prog. More...
 
Tenseur khi_shift
 Scalar $\chi$ used in the decomposition of shift_auto , following Shibata's prescription [Prog. More...
 
Tenseur_sym tkij_auto
 Part of the extrinsic curvature tensor $\tilde K^{ij} = A^2 K^{ij}$ generated by shift_auto . More...
 
Tenseur_sym tkij_comp
 Part of the extrinsic curvature tensor $\tilde K^{ij} = A^2 K^{ij}$ generated by shift_comp . More...
 
Tenseur akcar_auto
 Part of the scalar $A^2 K_{ij} K^{ij}$ generated by shift_auto , i.e. More...
 
Tenseur akcar_comp
 Part of the scalar $A^2 K_{ij} K^{ij}$ generated by shift_auto and shift_comp , i.e. More...
 
Tenseur bsn
 3-vector shift, divided by N , of the rotating coordinates, $B^i/N$. More...
 
Tenseur pot_centri
 Centrifugal potential. More...
 
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 . More...
 
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 . More...
 
Cmp ssjm1_khi
 Effective source at the previous step for the resolution of the Poisson equation for the scalar $\chi$ by means of Map_et::poisson . More...
 
Tenseur ssjm1_wshift
 Effective source at the previous step for the resolution of the vector Poisson equation for $W^i$ by means of Map_et::poisson . More...
 
Cmp ssjm1_psi
 Effective source at the previous step for the resolution of the Poisson equation for the scalar $\psi$ by means of Map_et::poisson_interne . More...
 
Cmp decouple
 Function used to construct the part of $K^{ij}$ generated by the star from the total $K^{ij}$. More...
 
double * p_xa_barycenter
 Absolute coordinate X of the barycenter of the baryon density. More...
 
Mapmp
 Mapping associated with the star. More...
 
int nzet
 Number of domains of *mp occupied by the star. More...
 
bool relativistic
 Indicator of relativity: true for a relativistic star, false for a Newtonian one. More...
 
double unsurc2
 $1/c^2$ : unsurc2=1 for a relativistic star, 0 for a Newtonian one. More...
 
int k_div
 Index of regularity of the gravitational potential logn_auto . More...
 
const Eoseos
 Equation of state of the stellar matter. More...
 
Tenseur ent
 Log-enthalpy (relativistic case) or specific enthalpy (Newtonian case) More...
 
Tenseur nbar
 Baryon density in the fluid frame. More...
 
Tenseur ener
 Total energy density in the fluid frame. More...
 
Tenseur press
 Fluid pressure. More...
 
Tenseur ener_euler
 Total energy density in the Eulerian frame. More...
 
Tenseur s_euler
 Trace of the stress tensor in the Eulerian frame. More...
 
Tenseur gam_euler
 Lorentz factor between the fluid and Eulerian observers. More...
 
Tenseur u_euler
 Fluid 3-velocity with respect to the Eulerian observer. More...
 
Tenseur logn_auto
 Total of the logarithm of the part of the lapse N
generated principaly by the star. More...
 
Tenseur logn_auto_regu
 Regular part of the logarithm of the part of the lapse N
generated principaly by the star. More...
 
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. More...
 
Tenseur d_logn_auto_div
 Gradient of logn_auto_div (if k_div!=0 ) More...
 
Tenseur beta_auto
 Logarithm of the part of the product AN generated principaly by by the star. More...
 
Tenseur nnn
 Total lapse function. More...
 
Tenseur shift
 Total shift vector. More...
 
Tenseur a_car
 Total conformal factor $A^2$. More...
 
double * p_ray_eq
 Coordinate radius at $\phi=0$, $\theta=\pi/2$. More...
 
double * p_ray_eq_pis2
 Coordinate radius at $\phi=\pi/2$, $\theta=\pi/2$. More...
 
double * p_ray_eq_pi
 Coordinate radius at $\phi=\pi$, $\theta=\pi/2$. More...
 
double * p_ray_eq_3pis2
 Coordinate radius at $\phi=3\pi/2$, $\theta=\pi/2$. More...
 
double * p_ray_pole
 Coordinate radius at $\theta=0$. More...
 
Itblp_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 $(\theta', \phi')$. More...
 
Tblp_xi_surf
 Description of the stellar surface: 2-D Tbl containing the values of the radial coordinate $\xi$ on the surface at the collocation points in $(\theta', \phi')$. More...
 
double * p_mass_b
 Baryon mass. More...
 
double * p_mass_g
 Gravitational mass. More...
 

Friends

class Bin_ns_bh
 Friend class Bin_ns_bh. More...
 

Detailed Description

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 $\tilde h_{ij}$ 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 817 of file etoile.h.

Constructor & Destructor Documentation

◆ Etoile_bin() [1/3]

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

Parameters
mp_iMapping on which the star will be defined
nzet_iNumber of domains occupied by the star
relatshould be true for a relativistic star, false for a Newtonian one
eos_iEquation of state of the stellar matter
irrotshould be true for an irrotational star, false for a corotating one
ref_triad_iReference 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 210 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, Lorene::Tenseur::set(), set_der_0x0(), Lorene::Tenseur::set_etat_qcq(), Lorene::Tenseur::set_etat_zero(), Lorene::Tenseur::set_triad(), Lorene::Etoile::shift, shift_auto, shift_comp, ssjm1_beta, ssjm1_khi, ssjm1_logn, ssjm1_psi, ssjm1_wshift, tkij_auto, tkij_comp, Lorene::Etoile::u_euler, w_shift, and wit_w.

◆ Etoile_bin() [2/3]

Lorene::Etoile_bin::Etoile_bin ( const Etoile_bin et)

Copy constructor.

Definition at line 294 of file etoile_bin.C.

References set_der_0x0().

◆ Etoile_bin() [3/3]

Lorene::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*) ).

Parameters
mp_iMapping on which the star will be defined
eos_iEquation of state of the stellar matter
ref_triad_iReference 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.
fichinput file (must have been created by the function sauve )

Definition at line 332 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(), Lorene::Etoile::gam_euler, Lorene::Map::get_bvect_cart(), Lorene::Map::get_mg(), irrotational, khi_shift, loggam, logn_comp, Lorene::Etoile::mp, pot_centri, psi0, ref_triad, set_der_0x0(), Lorene::Tenseur::set_etat_zero(), Lorene::Tenseur::set_triad(), Lorene::Etoile::shift, shift_comp, ssjm1_beta, ssjm1_khi, ssjm1_logn, ssjm1_psi, ssjm1_wshift, tkij_auto, tkij_comp, Lorene::Etoile::u_euler, w_shift, and wit_w.

◆ ~Etoile_bin()

Lorene::Etoile_bin::~Etoile_bin ( )
virtual

Destructor.

Definition at line 440 of file etoile_bin.C.

References del_deriv().

Member Function Documentation

◆ del_deriv()

void Lorene::Etoile_bin::del_deriv ( ) const
protectedvirtual

Deletes all the derived quantities.

Reimplemented from Lorene::Etoile.

Definition at line 450 of file etoile_bin.C.

References Lorene::Etoile::del_deriv(), p_xa_barycenter, and set_der_0x0().

◆ del_hydro_euler()

void Lorene::Etoile_bin::del_hydro_euler ( )
protectedvirtual

Sets to ETATNONDEF (undefined state) the hydrodynamical quantities relative to the Eulerian observer.

Reimplemented from Lorene::Etoile.

Definition at line 470 of file etoile_bin.C.

References del_deriv(), and Lorene::Etoile::del_hydro_euler().

◆ equation_of_state()

◆ equil_regular()

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

Parameters
ent_c[input] Central enthalpy
ent_limitis 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 :
  • fact(0) : A resizing factor for the first shell
diff[output] 1-D Tbl for the storage of some error indicators :
  • diff(0) : Relative change in the enthalpy field between two successive steps
  • diff(1) : Relative error returned by the routine Etoile_bin::velocity_potential
  • diff(2) : Relative error in the resolution of the Poisson equation for logn_auto
  • diff(3) : Relative error in the resolution of the Poisson equation for beta_auto
  • diff(4) : Relative error in the resolution of the equation for shift_auto (x comp.)
  • diff(5) : Relative error in the resolution of the equation for shift_auto (y comp.)
  • diff(6) : Relative error in the resolution of the equation for shift_auto (z comp.)

Definition at line 147 of file et_bin_equil_regu.C.

References Lorene::Etoile::a_car, Lorene::abs(), Lorene::Map::adapt(), Lorene::Param::add_cmp_mod(), Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), Lorene::Param::add_tbl(), Lorene::Param::add_tenseur_mod(), akcar_auto, akcar_comp, Lorene::Etoile::beta_auto, d_beta_auto, d_beta_comp, d_logn_auto, Lorene::Etoile::d_logn_auto_div, d_logn_comp, Lorene::Eos::der_ener_ent_p(), Lorene::Eos::der_nbar_ent_p(), Lorene::diffrel(), Lorene::Etoile::ener_euler, Lorene::Etoile::ent, Lorene::Etoile::eos, Lorene::Etoile::equation_of_state(), Lorene::flat_scalar_prod_desal(), Lorene::Map::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Map_et::homothetie(), hydro_euler(), irrotational, Lorene::Etoile::k_div, loggam, Lorene::Etoile::logn_auto, Lorene::Etoile::logn_auto_div, Lorene::Etoile::logn_auto_regu, logn_comp, Lorene::max(), Lorene::Etoile::mp, Lorene::Etoile::nbar, Lorene::Etoile::nnn, Lorene::Etoile::nzet, pot_centri, Lorene::Etoile::press, Lorene::Etoile::ray_eq(), Lorene::Etoile::ray_pole(), Lorene::Map::reevaluate_symy(), ref_triad, Lorene::Etoile::relativistic, Lorene::Map::resize(), Lorene::Etoile::s_euler, Lorene::Tbl::set(), Lorene::Tenseur::set(), Lorene::Tbl::set_etat_qcq(), Lorene::Tenseur::set_etat_qcq(), Lorene::Tenseur::set_std_base(), Lorene::sqrt(), ssjm1_beta, ssjm1_khi, ssjm1_logn, ssjm1_wshift, Lorene::Cmp::std_base_scal(), tkij_auto, Lorene::Etoile::u_euler, Lorene::Map::val_r(), and velocity_potential().

◆ equil_spher_falloff()

◆ equil_spher_regular()

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

Parameters
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 118 of file et_equil_spher_regu.C.

References Lorene::Etoile::a_car, Lorene::Tenseur::annule(), Lorene::Etoile::beta_auto, Lorene::Etoile::d_logn_auto_div, Lorene::Eos::der_ener_ent_p(), Lorene::Eos::der_nbar_ent_p(), Lorene::diffrel(), Lorene::Map_af::dsdr(), Lorene::Etoile::ener, Lorene::Etoile::ener_euler, Lorene::Etoile::ent, Lorene::Etoile::eos, Lorene::Etoile::equation_of_state(), Lorene::exp(), Lorene::Etoile::gam_euler, Lorene::Map::get_bvect_spher(), Lorene::Map::get_mg(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Tenseur::gradient_spher(), Lorene::Map_af::homothetie(), Lorene::Etoile::k_div, Lorene::Etoile::logn_auto, Lorene::Etoile::logn_auto_div, Lorene::Etoile::logn_auto_regu, Lorene::Etoile::mass_b(), Lorene::Etoile::mass_g(), Lorene::Etoile::mp, Lorene::Etoile::nbar, Lorene::Etoile::nnn, Lorene::norme(), Lorene::Etoile::nzet, Lorene::Map_af::poisson(), Lorene::Map_af::poisson_regular(), Lorene::Etoile::press, Lorene::Etoile::relativistic, Lorene::Etoile::s_euler, Lorene::Tenseur::set(), Lorene::Tenseur::set_etat_qcq(), Lorene::Tenseur::set_std_base(), Lorene::Tenseur::set_triad(), Lorene::Etoile::shift, Lorene::sqrt(), Lorene::Cmp::std_base_scal(), Lorene::Etoile::u_euler, Lorene::Etoile::unsurc2, and Lorene::Map::val_r().

◆ equilibrium()

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

Parameters
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 :
  • fact(0) : A resizing factor for the first shell
diff[output] 1-D Tbl for the storage of some error indicators :
  • diff(0) : Relative change in the enthalpy field between two successive steps
  • diff(1) : Relative error returned by the routine Etoile_bin::velocity_potential
  • diff(2) : Relative error in the resolution of the Poisson equation for logn_auto
  • diff(3) : Relative error in the resolution of the Poisson equation for beta_auto
  • diff(4) : Relative error in the resolution of the equation for shift_auto (x comp.)
  • diff(5) : Relative error in the resolution of the equation for shift_auto (y comp.)
  • diff(6) : Relative error in the resolution of the equation for shift_auto (z comp.)
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 187 of file et_bin_equilibrium.C.

References Lorene::Etoile::a_car, Lorene::abs(), Lorene::Map::adapt(), Lorene::Param::add_cmp_mod(), Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), Lorene::Param::add_tbl(), Lorene::Param::add_tenseur_mod(), akcar_auto, akcar_comp, Lorene::Etoile::beta_auto, d_beta_auto, d_beta_comp, d_logn_auto, d_logn_comp, Lorene::diffrel(), Lorene::Etoile::ener_euler, Lorene::Etoile::ent, Lorene::Etoile::equation_of_state(), Lorene::flat_scalar_prod_desal(), Lorene::Map::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Map_et::homothetie(), hydro_euler(), irrotational, loggam, Lorene::Etoile::logn_auto, Lorene::Etoile::logn_auto_regu, logn_comp, Lorene::max(), Lorene::Etoile::mp, Lorene::Etoile::nbar, Lorene::Etoile::nnn, Lorene::Etoile::nzet, pot_centri, Lorene::Etoile::press, Lorene::Etoile::ray_eq(), Lorene::Etoile::ray_pole(), Lorene::Map::reevaluate_symy(), ref_triad, Lorene::Etoile::relativistic, Lorene::Map::resize(), Lorene::Etoile::s_euler, Lorene::Tbl::set(), Lorene::Tenseur::set(), Lorene::Tbl::set_etat_qcq(), Lorene::Tenseur::set_std_base(), Lorene::sqrt(), ssjm1_beta, ssjm1_khi, ssjm1_logn, ssjm1_wshift, tkij_auto, Lorene::Etoile::u_euler, Lorene::Map::val_r(), and velocity_potential().

◆ equilibrium_spher()

void Lorene::Etoile::equilibrium_spher ( double  ent_c,
double  precis = 1.e-14,
const Tbl ent_limit = 0x0 
)
virtualinherited

Computes a spherical static configuration.

Parameters
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 90 of file etoile_equil_spher.C.

References Lorene::Etoile::a_car, Lorene::Map_et::adapt(), Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), Lorene::Param::add_tbl(), Lorene::Tenseur::annule(), Lorene::Etoile::beta_auto, Lorene::diffrel(), Lorene::Cmp::dsdr(), Lorene::Map_af::dsdr(), Lorene::Etoile::ener, Lorene::Etoile::ener_euler, Lorene::Etoile::ent, Lorene::Etoile::equation_of_state(), Lorene::exp(), Lorene::Etoile::gam_euler, Lorene::Map_af::get_alpha(), Lorene::Map_et::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Map_et::get_beta(), Lorene::Etoile::get_ent(), Lorene::Map::get_mg(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Etoile::get_press(), Lorene::Map_af::homothetie(), Lorene::Etoile::logn_auto, Lorene::Etoile::mass_b(), Lorene::Etoile::mass_g(), Lorene::Etoile::mp, Lorene::Etoile::nbar, Lorene::Etoile::nnn, Lorene::norme(), Lorene::Etoile::nzet, Lorene::Map_af::poisson(), Lorene::Etoile::press, Lorene::Etoile::relativistic, Lorene::Etoile::s_euler, Lorene::Tenseur::set(), Lorene::Map_af::set_alpha(), Lorene::Map_af::set_beta(), Lorene::Tenseur::set_etat_qcq(), Lorene::Tenseur::set_std_base(), Lorene::Etoile::shift, Lorene::sqrt(), Lorene::Etoile::u_euler, Lorene::Etoile::unsurc2, and Lorene::Map::val_r().

◆ extrinsic_curvature()

◆ fait_d_psi()

◆ fait_shift_auto()

void Lorene::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)] :

\[ N^i = {7\over 8} W^i - {1\over 8} \left(\nabla^i\chi+\nabla^iW^kx_k\right) \]

Definition at line 829 of file etoile_bin.C.

References Lorene::Tenseur::get_etat(), Lorene::Tenseur::gradient(), and khi_shift.

◆ get_a_car()

const Tenseur& Lorene::Etoile::get_a_car ( ) const
inlineinherited

Returns the total conformal factor $A^2$.

Definition at line 736 of file etoile.h.

References Lorene::Etoile::a_car.

◆ get_akcar_auto()

const Tenseur& Lorene::Etoile_bin::get_akcar_auto ( ) const
inline

Returns the part of the scalar $A^2 K_{ij} K^{ij}$ generated by shift_auto , i.e.

$A^2 K_{ij}^{\rm auto} K^{ij}_{\rm auto}$

Definition at line 1207 of file etoile.h.

References akcar_auto.

◆ get_akcar_comp()

const Tenseur& Lorene::Etoile_bin::get_akcar_comp ( ) const
inline

Returns the part of the scalar $A^2 K_{ij} K^{ij}$ generated by shift_auto and shift_comp , i.e.

$A^2 K_{ij}^{\rm auto} K^{ij}_{\rm comp} $

Definition at line 1213 of file etoile.h.

References akcar_comp.

◆ get_beta_auto()

const Tenseur& Lorene::Etoile::get_beta_auto ( ) const
inlineinherited

Returns the logarithm of the part of the product AN generated principaly by the star.

Definition at line 727 of file etoile.h.

References Lorene::Etoile::beta_auto.

◆ get_beta_comp()

const Tenseur& Lorene::Etoile_bin::get_beta_comp ( ) const
inline

Returns the part of the logarithm of AN generated principaly by the companion star.

Definition at line 1139 of file etoile.h.

References beta_comp.

◆ get_bsn()

const Tenseur& Lorene::Etoile_bin::get_bsn ( ) const
inline

Returns the shift vector, divided by N , of the rotating coordinates, $B^i/N$.

(Cartesian components with respect to ref_triad )

Definition at line 1219 of file etoile.h.

References bsn.

◆ get_d_beta_auto()

const Tenseur& Lorene::Etoile_bin::get_d_beta_auto ( ) const
inline

Returns the gradient of beta_auto (Cartesian components with respect to ref_triad )

Definition at line 1144 of file etoile.h.

References d_beta_auto.

◆ get_d_beta_comp()

const Tenseur& Lorene::Etoile_bin::get_d_beta_comp ( ) const
inline

Returns the gradient of beta_comp
(Cartesian components with respect to ref_triad )

Definition at line 1149 of file etoile.h.

References d_beta_comp.

◆ get_d_logn_auto()

const Tenseur& Lorene::Etoile_bin::get_d_logn_auto ( ) const
inline

Returns the gradient of logn_auto (Cartesian components with respect to ref_triad )

Definition at line 1124 of file etoile.h.

References d_logn_auto.

◆ get_d_logn_auto_div()

const Tenseur& Lorene::Etoile::get_d_logn_auto_div ( ) const
inlineinherited

Returns the gradient of logn_auto_div.

Definition at line 722 of file etoile.h.

References Lorene::Etoile::d_logn_auto_div.

◆ get_d_logn_auto_regu()

const Tenseur& Lorene::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 1129 of file etoile.h.

References d_logn_auto_regu.

◆ get_d_logn_comp()

const Tenseur& Lorene::Etoile_bin::get_d_logn_comp ( ) const
inline

Returns the gradient of logn_comp (Cartesian components with respect to ref_triad )

Definition at line 1134 of file etoile.h.

References d_logn_comp.

◆ get_d_psi()

const Tenseur& Lorene::Etoile_bin::get_d_psi ( ) const
inline

Returns the gradient of the velocity potential (Cartesian components with respect to ref_triad )

Definition at line 1103 of file etoile.h.

References d_psi.

◆ get_decouple()

const Cmp Lorene::Etoile_bin::get_decouple ( ) const
inline


Returns the function used to construct tkij_auto
from tkij_tot .

Definition at line 1227 of file etoile.h.

References decouple.

◆ get_ener()

const Tenseur& Lorene::Etoile::get_ener ( ) const
inlineinherited

Returns the proper total energy density.

Definition at line 682 of file etoile.h.

References Lorene::Etoile::ener.

◆ get_ener_euler()

const Tenseur& Lorene::Etoile::get_ener_euler ( ) const
inlineinherited

Returns the total energy density with respect to the Eulerian observer.

Definition at line 688 of file etoile.h.

References Lorene::Etoile::ener_euler.

◆ get_ent()

const Tenseur& Lorene::Etoile::get_ent ( ) const
inlineinherited

Returns the enthalpy field.

Definition at line 676 of file etoile.h.

References Lorene::Etoile::ent.

◆ get_eos()

const Eos& Lorene::Etoile::get_eos ( ) const
inlineinherited

Returns the equation of state.

Definition at line 673 of file etoile.h.

References Lorene::Etoile::eos.

◆ get_gam_euler()

const Tenseur& Lorene::Etoile::get_gam_euler ( ) const
inlineinherited

Returns the Lorentz factor between the fluid and Eulerian observers.

Definition at line 694 of file etoile.h.

References Lorene::Etoile::gam_euler.

◆ get_khi_shift()

const Tenseur& Lorene::Etoile_bin::get_khi_shift ( ) const
inline

Returns the scalar $\chi$ used in the decomposition of shift_auto
following Shibata's prescription [Prog.

Theor. Phys. 101 , 1199 (1999)] :

\[ N^i = {7\over 8} W^i - {1\over 8} \left(\nabla^i\chi+\nabla^iW^kx_k\right) \]

NB: w_shift contains the components of $W^i$ with respect to the Cartesian triad associated with the mapping mp .

Definition at line 1189 of file etoile.h.

References khi_shift.

◆ get_loggam()

const Tenseur& Lorene::Etoile_bin::get_loggam ( ) const
inline

Returns the logarithm of the Lorentz factor between the fluid and the co-orbiting observer.

Definition at line 1114 of file etoile.h.

References loggam.

◆ get_logn_auto()

const Tenseur& Lorene::Etoile::get_logn_auto ( ) const
inlineinherited

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 $c^2$).

Definition at line 704 of file etoile.h.

References Lorene::Etoile::logn_auto.

◆ get_logn_auto_div()

const Tenseur& Lorene::Etoile::get_logn_auto_div ( ) const
inlineinherited

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 $c^2$).

Definition at line 718 of file etoile.h.

References Lorene::Etoile::logn_auto_div.

◆ get_logn_auto_regu()

const Tenseur& Lorene::Etoile::get_logn_auto_regu ( ) const
inlineinherited

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 $c^2$).

Definition at line 711 of file etoile.h.

References Lorene::Etoile::logn_auto_regu.

◆ get_logn_comp()

const Tenseur& Lorene::Etoile_bin::get_logn_comp ( ) const
inline

Returns the part of the lapse logarithm (gravitational potential at the Newtonian limit) generated principaly by the companion star.

Definition at line 1119 of file etoile.h.

References logn_comp.

◆ get_mp()

const Map& Lorene::Etoile::get_mp ( ) const
inlineinherited

Returns the mapping.

Definition at line 662 of file etoile.h.

References Lorene::Etoile::mp.

◆ get_nbar()

const Tenseur& Lorene::Etoile::get_nbar ( ) const
inlineinherited

Returns the proper baryon density.

Definition at line 679 of file etoile.h.

References Lorene::Etoile::nbar.

◆ get_nnn()

const Tenseur& Lorene::Etoile::get_nnn ( ) const
inlineinherited

Returns the total lapse function N.

Definition at line 730 of file etoile.h.

References Lorene::Etoile::nnn.

◆ get_nzet()

int Lorene::Etoile::get_nzet ( ) const
inlineinherited

Returns the number of domains occupied by the star.

Definition at line 665 of file etoile.h.

References Lorene::Etoile::nzet.

◆ get_pot_centri()

const Tenseur& Lorene::Etoile_bin::get_pot_centri ( ) const
inline

Returns the centrifugal potential.

Definition at line 1222 of file etoile.h.

References pot_centri.

◆ get_press()

const Tenseur& Lorene::Etoile::get_press ( ) const
inlineinherited

Returns the fluid pressure.

Definition at line 685 of file etoile.h.

References Lorene::Etoile::press.

◆ get_psi0()

const Tenseur& Lorene::Etoile_bin::get_psi0 ( ) const
inline

Returns the non-translational part of the velocity potential.

Definition at line 1098 of file etoile.h.

References psi0.

◆ get_s_euler()

const Tenseur& Lorene::Etoile::get_s_euler ( ) const
inlineinherited

Returns the trace of the stress tensor in the Eulerian frame.

Definition at line 691 of file etoile.h.

References Lorene::Etoile::s_euler.

◆ get_shift()

const Tenseur& Lorene::Etoile::get_shift ( ) const
inlineinherited

Returns the total shift vector $N^i$.

Definition at line 733 of file etoile.h.

References Lorene::Etoile::shift.

◆ get_shift_auto()

const Tenseur& Lorene::Etoile_bin::get_shift_auto ( ) const
inline

Returns the part of the shift vector $N^i$ generated principaly by the star.

(Cartesian components with respect to ref_triad )

Definition at line 1155 of file etoile.h.

References shift_auto.

◆ get_shift_comp()

const Tenseur& Lorene::Etoile_bin::get_shift_comp ( ) const
inline

Returns the part of the shift vector $N^i$ generated principaly by the companion star.

(Cartesian components with respect to ref_triad )

Definition at line 1161 of file etoile.h.

References shift_comp.

◆ get_tkij_auto()

const Tenseur_sym& Lorene::Etoile_bin::get_tkij_auto ( ) const
inline

Returns the part of the extrinsic curvature tensor $\tilde K^{ij} = A^2 K^{ij}$ generated by shift_auto .

(Cartesian components with respect to ref_triad )

Definition at line 1195 of file etoile.h.

References tkij_auto.

◆ get_tkij_comp()

const Tenseur_sym& Lorene::Etoile_bin::get_tkij_comp ( ) const
inline

Returns the part of the extrinsic curvature tensor $\tilde K^{ij} = A^2 K^{ij}$ generated by shift_comp .

(Cartesian components with respect to ref_triad )

Definition at line 1201 of file etoile.h.

References tkij_comp.

◆ get_u_euler()

const Tenseur& Lorene::Etoile::get_u_euler ( ) const
inlineinherited

Returns the fluid 3-velocity with respect to the Eulerian observer.

Definition at line 697 of file etoile.h.

References Lorene::Etoile::u_euler.

◆ get_w_shift()

const Tenseur& Lorene::Etoile_bin::get_w_shift ( ) const
inline

Returns the vector $W^i$ used in the decomposition of shift_auto , following Shibata's prescription [Prog.

Theor. Phys. 101 , 1199 (1999)] :

\[ N^i = {7\over 8} W^i - {1\over 8} \left(\nabla^i\chi+\nabla^iW^kx_k\right) \]

NB: w_shift contains the components of $W^i$ with respect to the Cartesian triad associated with the mapping mp .

Definition at line 1175 of file etoile.h.

References w_shift.

◆ get_wit_w()

const Tenseur& Lorene::Etoile_bin::get_wit_w ( ) const
inline

Returns the spatial projection of the fluid 3-velocity with respect to the co-orbiting observer.

(Cartesian components with respect to ref_triad )

Definition at line 1109 of file etoile.h.

References wit_w.

◆ hydro_euler()

void Lorene::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 Lorene::Etoile.

Definition at line 109 of file et_bin_hydro.C.

References Lorene::Etoile::a_car, bsn, d_psi, Lorene::Etoile::ent, Lorene::exp(), Lorene::Etoile::gam_euler, Lorene::Tenseur::get_etat(), Lorene::Map::get_mg(), Lorene::Mg3d::get_nzone(), irrotational, Lorene::Etoile::mp, Lorene::Tenseur::set_std_base(), sprod(), Lorene::sqrt(), and Lorene::Etoile::unsurc2.

◆ is_irrotational()

bool Lorene::Etoile_bin::is_irrotational ( ) const
inline

Returns true for an irrotational motion, false for a corotating one.

Definition at line 1095 of file etoile.h.

References irrotational.

◆ is_relativistic()

bool Lorene::Etoile::is_relativistic ( ) const
inlineinherited

Returns true for a relativistic star, false for a Newtonian one.

Definition at line 670 of file etoile.h.

References Lorene::Etoile::relativistic.

◆ kinematics()

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

Parameters
omegaangular velocity with respect to an asymptotically inertial observer
x_axeabsolute X coordinate of the rotation axis

Reimplemented in Lorene::Et_bin_nsbh.

Definition at line 84 of file et_bin_kinema.C.

References Lorene::Tenseur::annule(), bsn, del_deriv(), Lorene::Map::get_mg(), Lorene::Mg3d::get_nzone(), Lorene::log(), Lorene::Etoile::mp, Lorene::Etoile::nnn, pot_centri, Lorene::Etoile::relativistic, Lorene::Tenseur::set(), Lorene::Tenseur::set_etat_qcq(), Lorene::Tenseur::set_std_base(), Lorene::Etoile::shift, sprod(), Lorene::sqrt(), Lorene::Map::xa, and Lorene::Map::ya.

◆ l_surf()

const Itbl & Lorene::Etoile::l_surf ( ) const
virtualinherited

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 $(\theta', \phi')$.

The stellar surface is defined as the location where the enthalpy (member ent ) vanishes.

Reimplemented in Lorene::Etoile_rot, and Lorene::Et_rot_bifluid.

Definition at line 78 of file etoile_global.C.

References Lorene::Etoile::ent, Lorene::Map::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nt(), Lorene::Etoile::mp, Lorene::Etoile::nzet, Lorene::Etoile::p_l_surf, and Lorene::Etoile::p_xi_surf.

◆ mass_b()

◆ mass_g()

◆ operator=()

◆ operator>>()

◆ ray_eq() [1/2]

double Lorene::Etoile::ray_eq ( ) const
inherited

◆ ray_eq() [2/2]

double Lorene::Etoile::ray_eq ( int  kk) const
inherited

◆ ray_eq_3pis2()

double Lorene::Etoile::ray_eq_3pis2 ( ) const
inherited

◆ ray_eq_pi()

double Lorene::Etoile::ray_eq_pi ( ) const
inherited

◆ ray_eq_pis2()

double Lorene::Etoile::ray_eq_pis2 ( ) const
inherited

◆ ray_pole()

double Lorene::Etoile::ray_pole ( ) const
inherited

Coordinate radius at $\theta=0$ [r_unit].

Definition at line 418 of file etoile_global.C.

References Lorene::Map::get_mg(), Lorene::Mg3d::get_type_t(), Lorene::Etoile::mp, and Lorene::Etoile::p_ray_pole.

◆ relaxation()

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

Parameters
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 866 of file etoile_bin.C.

References Lorene::Etoile::beta_auto, Lorene::Etoile::d_logn_auto_div, del_deriv(), Lorene::Etoile::ent, Lorene::Etoile::equation_of_state(), Lorene::Etoile::logn_auto, Lorene::Etoile::logn_auto_div, Lorene::Etoile::logn_auto_regu, and shift_auto.

◆ sauve()

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

◆ set_der_0x0()

void Lorene::Etoile_bin::set_der_0x0 ( ) const
protectedvirtual

Sets to 0x0 all the pointers on derived quantities.

Reimplemented from Lorene::Etoile.

Definition at line 462 of file etoile_bin.C.

References p_xa_barycenter, and Lorene::Etoile::set_der_0x0().

◆ set_enthalpy()

void Lorene::Etoile::set_enthalpy ( const Cmp ent_i)
inherited

Assignment of the enthalpy field.

Definition at line 468 of file etoile.C.

References Lorene::Etoile::del_deriv(), Lorene::Etoile::ent, and Lorene::Etoile::equation_of_state().

◆ set_khi_shift()

Tenseur & Lorene::Etoile_bin::set_khi_shift ( )

Read/write of khi_shift.

Definition at line 548 of file etoile_bin.C.

References del_deriv(), and khi_shift.

◆ set_logn_comp()

Tenseur & Lorene::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 527 of file etoile_bin.C.

References del_deriv(), and logn_comp.

◆ set_mp()

Map& Lorene::Etoile::set_mp ( )
inlineinherited

Read/write of the mapping.

Definition at line 604 of file etoile.h.

References Lorene::Etoile::mp.

◆ set_pot_centri()

Tenseur & Lorene::Etoile_bin::set_pot_centri ( )

Read/write the centrifugal potential.

Definition at line 534 of file etoile_bin.C.

References del_deriv(), and pot_centri.

◆ set_w_shift()

Tenseur & Lorene::Etoile_bin::set_w_shift ( )

Read/write of w_shift.

Definition at line 541 of file etoile_bin.C.

References del_deriv(), and w_shift.

◆ sprod()

Tenseur Lorene::Etoile_bin::sprod ( const Tenseur t1,
const Tenseur t2 
) const
virtual

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 $A^2$ is performed to lower one index. For instance, for two vectors $V^i$ and $W^i$, this function returns the scalar $h_{ij} V^i W^j = A^2 f_{ij} V^i W^j$.

Definition at line 751 of file etoile_bin.C.

References Lorene::Etoile::a_car, Lorene::flat_scalar_prod(), Lorene::Tenseur::get_type_indice(), and Lorene::Tenseur::get_valence().

◆ update_metric() [1/2]

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

Parameters
compcompanion star.

Definition at line 103 of file et_bin_upmetr.C.

References Lorene::Etoile::logn_auto.

◆ update_metric() [2/2]

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

Parameters
compcompanion star.
star_prevprevious value of the star.
relaxrelaxation parameter.

Definition at line 207 of file et_bin_upmetr.C.

References Lorene::Etoile::logn_auto.

◆ update_metric_der_comp()

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

Parameters
compcompanion star.

Definition at line 87 of file et_bin_upmetr_der.C.

References d_logn_auto.

◆ velocity_potential()

double Lorene::Etoile_bin::velocity_potential ( int  mermax,
double  precis,
double  relax 
)

Computes the non-translational part of the velocity scalar potential $\psi0$ by solving the continuity equation.

Parameters
mermax[input] Maximum number of steps in the iteration
precis[input] Required precision: the iteration will be stopped when the relative difference on $\psi0$ between two successive steps is lower than precis .
relax[input] Relaxation factor.
Returns
Relative error of the resolution obtained by comparing the operator acting on the solution with the source.

Definition at line 145 of file et_bin_vel_pot.C.

References Lorene::Etoile::a_car, Lorene::Param::add_cmp_mod(), Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), Lorene::Tenseur::annule(), Lorene::Cmp::annule(), Lorene::Etoile::beta_auto, beta_comp, bsn, Lorene::Tenseur::change_triad(), Lorene::Eos::der_nbar_ent(), Lorene::Etoile::ent, Lorene::Etoile::eos, Lorene::exp(), Lorene::flat_scalar_prod(), Lorene::Etoile::gam_euler, Lorene::Map::get_bvect_cart(), Lorene::Map::get_bvect_spher(), Lorene::Tenseur::get_etat(), Lorene::Map::get_mg(), Lorene::Mg3d::get_nzone(), Lorene::Tenseur::get_triad(), Lorene::Tenseur::gradient(), Lorene::Tenseur::gradient_spher(), Lorene::Eos::identify(), Lorene::log(), Lorene::Etoile::mp, Lorene::Etoile::nnn, Lorene::Etoile::nzet, psi0, Lorene::Tenseur::set(), Lorene::Cmp::set(), Lorene::Scalar::set_domain(), Lorene::Tenseur::set_etat_qcq(), Lorene::Scalar::set_outer_boundary(), Lorene::Tenseur::set_std_base(), Lorene::sqrt(), ssjm1_psi, and Lorene::Etoile::unsurc2.

◆ xa_barycenter()

double Lorene::Etoile_bin::xa_barycenter ( ) const
virtual

Absolute coordinate X of the barycenter of the baryon density, defined according to the formula

\[ X_G := \int A^3 \Gamma_{\rm n} \, n \, X \, d^3x \ , \]

where $\Gamma_{\rm n}$ is the Lorentz factor between the fluid and Eulerian observers.

Definition at line 173 of file et_bin_global.C.

References Lorene::Etoile::a_car, Lorene::Etoile::gam_euler, Lorene::Cmp::integrale(), mass_b(), Lorene::Etoile::mp, Lorene::Etoile::nbar, p_xa_barycenter, Lorene::sqrt(), Lorene::Cmp::std_base_scal(), and Lorene::Map::xa.

◆ xi_surf()

const Tbl & Lorene::Etoile::xi_surf ( ) const
inherited

Description of the stellar surface: returns a 2-D Tbl
containing the values of the radial coordinate $\xi$ on the surface at the collocation points in $(\theta', \phi')$.

The stellar surface is defined as the location where the enthalpy (member ent ) vanishes.

Definition at line 104 of file etoile_global.C.

References Lorene::Etoile::l_surf(), Lorene::Etoile::p_l_surf, and Lorene::Etoile::p_xi_surf.

Friends And Related Function Documentation

◆ Bin_ns_bh

friend class Bin_ns_bh
friend

Friend class Bin_ns_bh.

Definition at line 1479 of file etoile.h.

Member Data Documentation

◆ a_car

Tenseur Lorene::Etoile::a_car
protectedinherited

Total conformal factor $A^2$.

Definition at line 518 of file etoile.h.

◆ akcar_auto

Tenseur Lorene::Etoile_bin::akcar_auto
protected

Part of the scalar $A^2 K_{ij} K^{ij}$ generated by shift_auto , i.e.

$A^2 K_{ij}^{\rm auto} K^{ij}_{\rm auto}$

Definition at line 941 of file etoile.h.

◆ akcar_comp

Tenseur Lorene::Etoile_bin::akcar_comp
protected

Part of the scalar $A^2 K_{ij} K^{ij}$ generated by shift_auto and shift_comp , i.e.

$A^2 K_{ij}^{\rm auto} K^{ij}_{\rm comp}$

Definition at line 947 of file etoile.h.

◆ beta_auto

Tenseur Lorene::Etoile::beta_auto
protectedinherited

Logarithm of the part of the product AN generated principaly by by the star.

Definition at line 509 of file etoile.h.

◆ beta_comp

Tenseur Lorene::Etoile_bin::beta_comp
protected

Part of the logarithm of AN generated principaly by the companion star.

Definition at line 877 of file etoile.h.

◆ bsn

Tenseur Lorene::Etoile_bin::bsn
protected

3-vector shift, divided by N , of the rotating coordinates, $B^i/N$.

(Cartesian components with respect to ref_triad )

Definition at line 953 of file etoile.h.

◆ d_beta_auto

Tenseur Lorene::Etoile_bin::d_beta_auto
protected

Gradient of beta_auto (Cartesian components with respect to ref_triad )

Definition at line 882 of file etoile.h.

◆ d_beta_comp

Tenseur Lorene::Etoile_bin::d_beta_comp
protected

Gradient of beta_comp (Cartesian components with respect to ref_triad )

Definition at line 887 of file etoile.h.

◆ d_logn_auto

Tenseur Lorene::Etoile_bin::d_logn_auto
protected

Gradient of logn_auto (Cartesian components with respect to ref_triad )

Definition at line 862 of file etoile.h.

◆ d_logn_auto_div

Tenseur Lorene::Etoile::d_logn_auto_div
protectedinherited

Gradient of logn_auto_div (if k_div!=0 )

Definition at line 504 of file etoile.h.

◆ d_logn_auto_regu

Tenseur Lorene::Etoile_bin::d_logn_auto_regu
protected

Gradient of logn_auto_regu (Cartesian components with respect to ref_triad )

Definition at line 867 of file etoile.h.

◆ d_logn_comp

Tenseur Lorene::Etoile_bin::d_logn_comp
protected

Gradient of logn_comp (Cartesian components with respect to ref_triad )

Definition at line 872 of file etoile.h.

◆ d_psi

Tenseur Lorene::Etoile_bin::d_psi
protected

Gradient of $\Psi$ (in the irrotational case) (Cartesian components with respect to ref_triad )

Definition at line 841 of file etoile.h.

◆ decouple

Cmp Lorene::Etoile_bin::decouple
protected

Function used to construct the part of $K^{ij}$ generated by the star from the total $K^{ij}$.

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.

Definition at line 1003 of file etoile.h.

◆ ener

Tenseur Lorene::Etoile::ener
protectedinherited

Total energy density in the fluid frame.

Definition at line 463 of file etoile.h.

◆ ener_euler

Tenseur Lorene::Etoile::ener_euler
protectedinherited

Total energy density in the Eulerian frame.

Definition at line 468 of file etoile.h.

◆ ent

Tenseur Lorene::Etoile::ent
protectedinherited

Log-enthalpy (relativistic case) or specific enthalpy (Newtonian case)

Definition at line 460 of file etoile.h.

◆ eos

const Eos& Lorene::Etoile::eos
protectedinherited

Equation of state of the stellar matter.

Definition at line 454 of file etoile.h.

◆ gam_euler

Tenseur Lorene::Etoile::gam_euler
protectedinherited

Lorentz factor between the fluid and Eulerian observers.

Definition at line 474 of file etoile.h.

◆ irrotational

bool Lorene::Etoile_bin::irrotational
protected

true for an irrotational star, false for a corotating one

Definition at line 825 of file etoile.h.

◆ k_div

int Lorene::Etoile::k_div
protectedinherited

Index of regularity of the gravitational potential logn_auto .

If k_div=0 , logn_auto contains the total potential generated principaly by the star, otherwise it should be supplemented by logn_auto_div .

Definition at line 452 of file etoile.h.

◆ khi_shift

Tenseur Lorene::Etoile_bin::khi_shift
protected

Scalar $\chi$ used in the decomposition of shift_auto , following Shibata's prescription [Prog.

Theor. Phys. 101 , 1199 (1999)] :

\[ N^i = {7\over 8} W^i - {1\over 8} \left(\nabla^i\chi+\nabla^iW^kx_k\right) \]

Definition at line 921 of file etoile.h.

◆ loggam

Tenseur Lorene::Etoile_bin::loggam
protected

Logarithm of the Lorentz factor between the fluid and the co-orbiting observer.

Definition at line 852 of file etoile.h.

◆ logn_auto

Tenseur Lorene::Etoile::logn_auto
protectedinherited

Total 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 $c^2$).

Definition at line 487 of file etoile.h.

◆ logn_auto_div

Tenseur Lorene::Etoile::logn_auto_div
protectedinherited

Divergent part (if k_div!=0 ) of the logarithm of the part of the lapse N
generated principaly by the star.

Definition at line 500 of file etoile.h.

◆ logn_auto_regu

Tenseur Lorene::Etoile::logn_auto_regu
protectedinherited

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 $c^2$).

Definition at line 494 of file etoile.h.

◆ logn_comp

Tenseur Lorene::Etoile_bin::logn_comp
protected

Part of the lapse logarithm (gravitational potential at the Newtonian limit) generated principaly by the companion star.

Definition at line 857 of file etoile.h.

◆ mp

Map& Lorene::Etoile::mp
protectedinherited

Mapping associated with the star.

Definition at line 432 of file etoile.h.

◆ nbar

Tenseur Lorene::Etoile::nbar
protectedinherited

Baryon density in the fluid frame.

Definition at line 462 of file etoile.h.

◆ nnn

Tenseur Lorene::Etoile::nnn
protectedinherited

Total lapse function.

Definition at line 512 of file etoile.h.

◆ nzet

int Lorene::Etoile::nzet
protectedinherited

Number of domains of *mp occupied by the star.

Definition at line 435 of file etoile.h.

◆ p_l_surf

Itbl* Lorene::Etoile::p_l_surf
mutableprotectedinherited

Description of the stellar surface: 2-D Itbl containing the values of the domain index l on the surface at the collocation points in $(\theta', \phi')$.

Definition at line 542 of file etoile.h.

◆ p_mass_b

double* Lorene::Etoile::p_mass_b
mutableprotectedinherited

Baryon mass.

Definition at line 550 of file etoile.h.

◆ p_mass_g

double* Lorene::Etoile::p_mass_g
mutableprotectedinherited

Gravitational mass.

Definition at line 551 of file etoile.h.

◆ p_ray_eq

double* Lorene::Etoile::p_ray_eq
mutableprotectedinherited

Coordinate radius at $\phi=0$, $\theta=\pi/2$.

Definition at line 524 of file etoile.h.

◆ p_ray_eq_3pis2

double* Lorene::Etoile::p_ray_eq_3pis2
mutableprotectedinherited

Coordinate radius at $\phi=3\pi/2$, $\theta=\pi/2$.

Definition at line 533 of file etoile.h.

◆ p_ray_eq_pi

double* Lorene::Etoile::p_ray_eq_pi
mutableprotectedinherited

Coordinate radius at $\phi=\pi$, $\theta=\pi/2$.

Definition at line 530 of file etoile.h.

◆ p_ray_eq_pis2

double* Lorene::Etoile::p_ray_eq_pis2
mutableprotectedinherited

Coordinate radius at $\phi=\pi/2$, $\theta=\pi/2$.

Definition at line 527 of file etoile.h.

◆ p_ray_pole

double* Lorene::Etoile::p_ray_pole
mutableprotectedinherited

Coordinate radius at $\theta=0$.

Definition at line 536 of file etoile.h.

◆ p_xa_barycenter

double* Lorene::Etoile_bin::p_xa_barycenter
mutableprotected

Absolute coordinate X of the barycenter of the baryon density.

Definition at line 1009 of file etoile.h.

◆ p_xi_surf

Tbl* Lorene::Etoile::p_xi_surf
mutableprotectedinherited

Description of the stellar surface: 2-D Tbl containing the values of the radial coordinate $\xi$ on the surface at the collocation points in $(\theta', \phi')$.

Definition at line 548 of file etoile.h.

◆ pot_centri

Tenseur Lorene::Etoile_bin::pot_centri
protected

Centrifugal potential.

Definition at line 956 of file etoile.h.

◆ press

Tenseur Lorene::Etoile::press
protectedinherited

Fluid pressure.

Definition at line 464 of file etoile.h.

◆ psi0

Tenseur Lorene::Etoile_bin::psi0
protected

Scalar potential $\Psi_0$ of the non-translational part of fluid 4-velocity (in the irrotational case)

Definition at line 836 of file etoile.h.

◆ ref_triad

const Base_vect& Lorene::Etoile_bin::ref_triad
protected

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 .

Definition at line 831 of file etoile.h.

◆ relativistic

bool Lorene::Etoile::relativistic
protectedinherited

Indicator of relativity: true for a relativistic star, false for a Newtonian one.

Definition at line 440 of file etoile.h.

◆ s_euler

Tenseur Lorene::Etoile::s_euler
protectedinherited

Trace of the stress tensor in the Eulerian frame.

Definition at line 471 of file etoile.h.

◆ shift

Tenseur Lorene::Etoile::shift
protectedinherited

Total shift vector.

Definition at line 515 of file etoile.h.

◆ shift_auto

Tenseur Lorene::Etoile_bin::shift_auto
protected

Part of the shift vector $N^i$ generated principaly by the star.

(Cartesian components with respect to ref_triad )

Definition at line 892 of file etoile.h.

◆ shift_comp

Tenseur Lorene::Etoile_bin::shift_comp
protected

Part of the shift vector $N^i$ generated principaly by the companion star.

(Cartesian components with respect to ref_triad )

Definition at line 898 of file etoile.h.

◆ ssjm1_beta

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

Definition at line 968 of file etoile.h.

◆ ssjm1_khi

Cmp Lorene::Etoile_bin::ssjm1_khi
protected

Effective source at the previous step for the resolution of the Poisson equation for the scalar $\chi$ by means of Map_et::poisson .

$\chi$ is an intermediate quantity for the resolution of the elliptic equation for the shift vector $N^i$

Definition at line 976 of file etoile.h.

◆ ssjm1_logn

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

Definition at line 962 of file etoile.h.

◆ ssjm1_psi

Cmp Lorene::Etoile_bin::ssjm1_psi
protected

Effective source at the previous step for the resolution of the Poisson equation for the scalar $\psi$ by means of Map_et::poisson_interne .

Definition at line 992 of file etoile.h.

◆ ssjm1_wshift

Tenseur Lorene::Etoile_bin::ssjm1_wshift
protected

Effective source at the previous step for the resolution of the vector Poisson equation for $W^i$ by means of Map_et::poisson .

$W^i$ is an intermediate quantity for the resolution of the elliptic equation for the shift vector $N^i$ (Components with respect to the Cartesian triad associated with the mapping mp )

Definition at line 986 of file etoile.h.

◆ tkij_auto

Tenseur_sym Lorene::Etoile_bin::tkij_auto
protected

Part of the extrinsic curvature tensor $\tilde K^{ij} = A^2 K^{ij}$ generated by shift_auto .

(Cartesian components with respect to ref_triad )

Definition at line 928 of file etoile.h.

◆ tkij_comp

Tenseur_sym Lorene::Etoile_bin::tkij_comp
protected

Part of the extrinsic curvature tensor $\tilde K^{ij} = A^2 K^{ij}$ generated by shift_comp .

(Cartesian components with respect to ref_triad )

Definition at line 935 of file etoile.h.

◆ u_euler

Tenseur Lorene::Etoile::u_euler
protectedinherited

Fluid 3-velocity with respect to the Eulerian observer.

Definition at line 477 of file etoile.h.

◆ unsurc2

double Lorene::Etoile::unsurc2
protectedinherited

$1/c^2$ : unsurc2=1 for a relativistic star, 0 for a Newtonian one.

Definition at line 445 of file etoile.h.

◆ w_shift

Tenseur Lorene::Etoile_bin::w_shift
protected

Vector $W^i$ used in the decomposition of shift_auto , following Shibata's prescription [Prog.

Theor. Phys. 101, 1199 (1999)] :

\[ N^i = {7\over 8} W^i - {1\over 8} \left(\nabla^i\chi+\nabla^iW^kx_k\right) \]

NB: w_shift contains the components of $W^i$ with respect to the Cartesian triad associated with the mapping mp .

Definition at line 911 of file etoile.h.

◆ wit_w

Tenseur Lorene::Etoile_bin::wit_w
protected

Spatial projection of the fluid 3-velocity with respect to
the co-orbiting observer.

(Cartesian components with respect to ref_triad )

Definition at line 847 of file etoile.h.


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