LORENE
|
Base class for stars *** DEPRECATED : use class Star
instead ***.
More...
#include <etoile.h>
Public Member Functions | |
Etoile (Map &mp_i, int nzet_i, bool relat, const Eos &eos_i) | |
Standard constructor. | |
Etoile (const Etoile &) | |
Copy constructor. | |
Etoile (Map &mp_i, const Eos &eos_i, FILE *fich) | |
Constructor from a file (see sauve(FILE*) ). | |
virtual | ~Etoile () |
Destructor. | |
void | operator= (const Etoile &) |
Assignment to another Etoile . | |
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 | hydro_euler () |
Computes the hydrodynamical quantities relative to the Eulerian observer from those in the fluid frame (nbar , ener and press ). | |
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 ![]() | |
virtual void | sauve (FILE *) const |
Save in a file. | |
double | ray_eq () 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 ![]() | |
double | ray_eq (int kk) 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 ![]() ![]() | |
virtual double | mass_b () const |
Baryon mass. | |
virtual double | mass_g () const |
Gravitational mass. | |
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 | |
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 | |
ostream & | operator<< (ostream &, const Etoile &) |
Display. | |
Base class for stars *** DEPRECATED : use class Star
instead ***.
()
An Etoile
is constructed upon (i) a mapping (derived class of Map
), the center of which defines the center of the star, and (ii) an equation of state (derived class of Eos
).
It contains tensor fields (class Tenseur
) which describle the hydrodynamical quantities as well as the gravitational field (spacetime metric).
According to the 3+1 formalism, the spacetime metric is written
where Etoile
. The base class Etoile
by itself provides only storage for the lapse function N (member nnn
), the shift vector shift
) and the conformal factor a_car
).
The 3+1 formalism introduces two kinds of priviledged observers: the fluid comoving observer and the Eulerian observer, whose 4-velocity is the unit future directed normal to the t = const hypersurfaces. The hydrodynamical quantities measured by the fluid observer correspond to the members ent
, nbar
, ener
, and press
. The hydrodynamical quantities measured by the Eulerian observer correspond to the members ener_euler
, s_euler
, gam_euler
, and u_euler
.
A star of class Etoile
can be either relativistic or Newtonian, depending on the boolean indicator relativistic
. For a Newtonian star, the metric coefficients N and A are set to 1, and logn_auto
which represents the (regular part of) the Newtonian gravitational potential generated by the star.
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 |
Definition at line 143 of file etoile.C.
References a_car, beta_auto, d_logn_auto_div, ener, ener_euler, ent, eos, gam_euler, logn_auto, logn_auto_div, logn_auto_regu, nbar, nnn, press, relativistic, s_euler, set_der_0x0(), Lorene::Tenseur::set_std_base(), shift, u_euler, and unsurc2.
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 |
fich | input file (must have been created by the function sauve ) |
Definition at line 275 of file etoile.C.
References beta_auto, d_logn_auto_div, ent, eos, Lorene::Eos::eos_from_file(), Lorene::fread_be(), Lorene::Map::get_bvect_spher(), k_div, logn_auto, logn_auto_div, logn_auto_regu, mp, nzet, relativistic, set_der_0x0(), shift, and unsurc2.
|
virtual |
|
protectedvirtual |
Deletes all the derived quantities.
Reimplemented in Lorene::Et_rot_bifluid, Lorene::Et_rot_mag, Lorene::Etoile_bin, and Lorene::Etoile_rot.
Definition at line 378 of file etoile.C.
References p_l_surf, p_mass_b, p_mass_g, p_ray_eq, p_ray_eq_3pis2, p_ray_eq_pi, p_ray_eq_pis2, p_ray_pole, p_xi_surf, and set_der_0x0().
|
protectedvirtual |
Sets to ETATNONDEF
(undefined state) the hydrodynamical quantities relative to the Eulerian observer.
Reimplemented in Lorene::Et_rot_bifluid, Lorene::Et_rot_mag, Lorene::Etoile_bin, and Lorene::Etoile_rot.
Definition at line 410 of file etoile.C.
References del_deriv(), ener_euler, gam_euler, s_euler, Lorene::Tenseur::set_etat_nondef(), and u_euler.
|
virtual |
Computes the proper baryon and energy density, as well as pressure from the enthalpy.
Reimplemented in Lorene::Et_rot_bifluid, and Lorene::Et_magnetisation.
Definition at line 566 of file etoile.C.
References Lorene::Param::add_int(), Lorene::Cmp::allocate_all(), del_deriv(), ener, Lorene::Eos::ener_ent(), ent, eos, Lorene::Mg3d::get_grille3d(), Lorene::Map::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), mp, nbar, Lorene::Eos::nbar_ent(), nzet, press, Lorene::Eos::press_ent(), Lorene::Tenseur::set(), Lorene::Cmp::set(), Lorene::Mtbl::set(), Lorene::Mtbl::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Tenseur::set_etat_qcq(), Lorene::Tenseur::set_std_base(), Lorene::Cmp::std_base_scal(), Lorene::Mtbl::t, and Lorene::Grille3d::x.
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 57 of file etoile_eqsph_falloff.C.
References a_car, Lorene::Tenseur::annule(), beta_auto, Lorene::diffrel(), Lorene::Cmp::dsdr(), Lorene::Map_af::dsdr(), ener, ener_euler, ent, equation_of_state(), Lorene::exp(), gam_euler, Lorene::Map::get_mg(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Map_af::homothetie(), logn_auto, mass_b(), mass_g(), mp, nbar, nnn, Lorene::norme(), nzet, press, relativistic, s_euler, Lorene::Tenseur::set(), Lorene::Tenseur::set_etat_qcq(), Lorene::Tenseur::set_std_base(), shift, Lorene::sqrt(), u_euler, unsurc2, and Lorene::Map::val_r().
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 115 of file et_equil_spher_regu.C.
References a_car, Lorene::Tenseur::annule(), beta_auto, d_logn_auto_div, Lorene::Eos::der_ener_ent_p(), Lorene::Eos::der_nbar_ent_p(), Lorene::diffrel(), Lorene::Map_af::dsdr(), ener, ener_euler, ent, eos, equation_of_state(), Lorene::exp(), 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(), k_div, logn_auto, logn_auto_div, logn_auto_regu, mass_b(), mass_g(), mp, nbar, nnn, Lorene::norme(), nzet, Lorene::Map_af::poisson(), Lorene::Map_af::poisson_regular(), press, relativistic, s_euler, Lorene::Tenseur::set(), Lorene::Tenseur::set_etat_qcq(), Lorene::Tenseur::set_std_base(), Lorene::Tenseur::set_triad(), shift, Lorene::sqrt(), Lorene::Cmp::std_base_scal(), u_euler, unsurc2, and Lorene::Map::val_r().
|
virtual |
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 87 of file etoile_equil_spher.C.
References 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(), beta_auto, Lorene::diffrel(), Lorene::Cmp::dsdr(), Lorene::Map_af::dsdr(), ener, ener_euler, ent, equation_of_state(), Lorene::exp(), gam_euler, Lorene::Map_af::get_alpha(), Lorene::Map_et::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Map_et::get_beta(), get_ent(), Lorene::Map::get_mg(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), get_press(), Lorene::Map_af::homothetie(), logn_auto, mass_b(), mass_g(), mp, nbar, nnn, Lorene::norme(), nzet, Lorene::Map_af::poisson(), press, relativistic, 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(), shift, Lorene::sqrt(), u_euler, unsurc2, and Lorene::Map::val_r().
Returns the gradient of logn_auto_div
.
Definition at line 719 of file etoile.h.
References d_logn_auto_div.
Returns the total energy density with respect to the Eulerian observer.
Definition at line 685 of file etoile.h.
References ener_euler.
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 715 of file etoile.h.
References logn_auto_div.
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 708 of file etoile.h.
References logn_auto_regu.
|
inline |
|
virtual |
Computes the hydrodynamical quantities relative to the Eulerian observer from those in the fluid frame (nbar
, ener
and press
).
Reimplemented in Lorene::Et_rot_bifluid, Lorene::Et_rot_diff, Lorene::Etoile_bin, and Lorene::Etoile_rot.
|
inline |
Returns true
for a relativistic star, false
for a Newtonian one.
Definition at line 667 of file etoile.h.
References relativistic.
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 Lorene::Et_rot_bifluid, and Lorene::Etoile_rot.
Definition at line 75 of file etoile_global.C.
References ent, Lorene::Map::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nt(), mp, nzet, p_l_surf, and p_xi_surf.
|
virtual |
Baryon mass.
Reimplemented in Lorene::Et_rot_bifluid, Lorene::Etoile_bin, and Lorene::Etoile_rot.
Definition at line 525 of file etoile_global.C.
References Lorene::Tenseur::get_etat(), nbar, p_mass_b, and relativistic.
|
virtual |
Gravitational mass.
Reimplemented in Lorene::Et_rot_bifluid, Lorene::Et_rot_mag, Lorene::Et_magnetisation, Lorene::Etoile_bin, and Lorene::Etoile_rot.
Definition at line 551 of file etoile_global.C.
References mass_b(), p_mass_g, and relativistic.
Assignment to another Etoile
.
Definition at line 430 of file etoile.C.
References a_car, beta_auto, d_logn_auto_div, del_deriv(), ener, ener_euler, ent, eos, gam_euler, k_div, logn_auto, logn_auto_div, logn_auto_regu, mp, nbar, nnn, nzet, press, relativistic, s_euler, shift, u_euler, and unsurc2.
Operator >> (virtual function called by the operator <<).
Reimplemented in Lorene::Et_bin_nsbh, Lorene::Et_rot_bifluid, Lorene::Et_rot_diff, Lorene::Et_rot_mag, Lorene::Et_magnetisation, Lorene::Etoile_bin, and Lorene::Etoile_rot.
Definition at line 511 of file etoile.C.
References a_car, ener, ent, eos, k_div, mass_b(), mass_g(), nbar, nnn, nzet, press, ray_eq(), ray_eq_pi(), ray_eq_pis2(), ray_pole(), and relativistic.
double Lorene::Etoile::ray_eq | ( | ) | const |
Coordinate radius at
Definition at line 120 of file etoile_global.C.
References Lorene::Map::get_mg(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_type_p(), Lorene::Mg3d::get_type_t(), l_surf(), mp, p_ray_eq, Lorene::Map::val_r(), and xi_surf().
Coordinate radius at
Definition at line 440 of file etoile_global.C.
References Lorene::Map::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_type_p(), Lorene::Mg3d::get_type_t(), l_surf(), mp, Lorene::Map::val_r(), and xi_surf().
double Lorene::Etoile::ray_eq_3pis2 | ( | ) | const |
Coordinate radius at
Definition at line 335 of file etoile_global.C.
References Lorene::Map::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_type_p(), Lorene::Mg3d::get_type_t(), l_surf(), mp, p_ray_eq_3pis2, ray_eq_pis2(), Lorene::Map::val_r(), and xi_surf().
double Lorene::Etoile::ray_eq_pi | ( | ) | const |
Coordinate radius at
Definition at line 256 of file etoile_global.C.
References Lorene::Map::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_type_p(), Lorene::Mg3d::get_type_t(), l_surf(), mp, p_ray_eq_pi, ray_eq(), Lorene::Map::val_r(), and xi_surf().
double Lorene::Etoile::ray_eq_pis2 | ( | ) | const |
Coordinate radius at
Definition at line 169 of file etoile_global.C.
References Lorene::Map::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_type_p(), Lorene::Mg3d::get_type_t(), l_surf(), mp, p_ray_eq_pis2, Lorene::Map::val_r(), and xi_surf().
double Lorene::Etoile::ray_pole | ( | ) | const |
Coordinate radius at
Definition at line 415 of file etoile_global.C.
References Lorene::Map::get_mg(), Lorene::Mg3d::get_type_t(), l_surf(), mp, p_ray_pole, Lorene::Map::val_r(), and xi_surf().
Save in a file.
Reimplemented in Lorene::Et_bin_bhns_extr, Lorene::Et_bin_nsbh, Lorene::Et_rot_bifluid, Lorene::Et_rot_diff, Lorene::Et_rot_mag, Lorene::Et_magnetisation, Lorene::Etoile_bin, and Lorene::Etoile_rot.
Definition at line 483 of file etoile.C.
References beta_auto, d_logn_auto_div, ent, eos, Lorene::fwrite_be(), k_div, logn_auto, logn_auto_div, nzet, relativistic, Lorene::Eos::sauve(), and Lorene::Tenseur::sauve().
|
protectedvirtual |
Sets to 0x0
all the pointers on derived quantities.
Reimplemented in Lorene::Et_rot_bifluid, Lorene::Et_rot_mag, Lorene::Etoile_bin, and Lorene::Etoile_rot.
Definition at line 396 of file etoile.C.
References p_l_surf, p_mass_b, p_mass_g, p_ray_eq, p_ray_eq_3pis2, p_ray_eq_pi, p_ray_eq_pis2, p_ray_pole, and p_xi_surf.
Assignment of the enthalpy field.
Definition at line 465 of file etoile.C.
References del_deriv(), ent, and equation_of_state().
|
inline |
Description of the stellar surface: returns a 2-D Tbl
containing the values of the radial coordinate
The stellar surface is defined as the location where the enthalpy (member ent
) vanishes.
Definition at line 101 of file etoile_global.C.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |