30char et_rot_bifluid_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Etoile/et_rot_bifluid.C,v 1.15 2015/06/11 13:50:19 j_novak Exp $" ;
111#include "et_rot_bifluid.h"
113#include "utilitaires.h"
123 Etoile_rot(mpi, nzet_i, relat, *eos_i.trans2Eos()),
131 j_euler(mpi, 1, CON, mp.get_bvect_cart()),
132 j_euler1 (mpi, 1, CON, mp.get_bvect_cart()),
133 j_euler2(mpi, 1, CON, mp.get_bvect_cart()),
134 j_euler11_1(mpi, 1, CON, mp.get_bvect_cart()),
135 j_euler12_1(mpi, 1, CON, mp.get_bvect_cart()),
136 j_euler21_1(mpi, 1, CON, mp.get_bvect_cart()),
137 j_euler22_1(mpi, 1, CON, mp.get_bvect_cart()),
139 j_euler11_2(mpi, 1, CON, mp.get_bvect_cart()),
140 j_euler12_2(mpi, 1, CON, mp.get_bvect_cart()),
141 j_euler21_2(mpi, 1, CON, mp.get_bvect_cart()),
142 j_euler22_2(mpi, 1, CON, mp.get_bvect_cart()),
195 sphph_euler(et.sphph_euler),
197 j_euler1(et.j_euler1),
198 j_euler2(et.j_euler2),
199 j_euler11_1(et.j_euler11_1),
200 j_euler12_1(et.j_euler12_1),
201 j_euler21_1(et.j_euler21_1),
202 j_euler22_1(et.j_euler22_1),
203 j_euler11_2(et.j_euler11_2),
204 j_euler12_2(et.j_euler12_2),
205 j_euler21_2(et.j_euler21_2),
206 j_euler22_2(et.j_euler22_2),
207 enerps_euler(et.enerps_euler),
209 gam_euler2(et.gam_euler2),
210 delta_car(et.delta_car)
230 j_euler(mpi, 1, CON, mp.get_bvect_cart()),
231 j_euler1(mpi, 1, CON, mp.get_bvect_cart()),
232 j_euler2(mpi, 1, CON, mp.get_bvect_cart()),
233 j_euler11_1(mpi, 1, CON, mp.get_bvect_cart()),
234 j_euler12_1(mpi, 1, CON, mp.get_bvect_cart()),
235 j_euler21_1(mpi, 1, CON, mp.get_bvect_cart()),
236 j_euler22_1(mpi, 1, CON, mp.get_bvect_cart()),
237 j_euler11_2(mpi, 1, CON, mp.get_bvect_cart()),
238 j_euler12_2(mpi, 1, CON, mp.get_bvect_cart()),
239 j_euler21_2(mpi, 1, CON, mp.get_bvect_cart()),
240 j_euler22_2(mpi, 1, CON, mp.get_bvect_cart()),
399 assert( &(et.
eos) == &
eos ) ;
414 j_euler21_1 = et.j_euler21_1;
415 j_euler22_1 = et.j_euler22_1;
416 j_euler11_2 = et.j_euler11_2;
417 j_euler12_2 = et.j_euler12_2;
418 j_euler21_2 = et.j_euler21_2;
419 j_euler22_2 = et.j_euler22_2;
457 ost <<
"Bifluid rotating star" << endl ;
458 ost <<
"-------------" << endl ;
460 double freq =
omega / (2.*M_PI) ;
461 ost <<
"Omega1 : " <<
omega * f_unit
462 <<
" rad/s f : " << freq * f_unit <<
" Hz" << endl ;
463 ost <<
"Rotation period 1: " << 1000. / (freq * f_unit) <<
" ms"
466 double freq2 =
omega2 / (2.*M_PI) ;
467 ost <<
"Omega2 : " <<
omega2 * f_unit
468 <<
" rad/s f : " << freq2 * f_unit <<
" Hz" << endl ;
469 ost <<
"Rotation period 2: " << 1000. / (freq2 * f_unit) <<
" ms"
473 ost <<
"Total angular momentum J : "
474 <<
angu_mom()/( qpig / (4* M_PI) * msol*msol) <<
" G M_sol^2 / c"
476 ost <<
"c J / (G M^2) : "
480 double mom_iner_38si = mom_iner * rho_unit * (
pow(r_unit,
double(5.)) / double(1.e38) ) ;
481 ost <<
"Total moment of inertia I = J/Omega2 : "
482 << mom_iner_38si <<
" 10^38 kg m^2"
485 ost <<
"Angular momentum J of fluid 1 : "
486 <<
angu_mom_1()/( qpig / (4* M_PI) * msol*msol) <<
" G M_sol^2 / c"
488 ost <<
"Angular momentum J of fluid 2 : "
489 <<
angu_mom_2()/( qpig / (4* M_PI) * msol*msol) <<
" G M_sol^2 / c"
494 double mom_iner_1 = 0.;
496 double mom_iner2_1 = 0. ;
498 ost <<
"First way to define In, Ip, En and Ep : " << endl;
499 if (
omega != __infinity) {
501 double mom_iner_38si_1 = mom_iner_1 * rho_unit * (
pow(r_unit,
double(5.)) / double(1.e38) ) ;
502 ost <<
"Moment of inertia of fluid 1 : " << mom_iner_38si_1 <<
" 10^38 kg m^2"
507 ost <<
"Coupling constante of fluid 1 (En) : " << En_1 << endl ;
509 if (
omega2 != __infinity) {
511 double mom_iner2_38si_1 = mom_iner2_1 * rho_unit * (
pow(r_unit,
double(5.)) / double(1.e38) ) ;
512 ost <<
"Moment of inertia of fluid 2 : " << mom_iner2_38si_1 <<
" 10^38 kg m^2"
518 ost <<
"Coupling constante of fluid 2 (Ep) : " << Ep_1 << endl ;
521 if (mom_iner2_1 * Ep_1 != 0. ) {
522 double X_1 = mom_iner_1 * En_1 / (mom_iner2_1 * Ep_1 );
523 ost <<
"Ratio X = (InEn)/(IpEp) : " << X_1 << endl ;
527 double mom_iner_2 = 0.;
529 double mom_iner2_2 = 0. ;
531 ost <<
"Second way to define In, Ip, En and Ep : " << endl;
532 if (
omega != __infinity) {
534 double mom_iner_38si_2 = mom_iner_2 * rho_unit * (
pow(r_unit,
double(5.)) / double(1.e38) ) ;
535 ost <<
"Moment of inertia of fluid 1 : " << mom_iner_38si_2 <<
" 10^38 kg m^2"
540 ost <<
"Coupling constante of fluid 1 (En) : " << En_2 << endl ;
542 if (
omega2 != __infinity) {
544 double mom_iner2_38si_2 = mom_iner2_2 * rho_unit * (
pow(r_unit,
double(5.)) / double(1.e38) ) ;
545 ost <<
"Moment of inertia of fluid 2 : " << mom_iner2_38si_2 <<
" 10^38 kg m^2"
551 ost <<
"Coupling constante of fluid 2 (Ep) : " << Ep_2 << endl ;
554 if (mom_iner2_2 * Ep_2 != 0. ) {
555 double X_2 = mom_iner_2 * En_2 / (mom_iner2_2 * Ep_2 );
556 ost <<
"Ratio X = (InEn)/(IpEp) : " << X_2 << endl ;
561 ost <<
"TEST (vers. 1) ---- In + Ip = " <<mom_iner2_1 + mom_iner_1 <<
" I = " << mom_iner << endl ;
562 ost <<
"TEST (vers. 2) ---- In + Ip = " <<mom_iner2_2 + mom_iner_2 <<
" I = " << mom_iner << endl ;
563 ost <<
"TEST (vers. 1) ---- InOmegan + IpOmegap = " <<mom_iner2_1*
omega2 + mom_iner_1*
omega <<
" J = " <<
angu_mom() << endl ;
564 ost <<
"TEST (vers. 2) ---- InOmegan + IpOmegap = " <<mom_iner2_2*
omega2 + mom_iner_2*
omega <<
" J = " <<
angu_mom() << endl ;
565 ost <<
"TEST (vers. 1) ---- InOmegan + EnIn(Omegap-Omegan) = " <<mom_iner_1*
omega + mom_iner_1*En_1*(
omega2-
omega) <<
" Jn = " <<
angu_mom_1() << endl ;
566 ost <<
"TEST (vers. 1) ---- IpOmegap + EpIp(Omegan-Omegap) = " <<mom_iner2_1*
omega2 + mom_iner2_1*Ep_1*(
omega-
omega2) <<
" Jp = " <<
angu_mom_2() << endl ;
567 ost <<
"TEST (vers. 2) ---- InOmegan + EnIn(Omegap-Omegan) = " <<mom_iner_2*
omega + mom_iner_2*En_2*(
omega2-
omega) <<
" Jn = " <<
angu_mom_1() << endl ;
568 ost <<
"TEST (vers. 2) ---- IpOmegap + EpIp(Omegan-Omegap) = " <<mom_iner2_2*
omega2 + mom_iner2_2*Ep_2*(
omega-
omega2) <<
" Jp = " <<
angu_mom_2() << endl ;
578 double nphi_c =
nphi()(0, 0, 0, 0) ;
579 if ( (
omega==0) && (nphi_c==0) ) {
580 ost <<
"Central N^phi : " << nphi_c << endl ;
583 ost <<
"Central N^phi/Omega : " << nphi_c /
omega << endl ;
586 ost <<
"Central N^phi/Omega2 : " << nphi_c /
omega2 << endl ;
588 ost <<
"Error on the virial identity GRV2 : " << endl ;
589 ost <<
"GRV2 = " <<
grv2() << endl ;
590 ost <<
"Error on the virial identity GRV3 : " << endl ;
591 double xgrv3 =
grv3(&ost) ;
592 ost <<
"GRV3 = " << xgrv3 << endl ;
594 ost <<
"Circumferential equatorial radius R_circ : "
595 <<
r_circ()/km <<
" km" << endl ;
596 ost <<
"Mean radius R_mean : "
598 ost <<
"Coordinate equatorial radius r_eq : " <<
ray_eq()/km <<
" km"
600 ost <<
"Flattening r_pole/r_eq : " <<
aplat() << endl ;
601 ost <<
"Circumferential equatorial radius R_circ2 : "
602 <<
r_circ2()/km <<
" km" << endl ;
603 ost <<
"Mean radius R_mean2 : "
605 ost <<
"Coordinate equatorial radius r_eq2 : " <<
ray_eq2()/km <<
" km"
607 ost <<
"Flattening r_pole2/r_eq2 : " <<
aplat2() << endl ;
609 int lsurf =
nzet - 1;
612 ost <<
"Equatorial value of the velocity U: "
613 <<
uuu()(
nzet-1, 0, nt-1, nr-1) <<
" c" << endl ;
614 ost <<
"Equatorial value of the velocity U2: "
615 <<
uuu2()(
nzet-1, 0, nt-1, nr-1) <<
" c" << endl ;
616 ost <<
"Redshift at the equator (forward) : " <<
z_eqf() << endl ;
617 ost <<
"Redshift at the equator (backward): " <<
z_eqb() << endl ;
618 ost <<
"Redshift at the pole : " <<
z_pole() << endl ;
621 ost <<
"Central value of log(N) : "
622 <<
logn()(0, 0, 0, 0) << endl ;
624 ost <<
"Central value of dzeta=log(AN) : "
625 <<
dzeta()(0, 0, 0, 0) << endl ;
627 ost <<
"Central value of B^2 : " <<
b_car()(0,0,0,0) << endl ;
631 "Relative discrepancy in each domain between the metric coef. A^2 and B^2 : "
633 for (
int l=0; l<diff_a_b.get_taille(); l++) {
634 ost << diff_a_b(l) <<
" " ;
637 ost <<
"Quadrupole moment : " <<
mom_quad() << endl ;
638 double mom_quad_38si =
mom_quad() * rho_unit * (
pow(r_unit,
double(5.)) / double(1.e38) ) ;
639 ost <<
"Quadrupole moment Q : " << mom_quad_38si <<
" 10^38 kg m^2"
641 ost <<
"Old quadrupole moment : " <<
mom_quad_old() << endl ;
643 ost <<
"q = c^4 Q / (G^2 M^3) : "
645 ost <<
"j = c J / (G M^2) : "
649 ost <<
" Mb (Msol) Mg (Msol) omegan=omega (rad/s) q q_old b j j2 " << endl;
650 ost <<
mass_b() / msol <<
" "
652 <<
omega * f_unit <<
" "
670 double freq =
omega / (2.*M_PI) ;
671 ost <<
"Omega : " <<
omega * f_unit
672 <<
" rad/s f : " << freq * f_unit <<
" Hz" << endl ;
673 ost <<
"Rotation period : " << 1000. / (freq * f_unit) <<
" ms"
675 ost << endl <<
"Central enthalpy : " <<
ent()(0,0,0,0) <<
" c^2" << endl ;
676 ost <<
"Central proper baryon density : " <<
nbar()(0,0,0,0)
677 <<
" x 0.1 fm^-3" << endl ;
678 double freq2 =
omega2 / (2.*M_PI) ;
679 ost <<
"Omega2 : " <<
omega2 * f_unit
680 <<
" rad/s f : " << freq2 * f_unit <<
" Hz" << endl ;
681 ost <<
"Rotation period 2: " << 1000. / (freq2 * f_unit) <<
" ms"
683 ost << endl <<
"Central enthalpy 2: " <<
ent2()(0,0,0,0) <<
" c^2" << endl ;
684 ost <<
"Central proper baryon density 2: " <<
nbar2()(0,0,0,0)
685 <<
" x 0.1 fm^-3" << endl ;
686 ost <<
"Central proper energy density : " <<
ener()(0,0,0,0)
687 <<
" rho_nuc c^2" << endl ;
688 ost <<
"Central pressure : " <<
press()(0,0,0,0)
689 <<
" rho_nuc c^2" << endl ;
691 ost <<
"Central value of log(N) : "
692 <<
logn()(0, 0, 0, 0) << endl ;
693 ost <<
"Central lapse N : " <<
nnn()(0,0,0,0) << endl ;
694 ost <<
"Central value of dzeta=log(AN) : "
695 <<
dzeta()(0, 0, 0, 0) << endl ;
696 ost <<
"Central value of A^2 : " <<
a_car()(0,0,0,0) << endl ;
697 ost <<
"Central value of B^2 : " <<
b_car()(0,0,0,0) << endl ;
699 double nphi_c =
nphi()(0, 0, 0, 0) ;
700 if ( (
omega==0) && (nphi_c==0) ) {
701 ost <<
"Central N^phi : " << nphi_c << endl ;
704 ost <<
"Central N^phi/Omega : " << nphi_c /
omega << endl ;
708 int lsurf =
nzet - 1;
711 ost <<
"Equatorial value of the velocity U: "
712 <<
uuu()(
nzet-1, 0, nt-1, nr-1) <<
" c" << endl ;
714 ost <<
"Equatorial value of the velocity U2: "
715 <<
uuu2()(
nzet-1, 0, nt-1, nr-1) <<
" c" << endl ;
718 <<
"Coordinate equatorial radius r_eq = "
719 <<
ray_eq()/km <<
" km" << endl ;
720 ost <<
"Flattening r_pole/r_eq : " <<
aplat() << endl ;
722 <<
"Coordinate equatorial radius r_eq2 = "
723 <<
ray_eq2()/km <<
" km" << endl ;
724 ost <<
"Flattening r_pole2/r_eq2 : " <<
aplat2() << endl ;
743 cout <<
"Et_rot_bifluid::equation_of_state: not ready yet for nzet > 2 !" << endl ;
746 double epsilon = 1.e-12 ;
753 for (
int l=0; l<nz; l++) {
755 for (
int k=0; k<mg->
get_np(l); k++) {
756 for (
int j=0; j<mg->
get_nt(l); j++) {
757 for (
int i=0; i<mg->
get_nr(l); i++) {
769 fact_ent.
set(0) = 1 + epsilon * xi(0) * xi(0) ;
770 fact_ent.
set(1) = 1 - 0.25 * epsilon * (xi(1) - 1) * (xi(1) - 1) ;
772 for (
int l=
nzet; l<nz; l++) {
773 fact_ent.
set(l) = 1 ;
776 ent_eos = fact_ent * ent_eos ;
777 ent2_eos = fact_ent * ent2_eos ;
779 ent2_eos.std_base_scal() ;
847 (
uuu.
set()).std_base_scal() ;
873 int j_b = mg->
get_nt(l_b) - 1 ;
875 bool superlum = false ;
877 for (
int l=0; l<
nzet; l++) {
878 for (
int i=0; i<mg->
get_nr(l); i++) {
880 double u1 =
uuu()(l, 0, j_b, i) ;
881 double u2 =
uuu2()(l, 0, j_b, i) ;
882 if ((u1 >= 1.) || (u2>=1.)) {
884 cout <<
"U > c for l, i : " << l <<
" " << i
885 <<
" U1 = " << u1 << endl ;
886 cout <<
" U2 = " << u2 << endl ;
891 cout <<
"**** VELOCITY OF LIGHT REACHED ****" << endl ;
954 E_euler = Ann + 2. * Anp + App -
press ;
992 if( (
j_euler(0).get_etat() == ETATZERO)&&(
j_euler(1).get_etat() == ETATZERO)&&(
j_euler(2).get_etat()==ETATZERO))
1012 if( (
j_euler1(0).get_etat() == ETATZERO)&&(
j_euler1(1).get_etat() == ETATZERO)&&(
j_euler1(2).get_etat()==ETATZERO))
1032 if( (
j_euler2(0).get_etat() == ETATZERO)&&(
j_euler2(1).get_etat() == ETATZERO)&&(
j_euler2(2).get_etat()==ETATZERO))
1062 Jph11_1 = A11_1 *
uuu ;
1102 Jph12_1 = A12_1 *
uuu + B12_1 *
uuu2;
1144 Jph21_1 = A21_1 *
uuu2 ;
1148 j_euler21_1.
set(0) = 0;
1149 j_euler21_1.
set(1) = 0;
1150 j_euler21_1.
set(2) = Jph21_1()/
bbb();
1157 if( (j_euler21_1(0).get_etat() == ETATZERO)&&(j_euler21_1(1).get_etat() == ETATZERO)&&(j_euler21_1(2).get_etat()==ETATZERO))
1185 Jph22_1 = A22_1 *
uuu2 + B22_1 *
uuu;
1189 j_euler22_1.
set(0) = 0;
1190 j_euler22_1.
set(1) = 0;
1191 j_euler22_1.
set(2) = Jph22_1()/
bbb();
1198 if( (j_euler22_1(0).get_etat() == ETATZERO)&&(j_euler22_1(1).get_etat() == ETATZERO)&&(j_euler22_1(2).get_etat()==ETATZERO))
1227 Jph11_2 = A11_2 *
uuu ;
1231 j_euler11_2.
set(0) = 0;
1232 j_euler11_2.
set(1) = 0;
1233 j_euler11_2.
set(2) = Jph11_2()/
bbb();
1240 if( (j_euler11_2(0).get_etat() == ETATZERO)&&(j_euler11_2(1).get_etat() == ETATZERO)&&(j_euler11_2(2).get_etat()==ETATZERO))
1267 Jph12_2 = A12_2 *
uuu + B12_2 *
uuu2;
1271 j_euler12_2.
set(0) = 0;
1272 j_euler12_2.
set(1) = 0;
1273 j_euler12_2.
set(2) = Jph12_2()/
bbb();
1280 if( (j_euler12_2(0).get_etat() == ETATZERO)&&(j_euler12_2(1).get_etat() == ETATZERO)&&(j_euler12_2(2).get_etat()==ETATZERO))
1306 Jph21_2 = A21_2 *
uuu2 ;
1310 j_euler21_2.
set(0) = 0;
1311 j_euler21_2.
set(1) = 0;
1312 j_euler21_2.
set(2) = Jph21_2()/
bbb();
1319 if( (j_euler21_2(0).get_etat() == ETATZERO)&&(j_euler21_2(1).get_etat() == ETATZERO)&&(j_euler21_2(2).get_etat()==ETATZERO))
1348 Jph22_2 = A22_2 *
uuu2 + B22_2 *
uuu;
1352 j_euler22_2.
set(0) = 0;
1353 j_euler22_2.
set(1) = 0;
1354 j_euler22_2.
set(2) = Jph22_2()/
bbb();
1361 if( (j_euler22_2(0).get_etat() == ETATZERO)&&(j_euler22_2(1).get_etat() == ETATZERO)&&(j_euler22_2(2).get_etat()==ETATZERO))
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
void allocate_all()
Sets the logical state to ETATQCQ (ordinary state) and performs the memory allocation of all the elem...
void std_base_scal()
Sets the spectral bases of the Valeur va to the standard ones for a scalar.
Tbl & set(int l)
Read/write of the value in a given domain.
Class for a two-fluid (tabulated) equation of state.
void calcule_interpol(const Cmp &ent1, const Cmp &ent2, const Cmp &delta2, Cmp &nbar1, Cmp &nbar2, Cmp &ener, Cmp &press, Cmp &K_nn, Cmp &K_np, Cmp &K_pp, int nzet, int l_min=0) const
General computational method for Cmp 's, it computes both baryon densities, energy and pressure profi...
2-fluids equation of state base class.
virtual void calcule_tout(const Cmp &ent1, const Cmp &ent2, const Cmp &delta2, Cmp &nbar1, Cmp &nbar2, Cmp &ener, Cmp &press, int nzet, int l_min=0) const
General computational method for Cmp 's, it computes both baryon densities, energy and pressure profi...
double get_m1() const
Return the individual particule mass
double get_m2() const
Return the individual particule mass
Cmp get_Knn(const Cmp &nbar1, const Cmp &nbar2, const Cmp &x2, int nzet, int l_min=0) const
Computes the derivatives of the energy/(baryonic density 1) .
virtual int identify() const =0
Returns a number to identify the sub-classe of Eos_bifluid the object belongs to.
Cmp get_Kpp(const Cmp &nbar1, const Cmp &nbar2, const Cmp &x2, int nzet, int l_min=0) const
Computes the derivatives of the energy/(baryonic density 2) .
Cmp get_Knp(const Cmp &nbar1, const Cmp &nbar2, const Cmp &x2, int nzet, int l_min=0) const
Computes the derivatives of the energy with respect to .
Class for two-fluid rotating relativistic stars.
Et_rot_bifluid(Map &mp_i, int nzet_i, bool relat, const Eos_bifluid &eos_i)
Standard constructor.
virtual void del_hydro_euler()
Sets to ETATNONDEF (undefined state) the hydrodynamical quantities relative to the Eulerian observer.
double * p_angu_mom_1_part2_2
To compute Xn (2nd version)
Tenseur gam_euler2
Lorentz factor between the fluid 2 and Eulerian observers
Tenseur enerps_euler
the combination : useful because in the Newtonian limit .
Tenseur K_np
Coefficient Knp.
virtual ~Et_rot_bifluid()
Destructor.
double * p_mass_b1
Baryon mass of fluid 1.
virtual double angu_mom_1_part1_1() const
To compute In (1st version)
double * p_mass_b2
Baryon mass of fluid 2.
virtual double grv3(ostream *ost=0x0) const
Error on the virial identity GRV3.
Tenseur j_euler12_1
To compute Ip (1st version)
virtual double mom_quad_Bo() const
Part of the quadrupole moment.
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
void set_enthalpies(const Cmp &, const Cmp &)
Sets both enthalpy profiles.
double * p_angu_mom_1_part1_2
To compute In (2nd version)
Tenseur j_euler2
To compute Jp.
Tenseur sphph_euler
The component of the stress tensor .
double * p_angu_mom_2_part2_1
To compute Xp (1st version)
Tenseur K_pp
Coefficient Kpp.
void operator=(const Et_rot_bifluid &)
Assignment to another Et_rot_bifluid.
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
virtual double angu_mom_2_part1_2() const
To compute Ip (2nd version)
Tbl * p_xi_surf2
Description of the surface of fluid 2: 2-D Tbl containing the values of the radial coordinate on the...
virtual double angu_mom_2_part1_1() const
To compute Ip (1st version)
double * p_angu_mom_1
Angular momentum of fluid 1.
virtual double angu_mom_2() const
Angular momentum of fluid 2.
Tenseur j_euler11_1
To compute In (1st version)
virtual void del_deriv() const
Deletes all the derived quantities.
virtual double angu_mom_2_part2_2() const
To compute Xp (2nd version)
double * p_ray_eq2
Coordinate radius at , .
virtual void sauve(FILE *) const
Save in a file.
double * p_angu_mom_1_part2_1
To compute Xn (1st version)
virtual double mass_b() const
Total Baryon mass.
Tenseur j_euler1
To compute Jn.
Tenseur j_euler
Total angular momentum (flat-space!) 3-vector , which is related to of the "3+1" decomposition,...
virtual void equation_of_state()
Computes the proper baryon and energy densities, as well as pressure and the coefficients Knn,...
double * p_ray_pole2
Coordinate radius at .
Tenseur K_nn
Coefficient Knn.
virtual double mass_g() const
Gravitational mass.
virtual double angu_mom_2_part2_1() const
To compute Xp (1st version)
double * p_aplat2
Flatening r_pole/r_eq of fluid no.2.
double * p_angu_mom_2_part2_2
To compute Xp (2nd version)
double * p_area2
Surface area of fluid no.2.
double * p_angu_mom_2
Angular momentum of fluid 2.
Tenseur delta_car
The "relative velocity" (squared) of the two fluids.
double omega2
Rotation angular velocity for fluid 2 ([f_unit] )
const Eos_bifluid & eos
Equation of state for two-fluids model.
double * p_angu_mom_2_part1_2
To compute Ip (2nd version)
virtual double angu_mom_1_part1_2() const
To compute In (2nd version)
virtual double angu_mom_1_part2_1() const
To compute Xn (1st version)
Tenseur uuu2
Norm of the (fluid no.2) 3-velocity with respect to the eulerian observer.
double ray_eq2() const
Coordinate radius for fluid 2 at , [r_unit].
virtual double r_circ2() const
Circumferential radius for fluid 2.
virtual double mom_quad() const
Quadrupole moment.
virtual double aplat2() const
Flatening r_pole/r_eq for fluid 2.
virtual double grv2() const
Error on the virial identity GRV2.
double * p_angu_mom_1_part1_1
To compute In (1st version)
double * p_r_circ2
Circumferential radius of fluid no.2.
Tenseur ent2
Log-enthalpy for the second fluid.
double * p_ray_eq2_pi
Coordinate radius at , .
virtual double angu_mom_1_part2_2() const
To compute Xn (2nd version)
virtual void partial_display(ostream &) const
Printing of some informations, excluding all global quantities.
double * p_angu_mom_2_part1_1
To compute Ip (1st version)
Itbl * p_l_surf2
Description of the surface of fluid 2: 2-D Itbl containing the values of the domain index l on the su...
Tenseur nbar2
Baryon density in the fluid frame, for fluid 2.
virtual double angu_mom_1() const
Angular momentum of fluid 1.
virtual double angu_mom() const
Angular momentum.
double * p_ray_eq2_pis2
Coordinate radius at , .
virtual void hydro_euler()
Computes the hydrodynamical quantities relative to the Eulerian observer from those in the fluid fram...
virtual double mean_radius2() const
Mean radius for fluid 2.
virtual double mom_quad_old() const
Part of the quadrupole moment.
Class for isolated rotating stars *** DEPRECATED : use class Star_rot instead ***.
Tenseur uuu
Norm of u_euler.
virtual void del_deriv() const
Deletes all the derived quantities.
double omega
Rotation angular velocity ([f_unit] )
void operator=(const Etoile_rot &)
Assignment to another Etoile_rot.
virtual double r_circ() const
Circumferential radius.
virtual void set_der_0x0() const
Sets to 0x0 all the pointers on derived quantities.
Tenseur & logn
Metric potential = logn_auto.
virtual double aplat() const
Flatening r_pole/r_eq.
Tenseur nphi
Metric coefficient .
Tenseur bbb
Metric factor B.
Tenseur & dzeta
Metric potential = beta_auto.
virtual double mean_radius() const
Mean radius.
virtual void del_hydro_euler()
Sets to ETATNONDEF (undefined state) the hydrodynamical quantities relative to the Eulerian observer.
virtual double z_eqf() const
Forward redshift factor at equator.
Tenseur b_car
Square of the metric factor B.
virtual double z_eqb() const
Backward redshift factor at equator.
virtual void sauve(FILE *) const
Save in a file.
virtual double z_pole() const
Redshift factor at North pole.
int nzet
Number of domains of *mp occupied by the star.
double ray_eq() const
Coordinate radius at , [r_unit].
Tenseur nnn
Total lapse function.
Tenseur nbar
Baryon density in the fluid frame.
Tenseur u_euler
Fluid 3-velocity with respect to the Eulerian observer.
Tenseur gam_euler
Lorentz factor between the fluid and Eulerian observers.
Map & mp
Mapping associated with the star.
Tenseur ener
Total energy density in the fluid frame.
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
Tenseur press
Fluid pressure.
bool relativistic
Indicator of relativity: true for a relativistic star, false for a Newtonian one.
Tenseur ener_euler
Total energy density in the Eulerian frame.
Tenseur s_euler
Trace of the stress tensor in the Eulerian frame.
Tenseur ent
Log-enthalpy (relativistic case) or specific enthalpy (Newtonian case)
Tenseur a_car
Total conformal factor .
double unsurc2
: unsurc2=1 for a relativistic star, 0 for a Newtonian one.
double * x
Array of values of at the nr collocation points.
Base class for coordinate mappings.
const Base_vect_cart & get_bvect_cart() const
Returns the Cartesian basis associated with the coordinates (x,y,z) of the mapping,...
const Base_vect_spher & get_bvect_spher() const
Returns the orthonormal vectorial basis associated with the coordinates of the mapping.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
const Grille3d * get_grille3d(int l) const
Returns a pointer on the 3D mono-grid for domain no. l.
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.
Tbl & set(int l)
Read/write of the Tbl in a given domain.
Tbl ** t
Array (size nzone ) of pointers on the Tbl 's.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
Tensor handling *** DEPRECATED : use class Tensor instead ***.
Cmp & set()
Read/write for a scalar (see also operator=(const Cmp&) ).
void sauve(FILE *) const
Save in a file.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
void annule(int l)
Sets the Tenseur to zero in a given domain.
void set_std_base()
Set the standard spectal basis of decomposition for each component.
void change_triad(const Base_vect &new_triad)
Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly.
void set_triad(const Base_vect &new_triad)
Assigns a new vectorial basis (triad) of decomposition.
void set_etat_nondef()
Sets the logical state to ETATNONDEF (undefined state).
int get_etat() const
Returns the logical state.
Cmp sqrt(const Cmp &)
Square root.
Tbl diffrel(const Cmp &a, const Cmp &b)
Relative difference between two Cmp (norme version).
Cmp pow(const Cmp &, int)
Power .
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 fwrite_be(const int *aa, int size, int nb, FILE *fich)
Writes integer(s) into a binary file according to the big endian convention.
Standard units of space, time and mass.