41 #include "star_rot_dirac_diff.h" 43 #include "utilitaires.h" 54 double (*frot_i)(
double,
const Tbl&),
55 double (*primfrot_i)(
double,
const Tbl&),
56 const Tbl& par_frot_i)
79 primfrot(star.primfrot),
80 par_frot(star.par_frot),
81 omega_field(star.omega_field),
82 omega_min(star.omega_min),
83 omega_max(star.omega_max),
84 prim_field(star.prim_field)
91 double (*frot_i)(
double,
const Tbl&),
92 double (*primfrot_i)(
double,
const Tbl&) )
176 ost <<
"Differentially rotating star in Dirac gauge" <<
'\n';
180 ost <<
"Differentially rotating star" <<
'\n';
181 ost <<
"-----------------------" <<
'\n';
183 ost <<
'\n'<<
"Parameters of F(Omega) : " <<
'\n';
186 ost <<
"Min, Max of Omega/(2pi) : " <<
omega_min / (2*M_PI) * f_unit
187 <<
" Hz, " <<
omega_max / (2*M_PI) * f_unit <<
" Hz" <<
'\n';
188 int lsurf =
nzet - 1;
191 ost <<
"Central, equatorial value of Omega: " 197 ost <<
"Central, equatorial value of Omega/(2 Pi): " 204 ost <<
"Error on the virial identity GRV2 : " <<
'\n';
205 ost <<
"GRV2 = " <<
grv2() <<
'\n';
206 ost <<
"Error on the virial identity GRV3 : " <<
'\n';
207 ost <<
"GRV3 = " <<
grv3() <<
'\n';
209 ost <<
"Angular momentum J : " 210 <<
angu_mom()/( qpig / (4*M_PI) *msol*msol) <<
" G M_sol^2 / c" 212 ost <<
"c J / (G M^2) : " 217 double mom_iner_38si = mom_iner * rho_unit * (
pow(r_unit,
double(5.))
219 ost <<
"Moment of inertia: " << mom_iner_38si <<
" 10^38 kg m^2" 223 ost <<
"Ratio T/W : " <<
tsw() <<
'\n';
227 ost <<
"Circumferential equatorial radius R_circ : " 228 <<
r_circ()/km <<
" km" <<
'\n';
229 ost <<
"Circumferential polar radius Rp_circ : " 230 <<
rp_circ()/km <<
" km" << endl ;
231 ost <<
"Coordinate equatorial radius r_eq : " <<
ray_eq()/km <<
" km" 233 ost <<
"Flattening r_pole/r_eq : " <<
aplat() << endl ;
234 ost <<
"Ellipticity sqrt(1-(Rp_circ/R_circ)^2) : " <<
ellipt() << endl ;
236 ost <<
"Compaction parameter M_g / R_circ : " << compact <<
'\n';
void fait_prim_field()
Computes the member prim_field from omega_field .
virtual double grv3() const
Error on the virial identity GRV3.
virtual double tsw() const
Ratio T/W.
void operator=(const Star_rot_Dirac_diff &)
Assignment to another Star_rot_Dirac_diff.
double omega
Rotation angular velocity ([f_unit] )
Map & mp
Mapping associated with the star.
Standard units of space, time and mass.
Equation of state base class.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
Tensor field of valence 0 (or component of a tensorial field).
Scalar omega_field
Field .
Base class for coordinate mappings.
double(* primfrot)(double, const Tbl &)
Primitive of the function , which vanishes at the stellar center.
virtual double r_circ() const
Circumferential equatorial radius.
void operator=(const Star_rot_Dirac &)
Assignment to another Star_rot_Dirac.
virtual void sauve(FILE *) const
Save in a file.
Tbl par_frot
Parameters of the function .
double val_grid_point(int l, int k, int j, int i) const
Returns the value of the field at a specified grid point.
virtual double angu_mom() const
Angular momentum.
int nzet
Number of domains of *mp occupied by the star.
virtual void sauve(FILE *) const
Save in a file.
virtual double mass_g() const
Gravitational mass.
virtual double ellipt() const
Ellipticity e.
virtual double grv2() const
Error on the virial identity GRV2.
double omega_max
Maximum value of .
double(* frot)(double, const Tbl &)
Function defining the rotation profile.
int fwrite_be(const int *aa, int size, int nb, FILE *fich)
Writes integer(s) into a binary file according to the big endian convention.
Star_rot_Dirac_diff(Map &mp_i, int nzet_i, const Eos &eos_i, double(*frot_i)(double, const Tbl &), double(*primfrot_i)(double, const Tbl &), const Tbl &par_frot_i)
Standard constructor.
Class for relativistic rotating stars in Dirac gauge and maximal slicing.
Cmp pow(const Cmp &, int)
Power .
double prim_funct_omega(double omeg) const
Evaluates the primitive of , where F is the function defining the rotation profile.
virtual double aplat() const
Flattening r_pole/r_eq.
int fread_be(int *aa, int size, int nb, FILE *fich)
Reads integer(s) from a binary file according to the big endian convention.
int get_nr(int l) const
Returns the number of points in the radial direction ( ) in domain no. l.
virtual ~Star_rot_Dirac_diff()
Destructor.
Class for relativistic differentially rotating stars in Dirac gauge and maximal slicing.
virtual double rp_circ() const
Circumferential polar radius.
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
double ray_eq() const
Coordinate radius at , [r_unit].
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
void sauve(FILE *) const
Save in a file.
virtual void sauve(FILE *) const
Save in a file.
double omega_min
Minimum value of .
int get_nt(int l) const
Returns the number of points in the co-latitude direction ( ) in domain no. l.
virtual double get_omega_c() const
Returns the central value of the rotation angular velocity ([f_unit] )
double funct_omega(double omeg) const
Evaluates , where F is the function defining the rotation profile.