Eos_bf_poly Class Reference
[Equations of state]

Analytic equation of state for two fluids (relativistic case). More...

#include <eos_bifluid.h>

Inheritance diagram for Eos_bf_poly:
Eos_bifluid Eos_bf_poly_newt

List of all members.

Public Member Functions

 Eos_bf_poly (double kappa1, double kappa2, double kappa3, double beta)
 Standard constructor.
 Eos_bf_poly (double gamma1, double gamma2, double gamma3, double gamma4, double gamma5, double gamma6, double kappa1, double kappa2, double kappa3, double beta, double mass1=1, double mass2=1, double relax=0.5, double precis=1.e-9, double ecart=1.e-8)
 Standard constructor with all parameters.
 Eos_bf_poly (const Eos_bf_poly &)
 Copy constructor.
virtual ~Eos_bf_poly ()
 Destructor.
void operator= (const Eos_bf_poly &)
 Assignment to another Eos_bf_poly.
virtual bool operator== (const Eos_bifluid &) const
 Comparison operator (egality).
virtual bool operator!= (const Eos_bifluid &) const
 Comparison operator (difference).
virtual int identify () const
 Returns a number to identify the sub-classe of Eos_bifluid the object belongs to.
double get_gam1 () const
 Returns the adiabatic index $\gamma_1$.
double get_gam2 () const
 Returns the adiabatic index $\gamma_2$.
double get_gam3 () const
 Returns the adiabatic index $\gamma_3$.
double get_gam4 () const
 Returns the adiabatic index $\gamma_4$.
double get_gam5 () const
 Returns the adiabatic index $\gamma_5$.
double get_gam6 () const
 Returns the adiabatic index $\gamma_6$.
double get_kap1 () const
 Returns the pressure coefficient $\kappa_1$ [unit: $\rho_{\rm nuc} c^2 $], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$.
double get_kap2 () const
 Returns the pressure coefficient $\kappa_2$ [unit: $\rho_{\rm nuc} c^2 $], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$.
double get_kap3 () const
 Returns the pressure coefficient $\kappa_3$ [unit: $\rho_{\rm nuc} c^2 $], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$.
double get_beta () const
 Returns the coefficient $\beta$ [unit: $\rho_{\rm nuc} c^2 $], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$.
int get_typeos () const
virtual void sauve (FILE *) const
 Save in a file.
virtual bool nbar_ent_p (const double ent1, const double ent2, const double delta2, double &nbar1, double &nbar2) const
 Computes both baryon densities from the log-enthalpies.
virtual double nbar_ent_p1 (const double ent1) const
 Computes baryon density out of the log-enthalpy asuming that only fluid 1 is present.
virtual double nbar_ent_p2 (const double ent2) const
 Computes baryon density out of the log-enthalpy assuming that only fluid 2 is present.
virtual double ener_nbar_p (const double nbar1, const double nbar2, const double delta2) const
 Computes the total energy density from the baryonic densities and the relative velocity.
virtual double press_nbar_p (const double nbar1, const double nbar2, const double delta2) const
 Computes the pressure from the baryonic densities and the relative velocity.
virtual Eostrans2Eos () const
 Makes a translation from Eos_bifluid to Eos .
virtual double get_K11 (const double n1, const double n2, const double delta2) const
 Computes the derivative of the energy with respect to (baryonic density 1)$^2$.
virtual double get_K12 (const double n1, const double n2, const double delta2) const
 Computes the derivative of the energy with respect to $x^2=n_1n_2\Gamma_\Delta$.
virtual double get_K22 (const double n1, const double n2, const double delta2) const
 Computes the derivative of the energy/(baryonic density 2)$^2$.
string get_name () const
 Returns the EOS name.
double get_m1 () const
 Return the individual particule mass $m_1$.
double get_m2 () const
 Return the individual particule mass $m_2$.
virtual bool operator== (const Eos_bifluid &) const =0
 Comparison operator (egality).
virtual bool operator!= (const Eos_bifluid &) const =0
 Comparison operator (difference).
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 profiles.
void nbar_ent (const Cmp &ent1, const Cmp &ent2, const Cmp &delta2, Cmp &nbar1, Cmp &nbar2, int nzet, int l_min=0) const
 Computes both baryon density fields from the log-enthalpy fields and the relative velocity.
Cmp ener_ent (const Cmp &ent1, const Cmp &ent2, const Cmp &delta2, int nzet, int l_min=0) const
 Computes the total energy density from the log-enthalpy fields and the relative velocity.
Cmp press_ent (const Cmp &ent1, const Cmp &ent2, const Cmp &delta2, int nzet, int l_min=0) const
 Computes the pressure from the log-enthalpy fields and the relative velocity.
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)$^2$.
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)$^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 $x^2=n_1n_2\Gamma_\Delta^2$.
void calcule (const Cmp &nbar1, const Cmp &nbar2, const Cmp &x2, int nzet, int l_min, double(Eos_bifluid::*fait)(double, double, double) const, Cmp &resu) const
 General computational method for Cmp 's ($K^{ij}$'s).

Static Public Member Functions

static Eos_bifluideos_from_file (FILE *)
 Construction of an EOS from a binary file.
static Eos_bifluideos_from_file (const char *fname)
 Construction of an EOS from a formatted file.

Protected Member Functions

 Eos_bf_poly (FILE *)
 Constructor from a binary file (created by the function sauve(FILE*) ).
 Eos_bf_poly (const char *fname)
 Constructor from a formatted file.
void set_auxiliary ()
 Computes the auxiliary quantities gam1m1 , gam2m1 and gam3m1.
void determine_type ()
 Determines the type of the analytical EOS (see typeos ).
virtual ostream & operator>> (ostream &) const
 Operator >>.

Protected Attributes

double gam1
 Adiabatic indexes $\gamma_1$, see Eq.~eeosbfpolye}.
double gam2
 Adiabatic indexes $\gamma_2$, see Eq.~eeosbfpolye}.
double gam3
 Adiabatic indexes $\gamma_3$, see Eq.~eeosbfpolye}.
double gam4
 Adiabatic indexes $\gamma_4$, see Eq.~eeosbfpolye}.
double gam5
 Adiabatic indexes $\gamma_5$, see Eq.~eeosbfpolye}.
double gam6
 Adiabatic indexes $\gamma_6$, see Eq.~eeosbfpolye}.
double kap1
 Pressure coefficient $\kappa_1$ , see Eq.
double kap2
 Pressure coefficient $\kappa_2$ , see Eq.
double kap3
 Pressure coefficient $\kappa_3$ , see Eq.
double beta
 Coefficient $\beta$ , see Eq.
double gam1m1
 $\gamma_1-1$
double gam2m1
 $\gamma_2-1$
double gam34m1
 $\gamma_3+\gamma_4-1$
double gam56m1
 $\gamma_5+\gamma_6-1$
int typeos
 The bi-fluid analytical EOS type:.
double relax
 Parameters needed for some inversions of the EOS.
double precis
 contains the precision required in zerosec_b
double ecart
 contains the precision required in the relaxation nbar_ent_p
string name
 EOS name.
double m_1
 Individual particle mass $m_1$ [unit: $m_B = 1.66\ 10^{-27} \ {\rm kg}$].
double m_2
 Individual particle mass $m_2$ [unit: $m_B = 1.66\ 10^{-27} \ {\rm kg}$].

Friends

Eos_bifluidEos_bifluid::eos_from_file (FILE *)
 The construction functions from a file.
Eos_bifluidEos_bifluid::eos_from_file (const char *fname)
ostream & operator<< (ostream &, const Eos_bifluid &)
 Display.

Detailed Description

Analytic equation of state for two fluids (relativistic case).

This equation of state (EOS) corresponds to two types of relativistic particles of rest mass is $m_1$ and $m_2$, whose total energy density $\cal{E}$ is related to their numerical densities $n_1$, $n_2$ and relative velocity

\[ \Gamma_\Delta = -g_{\alpha\beta} u^\alpha_{\rm n} u^\beta_{\rm p} \label{e:defgamamdelta} \]

($u^\alpha_{\rm n}$ and $u^\alpha_{\rm p}$ being the 4-velocities of both fluids), by

\[ \label{eeosbfpolye} {\cal{E}} = \frac{1}{2}\kappa_1 n_1^{\gamma_1} + m_1 c^2 \, n_1 \ + \frac{1}{2}\kappa_2 n_2^{\gamma_2} + m_2 c^2 \, n_2 \ + \kappa_3 n_1^{\gamma_3} n_2^{\gamma_4} \ + \Delta^2 \beta n_1^{\gamma_5} n_2^{\gamma_6}\ . \]

The relativistic (i.e. including rest mass energy) chemical potentials are then

\[ \mu_1 := {{\rm d}{\cal{E}} \over {\rm d}n_1} = \frac{1}{2}\gamma_1\kappa_1 n_1^{\gamma_1-1} + m_1 c^2 + \gamma_3 \kappa_3 n_1^{\gamma_3-1} n_2^{\gamma_4} + \Delta^2 \gamma_5 \beta n_1^{\gamma_5-1} n_2^{\gamma_6}\ , \]

\[ \mu_2 := {{\rm d}{\cal{E}} \over {\rm d}n_2} = \frac{1}{2}\gamma_2\kappa_2 n_2^{\gamma_2-1} + m_2 c^2 + \gamma_4 \kappa_3 n_1^{\gamma_3} n_2^{\gamma_4-1} + \Delta^2 \gamma_6 \beta n_1^{\gamma_5} n_2^{\gamma_6-1} \ . \]

The pressure is given by the (zero-temperature) First Law of Thermodynamics: $p = \mu_1 n_1 + \mu_2 n_2 - {\cal E}$, so that

\[ p = \frac{1}{2} (\gamma_1 -1)\kappa_1 n_1^{\gamma_1} + \frac{1}{2}(\gamma_2-1)\kappa_2 n_2^{\gamma_2} + (\gamma_3 +\gamma_4 -1)\kappa_3 n_1^{\gamma_3}n_2^{\gamma_4} + \Delta^2 \beta \left( (\gamma_5 + \gamma_6 - 1) n_1^{\gamma_5} n_2^{\gamma_6} \right) \ . \]

The log-enthalpies are defined as the logarithm of the ratio of the enthalpy per particle (see Eq.~eeosbfdefent}) by the particle rest mass energy :

\[\label{eeosbfentanal} H_i := c^2 \ln \left( \frac{f_i}{m_ic^2} \right) \ . \]

From this system, the particle densities are obtained in term of the log-enthalpies. (The system (eeosbfentanal}) is a linear one if $\gamma_1 = \gamma_2 = 2$ and $\gamma_3 = \gamma_4 = \gamma_5 = \gamma_6 = 1$).

The energy density $\cal E$and pressure p can then be obtained as functions of baryonic densities. ()

Definition at line 673 of file eos_bifluid.h.


Constructor & Destructor Documentation

Eos_bf_poly::Eos_bf_poly ( double  kappa1,
double  kappa2,
double  kappa3,
double  beta 
)

Standard constructor.

The adiabatic indexes $\gamma_1$ and $\gamma_2$ are set to 2. All other adiabatic indexes $\gamma_i$, $i\in 3\dots 6$ are set to 1. The individual particle masses $m_1$ and $m_2$ are set to the mean baryon mass $m_B = 1.66\ 10^{-27} \ {\rm kg}$. The inversion parameters are set to their default values (see hereafter the consrtuctor with all parameters).

Parameters:
kappa1 pressure coefficient $\kappa_1$
kappa2 pressure coefficient $\kappa_2$
kappa3 pressure coefficient $\kappa_3$
beta coefficient in the entrainment term $\beta$ (cf. Eq.~(eeosbfpolye})) [unit: $\rho_{\rm nuc} c^2$], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$

Definition at line 152 of file eos_bf_poly.C.

References determine_type(), and set_auxiliary().

Eos_bf_poly::Eos_bf_poly ( double  gamma1,
double  gamma2,
double  gamma3,
double  gamma4,
double  gamma5,
double  gamma6,
double  kappa1,
double  kappa2,
double  kappa3,
double  beta,
double  mass1 = 1,
double  mass2 = 1,
double  relax = 0.5,
double  precis = 1.e-9,
double  ecart = 1.e-8 
)

Standard constructor with all parameters.

Parameters:
gamma1 adiabatic index $\gamma_1$
gamma2 adiabatic index $\gamma_2$
gamma3 adiabatic index $\gamma_3$
gamma4 adiabatic index $\gamma_4$
gamma5 adiabatic index $\gamma_5$
gamma6 adiabatic index $\gamma_6$ (cf. Eq.~(eeosbfpolye}))
kappa1 pressure coefficient $\kappa_1$
kappa2 pressure coefficient $\kappa_2$
kappa3 pressure coefficient $\kappa_3$
beta coefficient in the entrainment term $\beta$ (cf. Eq.~(eeosbfpolye})) [unit: $\rho_{\rm nuc} c^2$], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$
mass1 individual particule mass $m_1$ (neutrons)
mass2 individual particule mass $m_2$ (protons) [unit: $m_B = 1.66\ 10^{-27} \ {\rm kg}$]
relax relaxation parameter (see par_inv)
precis precision parameter for zerosec_b (see par_inv)
relax precision parameter for relaxation procedure (see par_inv)

Definition at line 166 of file eos_bf_poly.C.

References determine_type(), and set_auxiliary().

Eos_bf_poly::Eos_bf_poly ( const Eos_bf_poly eosi  ) 

Copy constructor.

Definition at line 184 of file eos_bf_poly.C.

References set_auxiliary().

Eos_bf_poly::Eos_bf_poly ( FILE *  fich  )  [protected]

Constructor from a binary file (created by the function sauve(FILE*) ).

This constructor is protected because any EOS construction from a binary file must be done via the function Eos_bifluid::eos_from_file(FILE*) .

Definition at line 200 of file eos_bf_poly.C.

References beta, determine_type(), ecart, fread_be(), gam1, gam2, gam3, gam4, gam5, gam6, kap1, kap2, kap3, precis, relax, and set_auxiliary().

Eos_bf_poly::Eos_bf_poly ( const char *  fname  )  [protected]

Constructor from a formatted file.

This constructor is protected because any EOS construction from a formatted file must be done via the function Eos_bifluid::eos_from_file(const char*) .

Definition at line 226 of file eos_bf_poly.C.

References beta, determine_type(), ecart, gam1, gam2, gam3, gam4, gam5, gam6, kap1, kap2, kap3, precis, read_variable(), relax, set_auxiliary(), and typeos.

Eos_bf_poly::~Eos_bf_poly (  )  [virtual]

Destructor.

Definition at line 280 of file eos_bf_poly.C.


Member Function Documentation

void Eos_bifluid::calcule ( const Cmp nbar1,
const Cmp nbar2,
const Cmp x2,
int  nzet,
int  l_min,
double(Eos_bifluid::*)(double, double, double) const   fait,
Cmp resu 
) const [inherited]

General computational method for Cmp 's ($K^{ij}$'s).

Parameters:
nbar1 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density field of fluid 1 at which the derivatives are to be computed.
nbar2 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density field of fluid 2 at which the derivatives are to be computed
x2 [input, unit $n_{\rm nuc}^2c^2$] relative velocity$\times$both densities at which the derivative is to be computed
nzet [input] number of domains where resu is to be computed.
l_min [input] index of the innermost domain is which resu is to be computed [default value: 0]; resu is computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero.
fait [input] pointer on the member function of class Eos_bifluid which performs the pointwise calculation.
resu [output] result of the computation.

Definition at line 619 of file eos_bifluid.C.

References Cmp::annule(), Valeur::c, Valeur::coef_i(), Tbl::get_etat(), Cmp::get_etat(), Cmp::get_mp(), Mg3d::get_nzone(), Tbl::get_taille(), Valeur::set_etat_c_qcq(), Tbl::set_etat_qcq(), Mtbl::set_etat_qcq(), Cmp::set_etat_qcq(), Cmp::set_etat_zero(), Tbl::t, Mtbl::t, and Cmp::va.

void Eos_bifluid::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 [inherited]

General computational method for Cmp 's, it computes both baryon densities, energy and pressure profiles.

Parameters:
ent1 [input] the first log-enthalpy field $H_1$.
ent2 [input] the second log-enthalpy field $H_2$.
delta2 [input] the relative velocity field $\Delta^2 $
nbar1 [output] baryonic density of the first fluid
nbar2 [output] baryonic density of the second fluid [unit: $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$]
ener [output] total energy density $\cal E$ of both fluids together
press [output] pressure p of both fluids together
nzet [input] number of domains where resu is to be computed.
l_min [input] index of the innermost domain is which resu is to be computed [default value: 0]; resu is computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero.

Definition at line 246 of file eos_bifluid.C.

References Cmp::allocate_all(), Cmp::annule(), Eos_bifluid::ener_nbar_p(), Cmp::get_etat(), Cmp::get_mp(), Mg3d::get_nzone(), Eos_bifluid::identify(), Eos_bifluid::nbar_ent_p(), Eos_bifluid::nbar_ent_p1(), Eos_bifluid::nbar_ent_p2(), Eos_bifluid::press_nbar_p(), Cmp::set(), and Cmp::set_etat_zero().

void Eos_bf_poly::determine_type (  )  [protected]

Determines the type of the analytical EOS (see typeos ).

Definition at line 329 of file eos_bf_poly.C.

References gam1, gam2, gam3, gam4, gam5, gam6, and typeos.

Cmp Eos_bifluid::ener_ent ( const Cmp ent1,
const Cmp ent2,
const Cmp delta2,
int  nzet,
int  l_min = 0 
) const [inherited]

Computes the total energy density from the log-enthalpy fields and the relative velocity.

Parameters:
ent1 [input, unit: $c^2$] log-enthalpy $H_1$
ent2 [input, unit: $c^2$] log-enthalpy $H_2$
delta2 [input, unit: $c^2$] relative velocity $\Delta^2$
nzet number of domains where the energy density is to be computed.
l_min index of the innermost domain is which the energy density is to be computed [default value: 0]; the energy density is computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero.
Returns:
energy density field [unit: $\rho_{\rm nuc} c^2$], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$

Definition at line 462 of file eos_bifluid.C.

References Eos_bifluid::ener_nbar_p(), Cmp::get_etat(), Map::get_mg(), Cmp::get_mp(), Mg3d::get_nzone(), Eos_bifluid::nbar_ent_p(), Eos_bifluid::nbar_ent_p1(), and Eos_bifluid::nbar_ent_p2().

double Eos_bf_poly::ener_nbar_p ( const double  nbar1,
const double  nbar2,
const double  delta2 
) const [virtual]

Computes the total energy density from the baryonic densities and the relative velocity.

Parameters:
nbar1 [input] baryonic density of the first fluid
nbar2 [input] baryonic density of the second fluid [unit: $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$]
delta2 [input, unit: $c^2$] relative velocity $\Delta^2$
Returns:
energy density $\cal E$ [unit: $\rho_{\rm nuc} c^2$], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$

Implements Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 884 of file eos_bf_poly.C.

References beta, gam1, gam2, gam3, gam4, gam5, gam6, kap1, kap2, kap3, Eos_bifluid::m_1, Eos_bifluid::m_2, and pow().

Eos_bifluid * Eos_bifluid::eos_from_file ( const char *  fname  )  [static, inherited]

Construction of an EOS from a formatted file.

The following field has to be present:\ ident: [int] identifying the type of 2-fluid EOS 1 = relativistic polytropic EOS (class Eos_bf_poly ). \ 2 = Newtonian polytropic EOS (class Eos_bf_poly_newt ).

Definition at line 126 of file eos_bf_file.C.

References read_variable().

Eos_bifluid * Eos_bifluid::eos_from_file ( FILE *  fich  )  [static, inherited]

Construction of an EOS from a binary file.

The file must have been created by the function sauve(FILE*) .

Definition at line 94 of file eos_bf_file.C.

References fread_be().

double Eos_bf_poly::get_beta (  )  const [inline]

Returns the coefficient $\beta$ [unit: $\rho_{\rm nuc} c^2 $], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$.

Definition at line 909 of file eos_bifluid.h.

References beta.

double Eos_bf_poly::get_gam1 (  )  const [inline]

Returns the adiabatic index $\gamma_1$.

Definition at line 870 of file eos_bifluid.h.

References gam1.

double Eos_bf_poly::get_gam2 (  )  const [inline]

Returns the adiabatic index $\gamma_2$.

Definition at line 873 of file eos_bifluid.h.

References gam2.

double Eos_bf_poly::get_gam3 (  )  const [inline]

Returns the adiabatic index $\gamma_3$.

Definition at line 876 of file eos_bifluid.h.

References gam3.

double Eos_bf_poly::get_gam4 (  )  const [inline]

Returns the adiabatic index $\gamma_4$.

Definition at line 879 of file eos_bifluid.h.

References gam4.

double Eos_bf_poly::get_gam5 (  )  const [inline]

Returns the adiabatic index $\gamma_5$.

Definition at line 882 of file eos_bifluid.h.

References gam5.

double Eos_bf_poly::get_gam6 (  )  const [inline]

Returns the adiabatic index $\gamma_6$.

Definition at line 885 of file eos_bifluid.h.

References gam6.

double Eos_bf_poly::get_K11 ( const double  n1,
const double  n2,
const double  delta2 
) const [virtual]

Computes the derivative of the energy with respect to (baryonic density 1)$^2$.

Parameters:
n1 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density of fluid 1 at which the derivative is to be computed
n2 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density of fluid 2 at which the derivative is to be computed
x [input, unit $n_{\rm nuc}^2c^2$] relative Lorentz factor$\times$both densities at which the derivative is to be computed
Returns:
derivative $K^{11}=2\frac{\partial{\cal{E}}}{\partial{n_1^2}}$

Implements Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 925 of file eos_bf_poly.C.

References beta, gam1, gam3, gam4, gam5, gam6, kap1, kap3, Eos_bifluid::m_1, and pow().

double Eos_bf_poly::get_K12 ( const double  n1,
const double  n2,
const double  delta2 
) const [virtual]

Computes the derivative of the energy with respect to $x^2=n_1n_2\Gamma_\Delta$.

Parameters:
n1 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density of fluid 1 at which the derivative is to be computed
n2 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density of fluid 2 at which the derivative is to be computed
x [input, unit $n_{\rm nuc}^2c^2$] relative Lorentz factor$\times$both densities at which the derivative is to be computed
Returns:
derivative $K^{12}=\frac{\partial {\cal E}}{\partial (n_1n_2\Gamma_\Delta)}$

Implements Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 955 of file eos_bf_poly.C.

References beta, gam5, gam6, and pow().

double Eos_bf_poly::get_K22 ( const double  n1,
const double  n2,
const double  delta2 
) const [virtual]

Computes the derivative of the energy/(baryonic density 2)$^2$.

Parameters:
n1 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density of fluid 1 at which the derivative is to be computed
n2 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density of fluid 2 at which the derivative is to be computed
x [input, unit $n_{\rm nuc}^2c^2$] relative Lorentz factor$\times$both densities at which the derivative is to be computed
Returns:
derivative $K^{22} = 2\frac{\partial {\cal E}}{\partial n_2^2}$

Implements Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 940 of file eos_bf_poly.C.

References beta, gam2, gam3, gam4, gam5, gam6, kap2, kap3, Eos_bifluid::m_2, and pow().

double Eos_bf_poly::get_kap1 (  )  const [inline]

Returns the pressure coefficient $\kappa_1$ [unit: $\rho_{\rm nuc} c^2 $], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$.

Definition at line 891 of file eos_bifluid.h.

References kap1.

double Eos_bf_poly::get_kap2 (  )  const [inline]

Returns the pressure coefficient $\kappa_2$ [unit: $\rho_{\rm nuc} c^2 $], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$.

Definition at line 897 of file eos_bifluid.h.

References kap2.

double Eos_bf_poly::get_kap3 (  )  const [inline]

Returns the pressure coefficient $\kappa_3$ [unit: $\rho_{\rm nuc} c^2 $], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$.

Definition at line 903 of file eos_bifluid.h.

References kap3.

Cmp Eos_bifluid::get_Knn ( const Cmp nbar1,
const Cmp nbar2,
const Cmp x2,
int  nzet,
int  l_min = 0 
) const [inherited]

Computes the derivatives of the energy/(baryonic density 1)$^2$.

Parameters:
nbar1 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density field of fluid 1 at which the derivatives are to be computed
nbar2 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density field of fluid 2 at which the derivatives are to be computed
x2 [input, unit $n_{\rm nuc}^2c^2$] relative velocity$\times$both densities at which the derivative is to be computed
nzet number of domains where the derivatives are to be computed.
l_min index of the innermost domain is which the derivatives are to be computed [default value: 0]; the derivatives are computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero.
Returns:
derivative $K^{11}$ field (see get_K11 )

Definition at line 706 of file eos_bifluid.C.

References Eos_bifluid::calcule(), Eos_bifluid::get_K11(), and Cmp::get_mp().

Cmp Eos_bifluid::get_Knp ( const Cmp nbar1,
const Cmp nbar2,
const Cmp x2,
int  nzet,
int  l_min = 0 
) const [inherited]

Computes the derivatives of the energy with respect to $x^2=n_1n_2\Gamma_\Delta^2$.

Parameters:
nbar1 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density field of fluid 1 at which the derivatives are to be computed
nbar2 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density field of fluid 2 at which the derivatives are to be computed
x2 [input, unit $n_{\rm nuc}^2c^2$] relative velocity$\times$both densities at which the derivative is to be computed
nzet number of domains where the derivatives are to be computed.
l_min index of the innermost domain is which the derivatives are to be computed [default value: 0]; the derivatives are computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero.
Returns:
derivative $K^{12}$ field (see get_K12 )

Definition at line 717 of file eos_bifluid.C.

References Eos_bifluid::calcule(), Eos_bifluid::get_K12(), and Cmp::get_mp().

Cmp Eos_bifluid::get_Kpp ( const Cmp nbar1,
const Cmp nbar2,
const Cmp x2,
int  nzet,
int  l_min = 0 
) const [inherited]

Computes the derivatives of the energy/(baryonic density 2)$^2$.

Parameters:
nbar1 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density field of fluid 1 at which the derivatives are to be computed
nbar2 [input, unit $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$] baryonic density field of fluid 2 at which the derivatives are to be computed
x2 [input, unit $n_{\rm nuc}^2c^2$] relative velocity$\times$both densities at which the derivative is to be computed
nzet number of domains where the derivatives are to be computed.
l_min index of the innermost domain is which the derivatives are to be computed [default value: 0]; the derivatives are computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero.
Returns:
derivative $K^{22}$ field (see get_K12 )

Definition at line 728 of file eos_bifluid.C.

References Eos_bifluid::calcule(), Eos_bifluid::get_K22(), and Cmp::get_mp().

double Eos_bifluid::get_m1 (  )  const [inline, inherited]

Return the individual particule mass $m_1$.

[unit: $m_B = 1.66\ 10^{-27} \ {\rm kg}$].

Definition at line 234 of file eos_bifluid.h.

References Eos_bifluid::m_1.

double Eos_bifluid::get_m2 (  )  const [inline, inherited]

Return the individual particule mass $m_2$.

[unit: $m_B = 1.66\ 10^{-27} \ {\rm kg}$].

Definition at line 240 of file eos_bifluid.h.

References Eos_bifluid::m_2.

string Eos_bifluid::get_name (  )  const [inline, inherited]

Returns the EOS name.

Definition at line 224 of file eos_bifluid.h.

References Eos_bifluid::name.

int Eos_bf_poly::identify (  )  const [virtual]

Returns a number to identify the sub-classe of Eos_bifluid the object belongs to.

Implements Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 85 of file eos_bf_file.C.

void Eos_bifluid::nbar_ent ( const Cmp ent1,
const Cmp ent2,
const Cmp delta2,
Cmp nbar1,
Cmp nbar2,
int  nzet,
int  l_min = 0 
) const [inherited]

Computes both baryon density fields from the log-enthalpy fields and the relative velocity.

Parameters:
ent1 [input, unit: $c^2$] log-enthalpy $H_1$
ent2 [input, unit: $c^2$] log-enthalpy $H_2$
delta2 [input, unit: $c^2$] relative velocity $\Delta^2$
nbar1 [output] baryonic density of the first fluid
nbar2 [output] baryonic density of the second fluid [unit: $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$]
nzet number of domains where the baryon density is to be computed.
l_min index of the innermost domain is which the baryon density is to be computed [default value: 0]; the baryon density is computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero.

Definition at line 374 of file eos_bifluid.C.

References Cmp::allocate_all(), Cmp::annule(), Cmp::get_etat(), Cmp::get_mp(), Mg3d::get_nzone(), Eos_bifluid::nbar_ent_p(), Eos_bifluid::nbar_ent_p1(), Eos_bifluid::nbar_ent_p2(), Cmp::set(), and Cmp::set_etat_zero().

bool Eos_bf_poly::nbar_ent_p ( const double  ent1,
const double  ent2,
const double  delta2,
double &  nbar1,
double &  nbar2 
) const [virtual]

Computes both baryon densities from the log-enthalpies.

Parameters:
ent1 [input, unit: $c^2$] log-enthalpy $H_1$
ent2 [input, unit: $c^2$] log-enthalpy $H_2$
delta2 [input, unit: $c^2$] relative velocity $\Delta^2$
nbar1 [output] baryonic density of the first fluid
nbar2 [output] baryonic density of the second fluid [unit: $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$]

Implements Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 502 of file eos_bf_poly.C.

References Param::add_double(), Param::add_double_mod(), beta, ecart, exp(), gam1, gam1m1, gam2, gam2m1, gam3, gam4, gam5, gam6, Param::get_double_mod(), kap1, kap2, kap3, log(), Eos_bifluid::m_1, Eos_bifluid::m_2, pow(), precis, relax, sqrt(), typeos, and zerosec_b().

double Eos_bf_poly::nbar_ent_p1 ( const double  ent1  )  const [virtual]

Computes baryon density out of the log-enthalpy asuming that only fluid 1 is present.

Parameters:
ent1 [input, unit: $c^2$] log-enthalpy $H_1$
Returns:
nbar1 baryonic density of the first fluid

Implements Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 873 of file eos_bf_poly.C.

References exp(), gam1, gam1m1, kap1, and Eos_bifluid::m_1.

double Eos_bf_poly::nbar_ent_p2 ( const double  ent2  )  const [virtual]

Computes baryon density out of the log-enthalpy assuming that only fluid 2 is present.

Parameters:
ent2 [input, unit: $c^2$] log-enthalpy $H_1$
Returns:
nbar1 baryonic density of the first fluid

Implements Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 877 of file eos_bf_poly.C.

References exp(), gam2, gam2m1, kap2, and Eos_bifluid::m_2.

virtual bool Eos_bifluid::operator!= ( const Eos_bifluid  )  const [pure virtual, inherited]

Comparison operator (difference).

bool Eos_bf_poly::operator!= ( const Eos_bifluid eos_i  )  const [virtual]

Comparison operator (difference).

Reimplemented in Eos_bf_poly_newt.

Definition at line 436 of file eos_bf_poly.C.

References operator==().

void Eos_bf_poly::operator= ( const Eos_bf_poly eosi  ) 

Assignment to another Eos_bf_poly.

Reimplemented from Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 289 of file eos_bf_poly.C.

References beta, ecart, gam1, gam2, gam3, kap1, kap2, kap3, precis, relax, set_auxiliary(), and typeos.

virtual bool Eos_bifluid::operator== ( const Eos_bifluid  )  const [pure virtual, inherited]

Comparison operator (egality).

bool Eos_bf_poly::operator== ( const Eos_bifluid eos_i  )  const [virtual]

Comparison operator (egality).

Reimplemented in Eos_bf_poly_newt.

Definition at line 381 of file eos_bf_poly.C.

References beta, gam1, gam2, gam3, gam4, gam5, gam6, identify(), Eos_bifluid::identify(), kap1, kap2, kap3, Eos_bifluid::m_1, and Eos_bifluid::m_2.

ostream & Eos_bf_poly::operator>> ( ostream &  ost  )  const [protected, virtual]

Operator >>.

Implements Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 467 of file eos_bf_poly.C.

References beta, ecart, gam1, gam2, gam3, gam4, gam5, gam6, kap1, kap2, kap3, precis, relax, and typeos.

Cmp Eos_bifluid::press_ent ( const Cmp ent1,
const Cmp ent2,
const Cmp delta2,
int  nzet,
int  l_min = 0 
) const [inherited]

Computes the pressure from the log-enthalpy fields and the relative velocity.

Parameters:
ent1 [input, unit: $c^2$] log-enthalpy $H_1$
ent2 [input, unit: $c^2$] log-enthalpy $H_2$
delta2 [input, unit: $c^2$] relative velocity $\Delta^2$
nzet number of domains where the pressure is to be computed.
l_min index of the innermost domain is which the pressure is to be computed [default value: 0]; the pressure is computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero.
Returns:
pressure field [unit: $\rho_{\rm nuc} c^2$], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$

Definition at line 542 of file eos_bifluid.C.

References Cmp::get_etat(), Map::get_mg(), Cmp::get_mp(), Mg3d::get_nzone(), Eos_bifluid::nbar_ent_p(), Eos_bifluid::nbar_ent_p1(), Eos_bifluid::nbar_ent_p2(), and Eos_bifluid::press_nbar_p().

double Eos_bf_poly::press_nbar_p ( const double  nbar1,
const double  nbar2,
const double  delta2 
) const [virtual]

Computes the pressure from the baryonic densities and the relative velocity.

Parameters:
nbar1 [input] baryonic density of the first fluid
nbar2 [input] baryonic density of the second fluid [unit: $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$]
delta2 [input, unit: $c^2$] relative velocity $\Delta^2$
Returns:
pressure p [unit: $\rho_{\rm nuc} c^2$], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$

Implements Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 904 of file eos_bf_poly.C.

References beta, gam1, gam1m1, gam2, gam2m1, gam3, gam34m1, gam4, gam5, gam56m1, gam6, kap1, kap2, kap3, and pow().

void Eos_bf_poly::sauve ( FILE *  fich  )  const [virtual]

Save in a file.

Reimplemented from Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 447 of file eos_bf_poly.C.

References beta, ecart, fwrite_be(), gam1, gam2, gam3, gam4, gam5, gam6, kap1, kap2, kap3, precis, and relax.

void Eos_bf_poly::set_auxiliary (  )  [protected]

Computes the auxiliary quantities gam1m1 , gam2m1 and gam3m1.

Definition at line 315 of file eos_bf_poly.C.

References gam1, gam1m1, gam2, gam2m1, gam3, gam34m1, gam4, gam5, gam56m1, gam6, kap1, kap2, and kap3.

Eos * Eos_bf_poly::trans2Eos (  )  const [virtual]

Makes a translation from Eos_bifluid to Eos .

This is only useful for the construction of a Et_rot_bifluid star and ought not to be used in other situations.

Implements Eos_bifluid.

Reimplemented in Eos_bf_poly_newt.

Definition at line 970 of file eos_bf_poly.C.

References gam1, kap1, and Eos_bifluid::m_1.


Friends And Related Function Documentation

Eos_bifluid* Eos_bifluid::eos_from_file ( FILE *   )  [friend]

The construction functions from a file.

Reimplemented in Eos_bf_poly_newt.

ostream& operator<< ( ostream &  ,
const Eos_bifluid  
) [friend, inherited]

Display.


Member Data Documentation

double Eos_bf_poly::beta [protected]

Coefficient $\beta$ , see Eq.

~eeosbfpolye} [unit: $\rho_{\rm nuc} c^2 / n_{\rm nuc}^\gamma$], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$ and $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$.

Definition at line 723 of file eos_bifluid.h.

double Eos_bf_poly::ecart [protected]

contains the precision required in the relaxation nbar_ent_p

Definition at line 763 of file eos_bifluid.h.

double Eos_bf_poly::gam1 [protected]

Adiabatic indexes $\gamma_1$, see Eq.~eeosbfpolye}.

Definition at line 680 of file eos_bifluid.h.

double Eos_bf_poly::gam1m1 [protected]

$\gamma_1-1$

Definition at line 725 of file eos_bifluid.h.

double Eos_bf_poly::gam2 [protected]

Adiabatic indexes $\gamma_2$, see Eq.~eeosbfpolye}.

Definition at line 683 of file eos_bifluid.h.

double Eos_bf_poly::gam2m1 [protected]

$\gamma_2-1$

Definition at line 726 of file eos_bifluid.h.

double Eos_bf_poly::gam3 [protected]

Adiabatic indexes $\gamma_3$, see Eq.~eeosbfpolye}.

Definition at line 686 of file eos_bifluid.h.

double Eos_bf_poly::gam34m1 [protected]

$\gamma_3+\gamma_4-1$

Definition at line 727 of file eos_bifluid.h.

double Eos_bf_poly::gam4 [protected]

Adiabatic indexes $\gamma_4$, see Eq.~eeosbfpolye}.

Definition at line 689 of file eos_bifluid.h.

double Eos_bf_poly::gam5 [protected]

Adiabatic indexes $\gamma_5$, see Eq.~eeosbfpolye}.

Definition at line 692 of file eos_bifluid.h.

double Eos_bf_poly::gam56m1 [protected]

$\gamma_5+\gamma_6-1$

Definition at line 728 of file eos_bifluid.h.

double Eos_bf_poly::gam6 [protected]

Adiabatic indexes $\gamma_6$, see Eq.~eeosbfpolye}.

Definition at line 695 of file eos_bifluid.h.

double Eos_bf_poly::kap1 [protected]

Pressure coefficient $\kappa_1$ , see Eq.

~eeosbfpolye} [unit: $\rho_{\rm nuc} c^2 / n_{\rm nuc}^\gamma$], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$ and $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$.

Definition at line 702 of file eos_bifluid.h.

double Eos_bf_poly::kap2 [protected]

Pressure coefficient $\kappa_2$ , see Eq.

~eeosbfpolye} [unit: $\rho_{\rm nuc} c^2 / n_{\rm nuc}^\gamma$], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$ and $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$.

Definition at line 709 of file eos_bifluid.h.

double Eos_bf_poly::kap3 [protected]

Pressure coefficient $\kappa_3$ , see Eq.

~eeosbfpolye} [unit: $\rho_{\rm nuc} c^2 / n_{\rm nuc}^\gamma$], where $\rho_{\rm nuc} := 1.66\ 10^{17} \ {\rm kg/m}^3$ and $n_{\rm nuc} := 0.1 \ {\rm fm}^{-3}$.

Definition at line 716 of file eos_bifluid.h.

double Eos_bifluid::m_1 [protected, inherited]

Individual particle mass $m_1$ [unit: $m_B = 1.66\ 10^{-27} \ {\rm kg}$].

Definition at line 171 of file eos_bifluid.h.

double Eos_bifluid::m_2 [protected, inherited]

Individual particle mass $m_2$ [unit: $m_B = 1.66\ 10^{-27} \ {\rm kg}$].

Definition at line 176 of file eos_bifluid.h.

string Eos_bifluid::name [protected, inherited]

EOS name.

Definition at line 166 of file eos_bifluid.h.

double Eos_bf_poly::precis [protected]

contains the precision required in zerosec_b

Definition at line 760 of file eos_bifluid.h.

double Eos_bf_poly::relax [protected]

Parameters needed for some inversions of the EOS.

In particular, it is used for type 4 EOS: contains the relaxation parameter needed in the iteration

Definition at line 758 of file eos_bifluid.h.

int Eos_bf_poly::typeos [protected]

The bi-fluid analytical EOS type:.

0 - $\gamma_1 = \gamma_2 = 2$ and $\gamma_3 = \gamma_4 = \gamma_5 = \gamma_6 = 1$. In this case, the EOS can be inverted analytically.

1 - $\gamma_3 = \gamma_4 = \gamma_5 = \gamma_6 = 1$, but $\gamma_1 \not= 2$ or $\gamma_2 \not= 2$.

2 - $\gamma_3 = \gamma_5 = 1$, but none of the previous cases.

3 - $\gamma_4 = \gamma_6 = 1$, but none of the previous cases.

4 - None of the previous cases (the most general)

5 - special case of comparison to slow-rotation approximation: this is identical to typeos=0, but using a modified EOS-inversion method, namely we don't switch to a 1-fluid EOS in 1-fluid regions.

Definition at line 752 of file eos_bifluid.h.


The documentation for this class was generated from the following files:

Generated on 7 Oct 2014 for LORENE by  doxygen 1.6.1