Class for differentially rotating stars. More...
#include <et_rot_diff.h>
Public Member Functions | |
Et_rot_diff (Map &mp_i, int nzet_i, bool relat, const Eos &eos_i, double(*frot_i)(double, const Tbl &), double(*primfrot_i)(double, const Tbl &), const Tbl &par_frot_i) | |
Standard constructor. | |
Et_rot_diff (const Et_rot_diff &) | |
Copy constructor. | |
Et_rot_diff (Map &mp_i, const Eos &eos_i, FILE *fich, double(*frot_i)(double, const Tbl &), double(*primfrot_i)(double, const Tbl &)) | |
Constructor from a file (see sauve(FILE*) ). | |
virtual | ~Et_rot_diff () |
Destructor. | |
void | operator= (const Et_rot_diff &) |
Assignment to another Et_rot_diff . | |
const Tenseur & | get_omega_field () const |
Returns the angular velocity field . | |
virtual double | get_omega_c () const |
Returns the central value of the rotation angular velocity ( [f_unit] ). | |
virtual void | sauve (FILE *) const |
Save in a file. | |
virtual void | display_poly (ostream &) const |
Display in polytropic units. | |
virtual double | tsw () const |
Ratio T/W. | |
virtual void | hydro_euler () |
Computes the hydrodynamical quantities relative to the Eulerian observer from those in the fluid frame. | |
void | fait_omega_field (double omeg_min, double omeg_max, double precis, int nitermax) |
Computes (member omega_field ). | |
void | fait_prim_field () |
Computes the member prim_field from omga_field . | |
double | funct_omega (double omeg) const |
Evaluates , where F is the function defining the rotation profile. | |
double | prim_funct_omega (double omeg) const |
Evaluates the primitive of , where F is the function defining the rotation profile. | |
virtual void | equilibrium (double ent_c, double omega0, double fact_omega, int nzadapt, const Tbl &ent_limit, const Itbl &icontrol, const Tbl &control, double mbar_wanted, double aexp_mass, Tbl &diff, Param *=0x0) |
Computes an equilibrium configuration. | |
const Tenseur & | get_bbb () const |
Returns the metric factor B. | |
const Tenseur & | get_b_car () const |
Returns the square of the metric factor B. | |
const Tenseur & | get_nphi () const |
Returns the metric coefficient . | |
const Tenseur & | get_tnphi () const |
Returns the component of the shift vector. | |
const Tenseur & | get_uuu () const |
Returns the norm of u_euler . | |
const Tenseur & | get_logn () const |
Returns the metric potential = logn_auto . | |
const Tenseur & | get_nuf () const |
Returns the part of the Metric potential = logn generated by the matter terms. | |
const Tenseur & | get_nuq () const |
Returns the Part of the Metric potential = logn generated by the quadratic terms. | |
const Tenseur & | get_dzeta () const |
Returns the Metric potential = beta_auto . | |
const Tenseur & | get_tggg () const |
Returns the Metric potential . | |
const Tenseur & | get_w_shift () const |
Returns the vector used in the decomposition of shift , following Shibata's prescription [Prog. | |
const Tenseur & | get_khi_shift () const |
Returns the scalar used in the decomposition of shift following Shibata's prescription [Prog. | |
const Tenseur_sym & | get_tkij () const |
Returns the tensor related to the extrinsic curvature tensor by . | |
const Tenseur & | get_ak_car () const |
Returns the scalar . | |
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 . | |
virtual double | mass_b () const |
Baryon mass. | |
virtual double | mass_g () const |
Gravitational mass. | |
virtual double | angu_mom () const |
Angular momentum. | |
virtual double | grv2 () const |
Error on the virial identity GRV2. | |
virtual double | grv3 (ostream *ost=0x0) const |
Error on the virial identity GRV3. | |
virtual double | r_circ () const |
Circumferential radius. | |
virtual double | aplat () const |
Flatening r_pole/r_eq. | |
virtual double | z_eqf () const |
Forward redshift factor at equator. | |
virtual double | z_eqb () const |
Backward redshift factor at equator. | |
virtual double | z_pole () const |
Redshift factor at North pole. | |
virtual double | mom_quad () const |
Quadrupole moment. | |
virtual double | r_isco (ostream *ost=0x0) const |
Circumferential radius of the innermost stable circular orbit (ISCO). | |
virtual double | f_isco () const |
Orbital frequency at the innermost stable circular orbit (ISCO). | |
virtual double | espec_isco () const |
Energy of a particle on the ISCO. | |
virtual double | lspec_isco () const |
Angular momentum of a particle on the ISCO. | |
virtual double | f_eccentric (double ecc, double periast, ostream *ost=0x0) const |
Computation of frequency of eccentric orbits. | |
virtual double | f_eq () const |
Orbital frequency at the equator. | |
void | update_metric () |
Computes metric coefficients from known potentials. | |
void | fait_shift () |
Computes shift from w_shift and khi_shift according to Shibata's prescription [Prog. | |
void | fait_nphi () |
Computes tnphi and nphi from the Cartesian components of the shift, stored in shift . | |
void | extrinsic_curvature () |
Computes tkij and ak_car from shift , nnn and b_car . | |
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 , [r_unit]. | |
double | ray_eq (int kk) const |
Coordinate radius at , [r_unit]. | |
double | ray_eq_pis2 () const |
Coordinate radius at , [r_unit]. | |
double | ray_eq_pi () const |
Coordinate radius at , [r_unit]. | |
double | ray_eq_3pis2 () const |
Coordinate radius at , [r_unit]. | |
double | ray_pole () const |
Coordinate radius at [r_unit]. | |
const Tbl & | xi_surf () const |
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 . | |
Static Public Member Functions | |
static double | lambda_grv2 (const Cmp &sou_m, const Cmp &sou_q) |
Computes the coefficient which ensures that the GRV2 virial identity is satisfied. | |
Protected Member Functions | |
virtual ostream & | operator>> (ostream &) const |
Operator >> (virtual function called by the operator <<). | |
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 void | partial_display (ostream &) const |
Printing of some informations, excluding all global quantities. | |
Protected Attributes | |
double(* | frot )(double, const Tbl &) |
Function defining the rotation profile. | |
double(* | primfrot )(double, const Tbl &) |
Primitive of the function , which vanishes at the stellar center. | |
Tbl | par_frot |
Parameters of the function . | |
Tenseur | omega_field |
Field . | |
double | omega_min |
Minimum value of . | |
double | omega_max |
Maximum value of . | |
Tenseur | prim_field |
Field . | |
double | omega |
Rotation angular velocity ( [f_unit] ). | |
Tenseur | bbb |
Metric factor B. | |
Tenseur | b_car |
Square of the metric factor B. | |
Tenseur | nphi |
Metric coefficient . | |
Tenseur | tnphi |
Component of the shift vector. | |
Tenseur | uuu |
Norm of u_euler . | |
Tenseur & | logn |
Metric potential = logn_auto . | |
Tenseur | nuf |
Part of the Metric potential = logn generated by the matter terms. | |
Tenseur | nuq |
Part of the Metric potential = logn generated by the quadratic terms. | |
Tenseur & | dzeta |
Metric potential = beta_auto . | |
Tenseur | tggg |
Metric potential . | |
Tenseur | w_shift |
Vector used in the decomposition of shift , following Shibata's prescription [Prog. | |
Tenseur | khi_shift |
Scalar used in the decomposition of shift , following Shibata's prescription [Prog. | |
Tenseur_sym | tkij |
Tensor related to the extrinsic curvature tensor by . | |
Tenseur | ak_car |
Scalar . | |
Cmp | ssjm1_nuf |
Effective source at the previous step for the resolution of the Poisson equation for nuf by means of Map_et::poisson . | |
Cmp | ssjm1_nuq |
Effective source at the previous step for the resolution of the Poisson equation for nuq by means of Map_et::poisson . | |
Cmp | ssjm1_dzeta |
Effective source at the previous step for the resolution of the Poisson equation for dzeta . | |
Cmp | ssjm1_tggg |
Effective source at the previous step for the resolution of the Poisson equation for tggg . | |
Cmp | ssjm1_khi |
Effective source at the previous step for the resolution of the Poisson equation for the scalar by means of Map_et::poisson . | |
Tenseur | ssjm1_wshift |
Effective source at the previous step for the resolution of the vector Poisson equation for . | |
double * | p_angu_mom |
Angular momentum. | |
double * | p_tsw |
Ratio T/W. | |
double * | p_grv2 |
Error on the virial identity GRV2. | |
double * | p_grv3 |
Error on the virial identity GRV3. | |
double * | p_r_circ |
Circumferential radius. | |
double * | p_aplat |
Flatening r_pole/r_eq. | |
double * | p_z_eqf |
Forward redshift factor at equator. | |
double * | p_z_eqb |
Backward redshift factor at equator. | |
double * | p_z_pole |
Redshift factor at North pole. | |
double * | p_mom_quad |
Quadrupole moment. | |
double * | p_r_isco |
Circumferential radius of the ISCO. | |
double * | p_f_isco |
Orbital frequency of the ISCO. | |
double * | p_espec_isco |
Specific energy of a particle on the ISCO. | |
double * | p_lspec_isco |
Specific angular momentum of a particle on the ISCO. | |
double * | p_f_eq |
Orbital frequency at the equator. | |
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 on the surface at the collocation points in . | |
double * | p_mass_b |
Baryon mass. | |
double * | p_mass_g |
Gravitational mass. | |
Friends | |
ostream & | operator<< (ostream &, const Etoile &) |
Display. |
Class for differentially rotating stars.
()
Definition at line 66 of file et_rot_diff.h.
Et_rot_diff::Et_rot_diff | ( | Map & | mp_i, | |
int | nzet_i, | |||
bool | relat, | |||
const Eos & | eos_i, | |||
double(*)(double, const Tbl &) | frot_i, | |||
double(*)(double, const Tbl &) | primfrot_i, | |||
const Tbl & | par_frot_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 | |
frot_i | Function defining the rotation profile. | |
primfrot_i | Primitive of which vanishes at the stellar center | |
par_frot_i | Parameters of functions frot_i and primfrot_i , par_frot_i(0) being the central value of . |
Definition at line 78 of file et_rot_diff.C.
References Etoile_rot::omega, omega_field, omega_max, omega_min, and prim_field.
Et_rot_diff::Et_rot_diff | ( | const Et_rot_diff & | et | ) |
Copy constructor.
Definition at line 103 of file et_rot_diff.C.
Et_rot_diff::Et_rot_diff | ( | Map & | mp_i, | |
const Eos & | eos_i, | |||
FILE * | fich, | |||
double(*)(double, const Tbl &) | frot_i, | |||
double(*)(double, const Tbl &) | primfrot_i | |||
) |
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 ) | |
frot_i | Function defining the rotation profile. | |
primfrot_i | Primitive of which vanishes at the stellar center |
Definition at line 117 of file et_rot_diff.C.
References fait_prim_field(), fread_be(), Etoile::mp, omega_field, omega_max, and omega_min.
Et_rot_diff::~Et_rot_diff | ( | ) | [virtual] |
Destructor.
Definition at line 143 of file et_rot_diff.C.
double Etoile_rot::angu_mom | ( | ) | const [virtual, inherited] |
Angular momentum.
Reimplemented in Et_rot_bifluid, and Et_rot_mag.
Definition at line 178 of file et_rot_global.C.
References Etoile::a_car, Etoile_rot::b_car, Etoile::ener_euler, Cmp::integrale(), Cmp::mult_r(), Etoile::nbar, Etoile_rot::p_angu_mom, Etoile::press, Etoile::relativistic, Cmp::std_base_scal(), Etoile_rot::uuu, and Cmp::va.
double Etoile_rot::aplat | ( | ) | const [virtual, inherited] |
Flatening r_pole/r_eq.
Definition at line 411 of file et_rot_global.C.
References Etoile_rot::p_aplat, Etoile::ray_eq(), and Etoile::ray_pole().
void Etoile_rot::del_deriv | ( | ) | const [protected, virtual, inherited] |
Deletes all the derived quantities.
Reimplemented from Etoile.
Reimplemented in Et_rot_bifluid, and Et_rot_mag.
Definition at line 325 of file etoile_rot.C.
References Etoile_rot::p_angu_mom, Etoile_rot::p_aplat, Etoile_rot::p_espec_isco, Etoile_rot::p_f_eq, Etoile_rot::p_f_isco, Etoile_rot::p_grv2, Etoile_rot::p_grv3, Etoile_rot::p_lspec_isco, Etoile_rot::p_mom_quad, Etoile_rot::p_r_circ, Etoile_rot::p_r_isco, Etoile_rot::p_tsw, Etoile_rot::p_z_eqb, Etoile_rot::p_z_eqf, Etoile_rot::p_z_pole, and Etoile_rot::set_der_0x0().
void Etoile_rot::del_hydro_euler | ( | ) | [protected, virtual, inherited] |
Sets to ETATNONDEF
(undefined state) the hydrodynamical quantities relative to the Eulerian observer.
Reimplemented from Etoile.
Reimplemented in Et_rot_bifluid, and Et_rot_mag.
Definition at line 373 of file etoile_rot.C.
References Etoile_rot::del_deriv().
void Et_rot_diff::display_poly | ( | ostream & | ost | ) | const [virtual] |
Display in polytropic units.
Reimplemented from Etoile_rot.
Definition at line 264 of file et_rot_diff.C.
References Etoile::ener, Etoile::eos, Eos_poly::get_gam(), Eos_poly::get_kap(), Map::get_mg(), Mg3d::get_nr(), Mg3d::get_nt(), max(), Etoile::mp, Etoile::nbar, Etoile::nzet, omega_field, omega_max, omega_min, pow(), and sqrt().
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::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 Et_rot_diff::equilibrium | ( | double | ent_c, | |
double | omega0, | |||
double | fact_omega, | |||
int | nzadapt, | |||
const Tbl & | ent_limit, | |||
const Itbl & | icontrol, | |||
const Tbl & | control, | |||
double | mbar_wanted, | |||
double | aexp_mass, | |||
Tbl & | diff, | |||
Param * | = 0x0 | |||
) | [virtual] |
Computes an equilibrium configuration.
ent_c | [input] Central enthalpy | |
omega0 | [input] Requested central angular velocity (if fact_omega=1 . ) | |
fact_omega | [input] 1.01 = search for the Keplerian frequency, 1. = otherwise. | |
nzadapt | [input] Number of (inner) domains where the mapping adaptation to an iso-enthalpy surface should be performed | |
ent_limit | [input] 1-D Tbl of dimension nzet which defines the enthalpy at the outer boundary of each domain | |
icontrol | [input] Set of integer parameters (stored as a 1-D Itbl of size 8) to control the iteration:
| |
control | [input] Set of parameters (stored as a 1-D Tbl of size 7) to control the iteration:
| |
mbar_wanted | [input] Requested baryon mass (effective only if mer_mass > mer_max ) | |
aexp_mass | [input] Exponent for the increase factor of the central enthalpy to converge to the requested baryon mass | |
diff | [output] 1-D Tbl of size 7 for the storage of some error indicators :
|
Reimplemented from Etoile_rot.
Definition at line 84 of file et_rot_diff_equil.C.
References Etoile::a_car, abs(), Map::adapt(), Param::add_cmp_mod(), Param::add_double(), Param::add_double_mod(), Param::add_int(), Param::add_int_mod(), Param::add_tbl(), Param::add_tenseur_mod(), Etoile_rot::ak_car, Cmp::annule(), Etoile_rot::bbb, Valeur::c_cf, Tenseur::change_triad(), Map::cmp_zero(), Valeur::coef(), cos(), diffrel(), Etoile_rot::dzeta, Etoile::ener_euler, Etoile::ent, Etoile::equation_of_state(), Etoile_rot::fait_nphi(), fait_omega_field(), flat_scalar_prod(), Etoile::gam_euler, Map::get_bvect_cart(), Tenseur::get_etat(), Map::get_mg(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Mg3d::get_type_t(), Tenseur::gradient_spher(), Etoile_rot::grv2(), Map_et::homothetie(), hydro_euler(), Etoile_rot::khi_shift, log(), log10(), Etoile_rot::logn, Etoile_rot::mass_b(), Etoile_rot::mass_g(), Etoile::mp, Cmp::mult_rsint(), Etoile::nbar, Etoile::nnn, Etoile_rot::nphi, Etoile_rot::nuf, Etoile_rot::nuq, Etoile::nzet, Etoile_rot::omega, omega_field, par_frot, Etoile_rot::partial_display(), Map::phi, Map::poisson2d(), pow(), Etoile::press, prim_field, Etoile::ray_eq(), Etoile::ray_pole(), Map::reevaluate(), Etoile::relativistic, Etoile::s_euler, Tenseur::set(), Tbl::set(), Tenseur::set_etat_qcq(), Tbl::set_etat_qcq(), Tenseur::set_std_base(), Etoile::shift, Map::sint, sqrt(), Etoile_rot::ssjm1_khi, Etoile_rot::ssjm1_nuf, Etoile_rot::ssjm1_nuq, Etoile_rot::ssjm1_tggg, Etoile_rot::ssjm1_wshift, Cmp::std_base_scal(), Etoile_rot::tggg, Etoile_rot::tkij, Etoile::u_euler, Etoile_rot::update_metric(), Etoile_rot::uuu, Cmp::va, and Etoile_rot::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().
double Etoile_rot::espec_isco | ( | ) | const [virtual, inherited] |
Energy of a particle on the ISCO.
Definition at line 297 of file et_rot_isco.C.
References Etoile_rot::p_espec_isco, and Etoile_rot::r_isco().
void Etoile_rot::extrinsic_curvature | ( | ) | [inherited] |
Computes tkij
and ak_car
from shift
, nnn
and b_car
.
Definition at line 53 of file et_rot_extr_curv.C.
References Etoile_rot::ak_car, Etoile_rot::b_car, contract(), Tenseur::get_etat(), Cmp::get_etat(), Map::get_mg(), Tenseur::gradient(), Etoile::mp, Cmp::mult_rsint(), Etoile::nnn, Etoile_rot::nphi, Tenseur::set(), Tenseur::set_etat_qcq(), Tenseur::set_etat_zero(), Etoile::shift, Etoile_rot::tkij, and Cmp::va.
double Etoile_rot::f_eccentric | ( | double | ecc, | |
double | periast, | |||
ostream * | ost = 0x0 | |||
) | const [virtual, inherited] |
Computation of frequency of eccentric orbits.
ecc | eccentricity of the orbit | |
periasrt | periastron of the orbit | |
ost | output stream to give details of the computation; if set to 0x0 [default value], no details will be given. |
Definition at line 74 of file et_rot_f_eccentric.C.
References Param::add_cmp(), Param::add_int(), Cmp::annule(), Etoile_rot::bbb, Cmp::dsdr(), Map::get_mg(), Mg3d::get_nzone(), Etoile::mp, Etoile::nnn, Etoile_rot::nphi, Etoile::nzet, Etoile_rot::p_f_isco, Etoile_rot::p_r_isco, Map::r, Etoile::ray_eq(), sqrt(), Cmp::std_base_scal(), Cmp::va, Valeur::val_point(), and Map::val_r().
double Etoile_rot::f_eq | ( | ) | const [virtual, inherited] |
Orbital frequency at the equator.
Definition at line 315 of file et_rot_isco.C.
References Etoile_rot::p_f_eq, and Etoile_rot::r_isco().
double Etoile_rot::f_isco | ( | ) | const [virtual, inherited] |
Orbital frequency at the innermost stable circular orbit (ISCO).
Definition at line 263 of file et_rot_isco.C.
References Etoile_rot::p_f_isco, and Etoile_rot::r_isco().
void Etoile_rot::fait_nphi | ( | ) | [inherited] |
Computes tnphi
and nphi
from the Cartesian components of the shift, stored in shift
.
Definition at line 756 of file etoile_rot.C.
References Map::comp_p_from_cartesian(), Tenseur::get_etat(), Etoile::mp, Etoile_rot::nphi, Tenseur::set(), Tenseur::set_etat_qcq(), Etoile::shift, and Etoile_rot::tnphi.
void Et_rot_diff::fait_omega_field | ( | double | omeg_min, | |
double | omeg_max, | |||
double | precis, | |||
int | nitermax | |||
) |
Computes (member omega_field
).
The computation amounts to solving the equation
for .
omeg_min | [input] Lower bound of the interval for searching omega | |
omeg_max | [input] Higher bound of the interval for searching omega | |
precis | [input] Required precision in the determination of the zero by the secant method | |
nitermax | [input] Maximum number of iterations in the secant method to compute the zero. |
Definition at line 69 of file et_rot_diff_faitomeg.C.
References Param::add_cmp(), Param::add_etoile(), Param::add_int(), Tenseur::allocate_all(), Cmp::annule(), Etoile_rot::bbb, fait_prim_field(), Tenseur::get_etat(), Map::get_mg(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), max(), min(), Etoile::mp, Cmp::mult_rsint(), Etoile::nnn, Etoile_rot::nphi, Etoile::nzet, omega_field, omega_max, omega_min, Tbl::set(), Cmp::set(), Tenseur::set(), Tenseur::set_std_base(), Cmp::std_base_scal(), and zerosec().
void Et_rot_diff::fait_prim_field | ( | ) |
Computes the member prim_field
from omga_field
.
Definition at line 195 of file et_rot_diff_faitomeg.C.
References Tenseur::allocate_all(), Map::get_mg(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Etoile::mp, Etoile::nzet, omega_field, par_frot, prim_field, primfrot, Tbl::set(), Cmp::set(), Tenseur::set(), and Tenseur::set_std_base().
void Etoile_rot::fait_shift | ( | ) | [inherited] |
Computes shift
from w_shift
and khi_shift
according to Shibata's prescription [Prog.
Theor. Phys. 101 , 1199 (1999)] :
Definition at line 723 of file etoile_rot.C.
References Tenseur::dec2_dzpuis(), Tenseur::dec_dzpuis(), Tenseur::get_etat(), Tenseur::get_triad(), Tenseur::gradient(), Etoile_rot::khi_shift, Tenseur::set(), Tenseur::set_etat_qcq(), Tenseur::set_triad(), Etoile::shift, skxk(), and Etoile_rot::w_shift.
double Et_rot_diff::funct_omega | ( | double | omeg | ) | const |
Evaluates , where F is the function defining the rotation profile.
This function is linked to the components of the fluid 4-velocity by
funct_omega
calls frot
with the parameters par_frot
.
omeg | [input] value of |
Definition at line 311 of file et_rot_diff.C.
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_rot::get_ak_car | ( | ) | const [inline, inherited] |
Returns the scalar .
For axisymmetric stars, this quantity is related to the derivatives of by
In particular it is related to the quantities and introduced by Eqs.~(3.7) and (3.8) of Bonazzola et al. Astron. Astrophys. 278 , 421 (1993) by
Definition at line 1782 of file etoile.h.
References Etoile_rot::ak_car.
const Tenseur& Etoile_rot::get_b_car | ( | ) | const [inline, inherited] |
Returns the square of the metric factor B.
Definition at line 1698 of file etoile.h.
References Etoile_rot::b_car.
const Tenseur& Etoile_rot::get_bbb | ( | ) | const [inline, inherited] |
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::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_rot::get_dzeta | ( | ) | const [inline, inherited] |
Returns the Metric potential = beta_auto
.
Definition at line 1725 of file etoile.h.
References Etoile_rot::dzeta.
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_rot::get_khi_shift | ( | ) | const [inline, inherited] |
Returns the scalar used in the decomposition of shift
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 1756 of file etoile.h.
References Etoile_rot::khi_shift.
const Tenseur& Etoile_rot::get_logn | ( | ) | const [inline, inherited] |
Returns the metric potential = logn_auto
.
Definition at line 1712 of file etoile.h.
References Etoile_rot::logn.
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 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.
const Tenseur& Etoile_rot::get_nphi | ( | ) | const [inline, inherited] |
Returns the metric coefficient .
Definition at line 1701 of file etoile.h.
References Etoile_rot::nphi.
const Tenseur& Etoile_rot::get_nuf | ( | ) | const [inline, inherited] |
Returns the part of the Metric potential = logn
generated by the matter terms.
Definition at line 1717 of file etoile.h.
References Etoile_rot::nuf.
const Tenseur& Etoile_rot::get_nuq | ( | ) | const [inline, inherited] |
Returns the Part of the Metric potential = logn
generated by the quadratic terms.
Definition at line 1722 of file etoile.h.
References Etoile_rot::nuq.
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.
double Et_rot_diff::get_omega_c | ( | ) | const [virtual] |
Returns the central value of the rotation angular velocity ([f_unit] ).
Reimplemented from Etoile_rot.
Definition at line 323 of file et_rot_diff.C.
References omega_field.
const Tenseur& Et_rot_diff::get_omega_field | ( | ) | const [inline] |
Returns the angular velocity field .
Definition at line 166 of file et_rot_diff.h.
References omega_field.
const Tenseur& Etoile::get_press | ( | ) | const [inline, inherited] |
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_rot::get_tggg | ( | ) | const [inline, inherited] |
Returns the Metric potential .
Definition at line 1728 of file etoile.h.
References Etoile_rot::tggg.
const Tenseur_sym& Etoile_rot::get_tkij | ( | ) | const [inline, inherited] |
Returns the tensor related to the extrinsic curvature tensor by .
tkij
contains the Cartesian components of .
Definition at line 1763 of file etoile.h.
References Etoile_rot::tkij.
const Tenseur& Etoile_rot::get_tnphi | ( | ) | const [inline, inherited] |
Returns the component of the shift vector.
Definition at line 1706 of file etoile.h.
References Etoile_rot::tnphi.
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_rot::get_uuu | ( | ) | const [inline, inherited] |
const Tenseur& Etoile_rot::get_w_shift | ( | ) | const [inline, inherited] |
Returns the vector used in the decomposition of shift
, 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 1742 of file etoile.h.
References Etoile_rot::w_shift.
double Etoile_rot::grv2 | ( | ) | const [virtual, inherited] |
Error on the virial identity GRV2.
This indicator is only valid for relativistic computations.
Reimplemented in Et_rot_bifluid, and Et_rot_mag.
Definition at line 244 of file et_rot_global.C.
References Etoile::a_car, Etoile_rot::ak_car, Etoile::ener_euler, flat_scalar_prod(), Tenseur::gradient_spher(), Etoile_rot::lambda_grv2(), Etoile_rot::logn, Etoile::mp, Etoile::nbar, Etoile_rot::p_grv2, Etoile::press, Etoile::relativistic, and Etoile_rot::uuu.
double Etoile_rot::grv3 | ( | ostream * | ost = 0x0 |
) | const [virtual, inherited] |
Error on the virial identity GRV3.
The error is computed as the integral defined by Eq. (43) of [Gourgoulhon and Bonazzola, Class. Quantum Grav. 11, 443 (1994)] divided by the integral of the matter terms.
ost | output stream to give details of the computation; if set to 0x0 [default value], no details will be given. |
Reimplemented in Et_rot_bifluid, and Et_rot_mag.
Definition at line 275 of file et_rot_global.C.
References Etoile::a_car, Etoile_rot::ak_car, Etoile_rot::bbb, Etoile_rot::dzeta, flat_scalar_prod(), Cmp::get_dzpuis(), Cmp::get_etat(), Tenseur::gradient_spher(), log(), Etoile_rot::logn, Etoile::mp, Valeur::mult_ct(), Etoile::nbar, Etoile_rot::p_grv3, Etoile::press, Etoile::relativistic, Etoile::s_euler, Cmp::set_dzpuis(), Tenseur::set_std_base(), Valeur::ssint(), Cmp::std_base_scal(), Valeur::sx(), Etoile_rot::uuu, Cmp::va, and Map_radial::xsr.
void Et_rot_diff::hydro_euler | ( | ) | [virtual] |
Computes the hydrodynamical quantities relative to the Eulerian observer from those in the fluid frame.
The calculation is performed starting from the quantities omega_field
, ent
, ener
, press
, and a_car
, which are supposed to be up to date. From these, the following fields are updated: gam_euler
, u_euler
, ener_euler
, s_euler
.
Reimplemented from Etoile_rot.
Definition at line 57 of file et_rot_diff_hydro.C.
References Etoile::a_car, abs(), Cmp::annule(), Tenseur::annule(), Etoile_rot::b_car, Mtbl_cf::base, Valeur::c_cf, Tenseur::change_triad(), Valeur::coef(), Etoile_rot::del_deriv(), Etoile::ener, Etoile::ener_euler, Etoile::gam_euler, Map::get_bvect_cart(), Map::get_bvect_spher(), Tenseur::get_etat(), Valeur::get_etat(), Map::get_mg(), Mg3d::get_nzone(), max(), Etoile::mp, Etoile::nnn, Etoile_rot::nphi, omega_field, Etoile::press, Etoile::s_euler, Valeur::set(), Tenseur::set(), Valeur::set_etat_cf_qcq(), Tenseur::set_etat_qcq(), Tenseur::set_std_base(), Tenseur::set_triad(), Etoile::shift, sqrt(), Etoile::u_euler, Etoile::unsurc2, Etoile_rot::uuu, Cmp::va, Map::x, and Map::y.
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.
const Itbl & Etoile_rot::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 from Etoile.
Reimplemented in Et_rot_bifluid.
Definition at line 85 of file et_rot_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.
Computes the coefficient which ensures that the GRV2 virial identity is satisfied.
is the coefficient by which one must multiply the quadratic source term of the 2-D Poisson equation
in order that the total source does not contain any monopolar term, i.e. in order that
where . is computed according to the formula
Then, by construction, the new source has a vanishing monopolar term.
sou_m | [input] matter source term | |
sou_q | [input] quadratic source term |
Definition at line 75 of file et_rot_lambda_grv2.C.
References Valeur::c, Cmp::check_dzpuis(), Valeur::coef_i(), Map_radial::dxdr, Map_af::get_alpha(), Map_af::get_beta(), Valeur::get_etat(), Cmp::get_etat(), Tbl::get_etat(), Mg3d::get_grille3d(), Map::get_mg(), Cmp::get_mp(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Mg3d::get_type_r(), Map_af::set_alpha(), Map_af::set_beta(), Tbl::t, Mtbl::t, Cmp::va, Map::val_r(), Grille3d::x, and Map_radial::xsr.
double Etoile_rot::lspec_isco | ( | ) | const [virtual, inherited] |
Angular momentum of a particle on the ISCO.
Definition at line 280 of file et_rot_isco.C.
References Etoile_rot::p_lspec_isco, and Etoile_rot::r_isco().
double Etoile_rot::mass_b | ( | ) | const [virtual, inherited] |
Baryon mass.
Reimplemented from Etoile.
Reimplemented in Et_rot_bifluid.
Definition at line 115 of file et_rot_global.C.
References Etoile::a_car, Etoile_rot::bbb, Etoile::gam_euler, Tenseur::get_etat(), Cmp::integrale(), Etoile::nbar, Etoile::p_mass_b, Etoile::relativistic, and Cmp::std_base_scal().
double Etoile_rot::mass_g | ( | ) | const [virtual, inherited] |
Gravitational mass.
Reimplemented from Etoile.
Reimplemented in Et_rot_bifluid, and Et_rot_mag.
Definition at line 147 of file et_rot_global.C.
References Etoile::a_car, Etoile_rot::bbb, Etoile::ener_euler, Etoile_rot::mass_b(), Etoile::nnn, Etoile::p_mass_g, Etoile::press, Etoile::relativistic, Etoile::s_euler, Tenseur::set_std_base(), Etoile_rot::tnphi, and Etoile_rot::uuu.
double Etoile_rot::mom_quad | ( | ) | const [virtual, inherited] |
Quadrupole moment.
The quadrupole moment Q is defined according to Eq. (7) of [Salgado, Bonazzola, Gourgoulhon and Haensel, Astron. Astrophys. 291 , 155 (1994)]. At the Newtonian limit it is related to the component of the MTW (1973) reduced quadrupole moment by: . Note that Q is the negative of the quadrupole moment defined by Laarakkers and Poisson, Astrophys. J. 512 , 282 (1999).
Reimplemented in Et_rot_bifluid, and Et_rot_mag.
Definition at line 514 of file et_rot_global.C.
References Etoile::a_car, Etoile_rot::ak_car, Etoile_rot::bbb, Cmp::check_dzpuis(), Etoile::ener_euler, flat_scalar_prod(), Cmp::get_etat(), Tenseur::gradient_spher(), Cmp::inc2_dzpuis(), log(), Etoile_rot::logn, Etoile::mp, Valeur::mult_ct(), Cmp::mult_r(), Etoile::nbar, Etoile_rot::p_mom_quad, Etoile::relativistic, Etoile::s_euler, Tenseur::set(), Tenseur::set_std_base(), and Cmp::va.
void Et_rot_diff::operator= | ( | const Et_rot_diff & | et | ) |
Assignment to another Et_rot_diff
.
Reimplemented from Etoile_rot.
Definition at line 152 of file et_rot_diff.C.
References frot, omega_field, omega_max, omega_min, par_frot, prim_field, and primfrot.
ostream & Et_rot_diff::operator>> | ( | ostream & | ost | ) | const [protected, virtual] |
Operator >> (virtual function called by the operator <<).
Reimplemented from Etoile_rot.
Definition at line 192 of file et_rot_diff.C.
References Etoile_rot::angu_mom(), Etoile_rot::aplat(), display_poly(), Etoile::ener, Map::get_mg(), Mg3d::get_nr(), Mg3d::get_nt(), get_omega_c(), Etoile_rot::mass_b(), Etoile_rot::mass_g(), max(), Etoile::mp, Etoile::nbar, Etoile::nzet, omega_field, omega_max, omega_min, par_frot, pow(), Etoile::press, Etoile::ray_eq(), sqrt(), and tsw().
void Etoile_rot::partial_display | ( | ostream & | ost | ) | const [protected, virtual, inherited] |
Printing of some informations, excluding all global quantities.
Reimplemented in Et_rot_bifluid.
Definition at line 605 of file etoile_rot.C.
References Etoile::a_car, Etoile_rot::aplat(), Etoile_rot::b_car, Etoile_rot::dzeta, Etoile::ener, Etoile::ent, Map::get_mg(), Mg3d::get_nr(), Mg3d::get_nt(), Etoile_rot::get_omega_c(), Etoile_rot::logn, Etoile::mp, Etoile::nbar, Etoile::nnn, Etoile_rot::nphi, Etoile::nzet, Etoile::press, Etoile::ray_eq(), and Etoile_rot::uuu.
double Et_rot_diff::prim_funct_omega | ( | double | omeg | ) | const |
Evaluates the primitive of , where F is the function defining the rotation profile.
omeg | [input] value of |
Definition at line 317 of file et_rot_diff.C.
double Etoile_rot::r_circ | ( | ) | const [virtual, inherited] |
Circumferential radius.
Definition at line 380 of file et_rot_global.C.
References Etoile_rot::bbb, Map::get_mg(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_type_t(), Etoile::mp, Etoile::nzet, Etoile_rot::p_r_circ, and Etoile::ray_eq().
double Etoile_rot::r_isco | ( | ostream * | ost = 0x0 |
) | const [virtual, inherited] |
Circumferential radius of the innermost stable circular orbit (ISCO).
ost | output stream to give details of the computation; if set to 0x0 [default value], no details will be given. |
Definition at line 80 of file et_rot_isco.C.
References Param::add_cmp(), Param::add_int(), Cmp::annule(), Etoile_rot::bbb, Cmp::dsdr(), Map::get_mg(), Mg3d::get_nzone(), Etoile::mp, Etoile::nnn, Etoile_rot::nphi, Etoile::nzet, Etoile_rot::p_espec_isco, Etoile_rot::p_f_eq, Etoile_rot::p_f_isco, Etoile_rot::p_lspec_isco, Etoile_rot::p_r_isco, Map::r, Etoile::ray_eq(), sqrt(), Cmp::std_base_scal(), Cmp::va, Valeur::val_point(), Map::val_r(), and zerosec().
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 Et_rot_diff::sauve | ( | FILE * | fich | ) | const [virtual] |
Save in a file.
Reimplemented from Etoile_rot.
Definition at line 175 of file et_rot_diff.C.
References fwrite_be(), omega_field, omega_max, omega_min, par_frot, Tenseur::sauve(), and Tbl::sauve().
void Etoile_rot::set_der_0x0 | ( | ) | const [protected, virtual, inherited] |
Sets to 0x0
all the pointers on derived quantities.
Reimplemented from Etoile.
Reimplemented in Et_rot_bifluid, and Et_rot_mag.
Definition at line 351 of file etoile_rot.C.
References Etoile_rot::p_angu_mom, Etoile_rot::p_aplat, Etoile_rot::p_espec_isco, Etoile_rot::p_f_eq, Etoile_rot::p_f_isco, Etoile_rot::p_grv2, Etoile_rot::p_grv3, Etoile_rot::p_lspec_isco, Etoile_rot::p_mom_quad, Etoile_rot::p_r_circ, Etoile_rot::p_r_isco, Etoile_rot::p_tsw, Etoile_rot::p_z_eqb, Etoile_rot::p_z_eqf, and Etoile_rot::p_z_pole.
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().
Map& Etoile::set_mp | ( | ) | [inline, inherited] |
double Et_rot_diff::tsw | ( | ) | const [virtual] |
Ratio T/W.
Reimplemented from Etoile_rot.
Definition at line 63 of file et_rot_diff_global.C.
References Etoile::a_car, Etoile_rot::b_car, Etoile_rot::bbb, Etoile::ener, Etoile::ener_euler, Etoile::gam_euler, Cmp::integrale(), Etoile_rot::logn, Etoile_rot::mass_g(), Cmp::mult_r(), Etoile::nbar, omega_field, Etoile_rot::p_tsw, Etoile::press, Etoile::relativistic, Cmp::std_base_scal(), Etoile_rot::uuu, and Cmp::va.
void Etoile_rot::update_metric | ( | ) | [inherited] |
Computes metric coefficients from known potentials.
The calculation is performed starting from the quantities logn
, dzeta
, tggg
and shift
, which are supposed to be up to date. From these, the following fields are updated: nnn
, a_car
, bbb
and b_car
.
Definition at line 65 of file et_rot_upmetr.C.
References Etoile::a_car, Etoile_rot::b_car, Etoile_rot::bbb, Etoile_rot::del_deriv(), Cmp::div_rsint(), Etoile_rot::dzeta, exp(), Etoile_rot::extrinsic_curvature(), Etoile_rot::logn, Etoile::nnn, Tenseur::set(), Tenseur::set_etat_qcq(), Tenseur::set_std_base(), Etoile_rot::tggg, and Etoile::unsurc2.
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.
double Etoile_rot::z_eqb | ( | ) | const [virtual, inherited] |
Backward redshift factor at equator.
Definition at line 460 of file et_rot_global.C.
References Map::get_mg(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_type_t(), Etoile::mp, Etoile::nnn, Etoile_rot::nphi, Etoile::nzet, Etoile_rot::p_z_eqb, Etoile_rot::r_circ(), sqrt(), and Etoile_rot::uuu.
double Etoile_rot::z_eqf | ( | ) | const [virtual, inherited] |
Forward redshift factor at equator.
Definition at line 428 of file et_rot_global.C.
References Map::get_mg(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_type_t(), Etoile::mp, Etoile::nnn, Etoile_rot::nphi, Etoile::nzet, Etoile_rot::p_z_eqf, Etoile_rot::r_circ(), sqrt(), and Etoile_rot::uuu.
double Etoile_rot::z_pole | ( | ) | const [virtual, inherited] |
Redshift factor at North pole.
Definition at line 495 of file et_rot_global.C.
References Etoile::nnn, Etoile_rot::p_z_pole, and Etoile::ray_pole().
ostream& operator<< | ( | ostream & | , | |
const Etoile & | ||||
) | [friend, inherited] |
Display.
Tenseur Etoile::a_car [protected, inherited] |
Tenseur Etoile_rot::ak_car [protected, inherited] |
Tenseur Etoile_rot::b_car [protected, inherited] |
Tenseur Etoile_rot::bbb [protected, inherited] |
Tenseur Etoile::beta_auto [protected, inherited] |
Tenseur Etoile::d_logn_auto_div [protected, inherited] |
Tenseur& Etoile_rot::dzeta [protected, inherited] |
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.
double(* Et_rot_diff::frot)(double, const Tbl &) [protected] |
Function defining the rotation profile.
This function is linked to the components of the fluid 4-velocity by
The first argument of frot
must be ; the second argument contains the parameters, the first of which being necessarily the central value of .
Tenseur Etoile::gam_euler [protected, inherited] |
int Etoile::k_div [protected, inherited] |
Tenseur Etoile_rot::khi_shift [protected, inherited] |
Tenseur& Etoile_rot::logn [protected, inherited] |
Tenseur Etoile::logn_auto [protected, inherited] |
Tenseur Etoile::logn_auto_div [protected, inherited] |
Tenseur Etoile::logn_auto_regu [protected, inherited] |
Map& Etoile::mp [protected, inherited] |
Tenseur Etoile::nbar [protected, inherited] |
Tenseur Etoile::nnn [protected, inherited] |
Tenseur Etoile_rot::nphi [protected, inherited] |
Tenseur Etoile_rot::nuf [protected, inherited] |
Tenseur Etoile_rot::nuq [protected, inherited] |
int Etoile::nzet [protected, inherited] |
double Etoile_rot::omega [protected, inherited] |
Tenseur Et_rot_diff::omega_field [protected] |
Field .
Definition at line 101 of file et_rot_diff.h.
double Et_rot_diff::omega_max [protected] |
Maximum value of .
Definition at line 104 of file et_rot_diff.h.
double Et_rot_diff::omega_min [protected] |
Minimum value of .
Definition at line 103 of file et_rot_diff.h.
double* Etoile_rot::p_angu_mom [mutable, protected, inherited] |
double* Etoile_rot::p_aplat [mutable, protected, inherited] |
double* Etoile_rot::p_espec_isco [mutable, protected, inherited] |
double* Etoile_rot::p_f_eq [mutable, protected, inherited] |
double* Etoile_rot::p_f_isco [mutable, protected, inherited] |
double* Etoile_rot::p_grv2 [mutable, protected, inherited] |
double* Etoile_rot::p_grv3 [mutable, protected, inherited] |
Itbl* Etoile::p_l_surf [mutable, protected, inherited] |
double* Etoile_rot::p_lspec_isco [mutable, protected, inherited] |
double* Etoile::p_mass_b [mutable, protected, inherited] |
double* Etoile::p_mass_g [mutable, protected, inherited] |
double* Etoile_rot::p_mom_quad [mutable, protected, inherited] |
double* Etoile_rot::p_r_circ [mutable, protected, inherited] |
double* Etoile_rot::p_r_isco [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_rot::p_tsw [mutable, protected, inherited] |
Tbl* Etoile::p_xi_surf [mutable, protected, inherited] |
double* Etoile_rot::p_z_eqb [mutable, protected, inherited] |
double* Etoile_rot::p_z_eqf [mutable, protected, inherited] |
double* Etoile_rot::p_z_pole [mutable, protected, inherited] |
Tbl Et_rot_diff::par_frot [protected] |
Parameters of the function .
To be used as the second argument of functions frot
and primfrot
. The parameter par_frot(0)
must always be the central angular velocity.
Definition at line 98 of file et_rot_diff.h.
Tenseur Etoile::press [protected, inherited] |
Tenseur Et_rot_diff::prim_field [protected] |
Field .
Definition at line 107 of file et_rot_diff.h.
double(* Et_rot_diff::primfrot)(double, const Tbl &) [protected] |
Primitive of the function , which vanishes at the stellar center.
The first argument of primfrot
must be ; the second argument contains the parameters, the first of which being necessarily the central value of .
bool Etoile::relativistic [protected, inherited] |
Tenseur Etoile::s_euler [protected, inherited] |
Tenseur Etoile::shift [protected, inherited] |
Cmp Etoile_rot::ssjm1_dzeta [protected, inherited] |
Cmp Etoile_rot::ssjm1_khi [protected, inherited] |
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_rot::ssjm1_nuf [protected, inherited] |
Effective source at the previous step for the resolution of the Poisson equation for nuf
by means of Map_et::poisson
.
Cmp Etoile_rot::ssjm1_nuq [protected, inherited] |
Effective source at the previous step for the resolution of the Poisson equation for nuq
by means of Map_et::poisson
.
Cmp Etoile_rot::ssjm1_tggg [protected, inherited] |
Tenseur Etoile_rot::ssjm1_wshift [protected, inherited] |
Effective source at the previous step for the resolution of the vector Poisson equation for .
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 Etoile_rot::tggg [protected, inherited] |
Tenseur_sym Etoile_rot::tkij [protected, inherited] |
Tenseur Etoile_rot::tnphi [protected, inherited] |
Tenseur Etoile::u_euler [protected, inherited] |
double Etoile::unsurc2 [protected, inherited] |
Tenseur Etoile_rot::uuu [protected, inherited] |
Tenseur Etoile_rot::w_shift [protected, inherited] |