84#include "star_rot_dirac.h"
86#include "utilitaires.h"
152 Vector phi_kill(
mp, CON,
mp.get_bvect_spher()) ;
156 phi_kill.
set(3) = 1. ;
192 p_tsw =
new double( tcin / ( mass_p + tcin -
mass_g() ) ) ;
227 sou_m =
sqrt( k_det )*sou_m ;
251 sou_tmp += term_2 + term_3 ;
258 sou_q =
sqrt( k_det )*sou_q ;
262 p_grv2 =
new double(
double(1) + integrale2d(sou_m)/integrale2d(sou_q) ) ;
290 gamma.connect().get_delta(), 0) ;
297 0,
gamma.connect().get_delta(), 0), 0, 1) ;
299 sou_q = sou_q + tmp_1 - tmp_2 ;
301 sou_q =
sqrt(
gamma.determinant() ) * sou_q ;
313 sou_m =
sqrt(
gamma.determinant() ) * sou_m ;
319 p_grv3 =
new double( (int_grav + int_mat) / int_mat ) ;
339 const Mg3d* mg =
mp.get_mg() ;
341 int i_b = mg->
get_nr(l_b) - 1 ;
345 double gamma_phi =
gamma.cov()(3,3).val_grid_point(l_b, k_b, j_b, i_b) ;
363 const Mg3d& mg = *
mp.get_mg() ;
368 cout <<
"The polar circumferential radius is only well defined\n"
369 <<
"with np = 1!" << endl ;
379 for (
int j=0; j<nt; j++) {
380 double theta = (+
tet)(0, 0, j, 0) ;
383 for (
int lz=0; lz<
nzet; lz++) {
385 for (
int i=0; i<nrz; i++) {
396 for (
int j=0; j<nt; j++) {
397 double theta = (+
tet)(0, 0, j, 0) ;
400 double grr = gam(1,1).get_spectral_va().val_point_jk(ls, xs, j, 0) ;
401 double grt = gam(1,2).get_spectral_va().val_point_jk(ls, xs, j, 0) ;
402 double gtt = gam(2,2).get_spectral_va().val_point_jk(ls, xs, j, 0) ;
403 double rr =
mp.val_r(ls, xs, theta,
phi) ;
407 =
sqrt(grr*dr*dr + 2*grt*rr*dr + gtt*rr*rr) ;
Active physical coordinates and mapping derivatives.
int get_type_t() const
Returns the type of sampling in the direction: SYM : : symmetry with respect to the equatorial pl...
int get_np(int l) const
Returns the number of points in the azimuthal direction ( ) in domain no. l.
int get_nt(int l) const
Returns the number of points in the co-latitude direction ( ) in domain no. l.
int get_nzone() const
Returns the number of domains.
int get_nr(int l) const
Returns the number of points in the radial direction ( ) in domain no. l.
Tensor field of valence 0 (or component of a tensorial field).
void div_r_dzpuis(int ced_mult_r)
Division by r everywhere but with the output flag dzpuis set to ced_mult_r .
const Scalar & dsdt() const
Returns of *this .
double integrale() const
Computes the integral over all space of *this .
virtual void std_spectral_base()
Sets the spectral bases of the Valeur va to the standard ones for a scalar field.
virtual void set_etat_zero()
Sets the logical state to ETATZERO (zero).
virtual void annule(int l_min, int l_max)
Sets the Scalar to zero in several domains.
Valeur & set_spectral_va()
Returns va (read/write version).
const Valeur & get_spectral_va() const
Returns va (read only version).
void annule_hard()
Sets the Scalar to zero in a hard way.
void mult_rsint()
Multiplication by everywhere; dzpuis is not changed.
double & set_grid_point(int l, int k, int j, int i)
Setting the value of the field at a given grid point.
virtual double mass_g() const
Gravitational mass.
virtual double ellipt() const
Ellipticity e.
virtual double grv3() const
Error on the virial identity GRV3.
virtual double angu_mom() const
Angular momentum.
double * p_grv3
Error on the virial identity GRV3.
virtual double r_circ() const
Circumferential equatorial radius.
double omega
Rotation angular velocity ([f_unit] ).
double * p_r_circ
Circumferential equatorial radius.
virtual double tsw() const
Ratio T/W.
Vector j_euler
Momentum density 3-vector with respect to the Eulerian observer.
virtual double rp_circ() const
Circumferential polar radius.
double * p_grv2
Error on the virial identity GRV2.
virtual double mass_b() const
Baryonic mass.
double * p_angu_mom
Angular momentum.
double * p_rp_circ
Circumferential polar radius.
virtual double aplat() const
Flattening r_pole/r_eq.
virtual double grv2() const
Error on the virial identity GRV2.
Scalar ener
Total energy density in the fluid frame.
Scalar logn
Logarithm of the lapse N .
Scalar nn
Lapse function N .
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...
double * p_mass_b
Baryon mass.
Scalar nbar
Baryon density in the fluid frame.
Scalar ener_euler
Total energy density in the Eulerian frame.
const Tbl & xi_surf() const
Description of the stellar surface: returns a 2-D Tbl containing the values of the radial coordinate ...
Scalar gam_euler
Lorentz factor between the fluid and Eulerian observers.
double ray_eq() const
Coordinate radius at , [r_unit].
Scalar s_euler
Trace of the stress scalar in the Eulerian frame.
double * p_mass_g
Gravitational mass.
Scalar press
Fluid pressure.
Map & mp
Mapping associated with the star.
int nzet
Number of domains of *mp occupied by the star.
double ray_pole() const
Coordinate radius at [r_unit].
Class intended to describe valence-2 symmetric tensors.
double val_point_jk(int l, double x, int j, int k) const
Computes the value of the field represented by *this at an arbitrary point in , but collocation point...
Mtbl_cf * c_cf
Coefficients of the spectral expansion of the function.
void coef() const
Computes the coeffcients of *this.
Tensor field of valence 1.
Scalar & set(int)
Read/write access to a component.
Cmp sqrt(const Cmp &)
Square root.
Tenseur contract(const Tenseur &, int id1, int id2)
Self contraction of two indices of a Tenseur .
Coord phi
coordinate centered on the grid
Coord tet
coordinate centered on the grid
Standard units of space, time and mass.