Lorene::Eos_bifluid Class Referenceabstract
Equations of state

2-fluids equation of state base class. More...

`#include <eos_bifluid.h>`

Inheritance diagram for Lorene::Eos_bifluid:

## Public Member Functions

virtual | ~Eos_bifluid ()
| Destructor.
void | operator= (const Eos_bifluid &)
| Assignment to another `Eos_bifluid`.
string | get_name () const
| Returns the EOS name.
double | get_m1 () const
| Return the individual particule mass .
double | get_m2 () const
| Return the individual particule mass .
virtual bool | operator== (const Eos_bifluid &) const =0
| Comparison operator (egality).
virtual bool | operator!= (const Eos_bifluid &) const =0
| Comparison operator (difference).
virtual int | identify () const =0
| Returns a number to identify the sub-classe of `Eos_bifluid` the object belongs to.
virtual void | sauve (FILE *) const
| Save in a file.
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 profiles.
virtual bool | nbar_ent_p (const double ent1, const double ent2, const double delta2, double &nbar1, double &nbar2) const =0
| Computes both baryon densities from the log-enthalpies (virtual function implemented in the derived classes).
virtual double | nbar_ent_p1 (const double ent1) const =0
| Computes baryon density out of the log-enthalpy asuming that only fluid 1 is present (virtual function implemented in the derived classes).
virtual double | nbar_ent_p2 (const double ent2) const =0
| Computes baryon density out of the log-enthalpy assuming that only fluid 2 is present (virtual function implemented in the derived classes).
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.
virtual double | ener_nbar_p (const double nbar1, const double nbar2, const double delta2) const =0
| Computes the total energy density from the baryonic densities 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.
virtual double | press_nbar_p (const double nbar1, const double nbar2, const double delta2) const =0
| Computes the pressure from the baryonic densities 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.
virtual double | get_K11 (const double n1, const double n2, const double x) const =0
| Computes the derivative of the energy with respect to (baryonic density 1) .
virtual double | get_K12 (const double n1, const double n2, const double x) const =0
| Computes the derivative of the energy with respect to .
virtual double | get_K22 (const double n1, const double n2, const double x) const =0
| Computes the derivative of the energy/(baryonic density 2) .
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) .
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 .
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 ( 's).
Cmp | get_Knn_ent (const Cmp &ent1, const Cmp &ent2, const Cmp &x2, int nzet, int l_min=0) const
| Computes the derivatives of the energy/(baryonic density 1) .
Cmp | get_Kpp_ent (const Cmp &ent1, const Cmp &ent2, const Cmp &x2, int nzet, int l_min=0) const
| Computes the derivatives of the energy/(baryonic density 2) .
Cmp | get_Knp_ent (const Cmp &ent1, const Cmp &ent2, const Cmp &x2, int nzet, int l_min=0) const
| Computes the derivatives of the energy with respect to .
void | calcule_ent (const Cmp &ent1, const Cmp &ent2, 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 ( 's).
virtual Eos * | trans2Eos () const =0
| Makes a translation from `Eos_bifluid` to `Eos` .

## Static Public Member Functions

static Eos_bifluid * | eos_from_file (FILE *)
| Construction of an EOS from a binary file.
static Eos_bifluid * | eos_from_file (const char *fname)
| Construction of an EOS from a formatted file.
static Eos_bifluid * | eos_from_file (ifstream &)
| Construction of an EOS from a formatted file.

## Protected Member Functions

| Eos_bifluid ()
| Standard constructor.
| Eos_bifluid (const char *name_i, double mass1, double mass2)
| Standard constructor with name and the two masses per particle.
| Eos_bifluid (const Eos_bifluid &)
| Copy constructor.
| Eos_bifluid (FILE *)
| Constructor from a binary file (created by the function `sauve(FILE*)` ).
| Eos_bifluid (const char *fname)
| Constructor from a formatted file.
| Eos_bifluid (ifstream &fich)
| Construction of an EOS from a formatted file.
virtual ostream & | operator>> (ostream &) const =0
| Operator >>.

## Protected Attributes

string | name
| EOS name.
double | m_1
| Individual particle mass [unit: ].
double | m_2
| Individual particle mass [unit: ].

## Friends

ostream & | operator<< (ostream &ost, const Eos_bifluid &eqetat)
| Display.

## Detailed Description

2-fluids equation of state base class.

Fluid 1 is supposed to correspond to neutrons, whereas fluid 2 corresponds to e.g. protons. Neutron 4-velocity is and proton one is

Therefore, the EOS is defined by giving two log-enthalpies AND a relative velocity as inputs. The output are then: two baryonic densities, the total energy density and pressure The enthalpies and are obtained through the formula

see Comer, Novak & Prix. Log-enthalpies are then defined as , where is the mass of a particle of the first fluid. (same for ) The relative velocity is defined as in Comer, Novak & Prix. It can be seen as the neutron velocity seen in the frame of protons (or vice-versa): ()

Definition at line 173 of file eos_bifluid.h.

## Constructor & Destructor Documentation

## Eos_bifluid() [1/6]

Lorene::Eos_bifluid::Eos_bifluid | ( |  | ) |

protected

Standard constructor.

Definition at line 148 of file eos_bifluid.C.

References m_1, m_2, and name.

## Eos_bifluid() [2/6]

Lorene::Eos_bifluid::Eos_bifluid | ( | const char * | name_i,
|  | double | mass1,
|  | double | mass2 )

explicit protected

Standard constructor with name and the two masses per particle.

Definition at line 154 of file eos_bifluid.C.

References m_1, m_2, and name.

## Eos_bifluid() [3/6]

Lorene::Eos_bifluid::Eos_bifluid | ( | const Eos_bifluid & | eos_i | ) |

protected

Copy constructor.

Definition at line 160 of file eos_bifluid.C.

References Eos_bifluid(), m_1, m_2, and name.

## Eos_bifluid() [4/6]

Lorene::Eos_bifluid::Eos_bifluid | ( | 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 166 of file eos_bifluid.C.

References Lorene::fread_be(), m_1, m_2, and name.

## Eos_bifluid() [5/6]

Lorene::Eos_bifluid::Eos_bifluid | ( | 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*)`.

The following fields have to be present in the config-file:\ name: [string] name of the EOS m_1, m_2: [double] baryon masses of the 2-fluids

Definition at line 179 of file eos_bifluid.C.

References m_1, m_2, name, and Lorene::read_variable().

## Eos_bifluid() [6/6]

Lorene::Eos_bifluid::Eos_bifluid | ( | ifstream & | fich | ) |

protected

Construction of an EOS 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(ifstream& )`.

Definition at line 205 of file eos_bifluid.C.

References m_1, m_2, and name.

## ~Eos_bifluid()

Lorene::Eos_bifluid::~Eos_bifluid | ( |  | ) |

virtual

Destructor.

Definition at line 226 of file eos_bifluid.C.

## Member Function Documentation

## calcule()

void Lorene::Eos_bifluid::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 ( 's).

Parameters

  nbar1 | [input, unit ] baryonic density field of fluid 1 at which the derivatives are to be computed.
  nbar2 | [input, unit ] baryonic density field of fluid 2 at which the derivatives are to be computed
  x2 | [input, unit ] relative velocity 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 656 of file eos_bifluid.C.

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

## calcule_ent()

void Lorene::Eos_bifluid::calcule_ent | ( | const Cmp & | ent1,
|  | const Cmp & | ent2,
|  | 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 ( 's).

Parameters

  ent1 | [input, unit ] baryonic log enthalpy field of fluid 1 at which the derivatives are to be computed.
  ent2 | [input, unit ] baryonic log enthalpy field of fluid 2 at which the derivatives are to be computed
  x2 | [input, unit ] relative velocity 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 783 of file eos_bifluid.C.

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

## calcule_tout()

void Lorene::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

virtual

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

Parameters

  ent1 | [input] the first log-enthalpy field .
  ent2 | [input] the second log-enthalpy field .
  delta2 | [input] the relative velocity field
  nbar1 | [output] baryonic density of the first fluid
  nbar2 | [output] baryonic density of the second fluid [unit: ]
  ener | [output] total energy density 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 281 of file eos_bifluid.C.

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

## ener_ent()

Cmp Lorene::Eos_bifluid::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.

Parameters

  ent1 | [input, unit: ] log-enthalpy
  ent2 | [input, unit: ] log-enthalpy
  delta2 | [input, unit: ] relative velocity
  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: ], where

Definition at line 499 of file eos_bifluid.C.

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

## ener_nbar_p()

virtual double Lorene::Eos_bifluid::ener_nbar_p | ( | const double | nbar1,
|  | const double | nbar2,
|  | const double | delta2 ) const

pure virtual

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

(virtual function implemented in the derived classes).

Parameters

  nbar1 | [input] baryonic density of the first fluid
  nbar2 | [input] baryonic density of the second fluid [unit: ]
  delta2 | [input, unit: ] relative velocity

Returns
  energy density [unit: ], where

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

## eos_from_file() [1/3]

Eos_bifluid * Lorene::Eos_bifluid::eos_from_file | ( | const char * | fname | ) |

static

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 142 of file eos_bf_file.C.

References Eos_bifluid(), and Lorene::read_variable().

## eos_from_file() [2/3]

Eos_bifluid * Lorene::Eos_bifluid::eos_from_file | ( | FILE * | fich | ) |

static

Construction of an EOS from a binary file.

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

Definition at line 105 of file eos_bf_file.C.

References Eos_bifluid(), and Lorene::fread_be().

## eos_from_file() [3/3]

Eos_bifluid * Lorene::Eos_bifluid::eos_from_file | ( | ifstream & | fich | ) |

static

Construction of an EOS from a formatted file.

The fist line of the file must start by the EOS number, according to the following conventions:

- 1 = 2-fluid relativistic polytropic EOS (class `Eos_bf_poly` ).
- 2 = 2-fluid Newtonian polytropic EOS (class `Eos_bf_poly_newt` ).
- 3 = 2-fluid tabulated EOS (class `Eos_bf_tabul`). The second line in the file should contain a name given by the user to the EOS. The following lines should contain the EOS parameters (one parameter per line), in the same order than in the class declaration.

Definition at line 184 of file eos_bf_file.C.

References Eos_bifluid().

## get_K11()

virtual double Lorene::Eos_bifluid::get_K11 | ( | const double | n1,
|  | const double | n2,
|  | const double | x ) const

pure virtual

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

(virtual function implemented in the derived classes).

Parameters

  n1 | [input, unit ] baryonic density of fluid 1 at which the derivative is to be computed
  n2 | [input, unit ] baryonic density of fluid 2 at which the derivative is to be computed
  x | [input, unit ] relative Lorentz factor both densities at which the derivative is to be computed

Returns
  derivative

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

References Lorene::x.

## get_K12()

virtual double Lorene::Eos_bifluid::get_K12 | ( | const double | n1,
|  | const double | n2,
|  | const double | x ) const

pure virtual

Computes the derivative of the energy with respect to .

(virtual function implemented in the derived classes).

Parameters

  n1 | [input, unit ] baryonic density of fluid 1 at which the derivative is to be computed
  n2 | [input, unit ] baryonic density of fluid 2 at which the derivative is to be computed
  x | [input, unit ] relative Lorentz factor both densities at which the derivative is to be computed

Returns
  derivative

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

References Lorene::x.

## get_K22()

virtual double Lorene::Eos_bifluid::get_K22 | ( | const double | n1,
|  | const double | n2,
|  | const double | x ) const

pure virtual

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

(virtual function implemented in the derived classes).

Parameters

  n1 | [input, unit ] baryonic density of fluid 1 at which the derivative is to be computed
  n2 | [input, unit ] baryonic density of fluid 2 at which the derivative is to be computed
  x | [input, unit ] relative Lorentz factor both densities at which the derivative is to be computed

Returns
  derivative

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

References Eos_bifluid(), and Lorene::x.

## get_Knn()

Cmp Lorene::Eos_bifluid::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) .

Parameters

  nbar1 | [input, unit ] baryonic density field of fluid 1 at which the derivatives are to be computed
  nbar2 | [input, unit ] baryonic density field of fluid 2 at which the derivatives are to be computed
  x2 | [input, unit ] relative velocity 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 field (see `get_K11` )

Definition at line 745 of file eos_bifluid.C.

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

## get_Knn_ent()

Cmp Lorene::Eos_bifluid::get_Knn_ent | ( | const Cmp & | ent1,
|  | const Cmp & | ent2,
|  | const Cmp & | x2,
|  | int | nzet,
|  | int | l_min = 0 ) const

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

Parameters

  ent1 | [input, unit ] baryonic log enthalpy field of fluid 1 at which the derivatives are to be computed
  ent2 | [input, unit ] baryonic log enthalpy field of fluid 2 at which the derivatives are to be computed
  x2 | [input, unit ] relative velocity 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 field (see `get_K11` )

Definition at line 873 of file eos_bifluid.C.

References calcule_ent(), get_K11(), and Lorene::Cmp::get_mp().

## get_Knp()

Cmp Lorene::Eos_bifluid::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 .

Parameters

  nbar1 | [input, unit ] baryonic density field of fluid 1 at which the derivatives are to be computed
  nbar2 | [input, unit ] baryonic density field of fluid 2 at which the derivatives are to be computed
  x2 | [input, unit ] relative velocity 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 field (see `get_K12` )

Definition at line 756 of file eos_bifluid.C.

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

## get_Knp_ent()

Cmp Lorene::Eos_bifluid::get_Knp_ent | ( | const Cmp & | ent1,
|  | const Cmp & | ent2,
|  | const Cmp & | x2,
|  | int | nzet,
|  | int | l_min = 0 ) const

Computes the derivatives of the energy with respect to .

Parameters

  ent1 | [input, unit ] baryonic log enthalpy field of fluid 1 at which the derivatives are to be computed
  ent2 | [input, unit ] baryonic log enthalpy field of fluid 2 at which the derivatives are to be computed
  x2 | [input, unit ] relative velocity 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 field (see `get_K12` )

Definition at line 884 of file eos_bifluid.C.

References calcule_ent(), get_K12(), and Lorene::Cmp::get_mp().

## get_Kpp()

Cmp Lorene::Eos_bifluid::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) .

Parameters

  nbar1 | [input, unit ] baryonic density field of fluid 1 at which the derivatives are to be computed
  nbar2 | [input, unit ] baryonic density field of fluid 2 at which the derivatives are to be computed
  x2 | [input, unit ] relative velocity 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 field (see `get_K12` )

Definition at line 767 of file eos_bifluid.C.

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

## get_Kpp_ent()

Cmp Lorene::Eos_bifluid::get_Kpp_ent | ( | const Cmp & | ent1,
|  | const Cmp & | ent2,
|  | const Cmp & | x2,
|  | int | nzet,
|  | int | l_min = 0 ) const

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

Parameters

  ent1 | [input, unit ] baryonic log enthalpy field of fluid 1 at which the derivatives are to be computed
  ent2 | [input, unit ] baryonic log enthalpy field of fluid 2 at which the derivatives are to be computed
  x2 | [input, unit ] relative velocity 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 field (see `get_K12` )

Definition at line 895 of file eos_bifluid.C.

References calcule_ent(), get_K22(), and Lorene::Cmp::get_mp().

## get_m1()

double Lorene::Eos_bifluid::get_m1 | ( |  | ) | const

inline

Return the individual particule mass .

[unit: ].

Definition at line 256 of file eos_bifluid.h.

References m_1.

## get_m2()

double Lorene::Eos_bifluid::get_m2 | ( |  | ) | const

inline

Return the individual particule mass .

[unit: ].

Definition at line 262 of file eos_bifluid.h.

References m_2.

## get_name()

string Lorene::Eos_bifluid::get_name | ( |  | ) | const

inline

Returns the EOS name.

Definition at line 246 of file eos_bifluid.h.

References name.

## identify()

virtual int Lorene::Eos_bifluid::identify | ( |  | ) | const

pure virtual

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

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

References Eos_bifluid().

## nbar_ent()

void Lorene::Eos_bifluid::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.

Parameters

  ent1 | [input, unit: ] log-enthalpy
  ent2 | [input, unit: ] log-enthalpy
  delta2 | [input, unit: ] relative velocity
  nbar1 | [output] baryonic density of the first fluid
  nbar2 | [output] baryonic density of the second fluid [unit: ]
  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 411 of file eos_bifluid.C.

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

## nbar_ent_p()

virtual bool Lorene::Eos_bifluid::nbar_ent_p | ( | const double | ent1,
|  | const double | ent2,
|  | const double | delta2,
|  | double & | nbar1,
|  | double & | nbar2 ) const

pure virtual

Computes both baryon densities from the log-enthalpies (virtual function implemented in the derived classes).

Parameters

  ent1 | [input, unit: ] log-enthalpy
  ent2 | [input, unit: ] log-enthalpy
  delta2 | [input, unit: ] relative velocity
  nbar1 | [output] baryonic density of the first fluid
  nbar2 | [output] baryonic density of the second fluid [unit: ]

Returns
  true if the 2-fluids model is correct, false otherwise.

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

## nbar_ent_p1()

virtual double Lorene::Eos_bifluid::nbar_ent_p1 | ( | const double | ent1 | ) | const

pure virtual

Computes baryon density out of the log-enthalpy asuming that only fluid 1 is present (virtual function implemented in the derived classes).

Parameters

  ent1 | [input, unit: ] log-enthalpy

Returns
  nbar1 baryonic density of the first fluid

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

## nbar_ent_p2()

virtual double Lorene::Eos_bifluid::nbar_ent_p2 | ( | const double | ent2 | ) | const

pure virtual

Computes baryon density out of the log-enthalpy assuming that only fluid 2 is present (virtual function implemented in the derived classes).

Parameters

  ent2 | [input, unit: ] log-enthalpy

Returns
  nbar1 baryonic density of the first fluid

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

## operator!=()

virtual bool Lorene::Eos_bifluid::operator!= | ( | const Eos_bifluid & |  | ) | const

pure virtual

Comparison operator (difference).

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

References Eos_bifluid().

## operator=()

void Lorene::Eos_bifluid::operator= | ( | const Eos_bifluid & | eosi | ) |

Assignment to another `Eos_bifluid`.

Definition at line 232 of file eos_bifluid.C.

References Eos_bifluid(), m_1, m_2, and name.

## operator==()

virtual bool Lorene::Eos_bifluid::operator== | ( | const Eos_bifluid & |  | ) | const

pure virtual

Comparison operator (egality).

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

References Eos_bifluid().

## operator>>()

virtual ostream & Lorene::Eos_bifluid::operator>> | ( | ostream & |  | ) | const

protected pure virtual

Operator >>.

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

## press_ent()

Cmp Lorene::Eos_bifluid::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.

Parameters

  ent1 | [input, unit: ] log-enthalpy
  ent2 | [input, unit: ] log-enthalpy
  delta2 | [input, unit: ] relative velocity
  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: ], where

Definition at line 579 of file eos_bifluid.C.

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

## press_nbar_p()

virtual double Lorene::Eos_bifluid::press_nbar_p | ( | const double | nbar1,
|  | const double | nbar2,
|  | const double | delta2 ) const

pure virtual

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

(virtual function implemented in the derived classes).

Parameters

  nbar1 | [input] baryonic density of the first fluid
  nbar2 | [input] baryonic density of the second fluid [unit: ]
  delta2 | [input, unit: ] relative velocity

Returns
  pressure p [unit: ], where

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

## sauve()

void Lorene::Eos_bifluid::sauve | ( | FILE * | fich | ) | const

virtual

Save in a file.

Reimplemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

Definition at line 245 of file eos_bifluid.C.

References Lorene::fwrite_be(), identify(), m_1, m_2, and name.

## trans2Eos()

virtual Eos * Lorene::Eos_bifluid::trans2Eos | ( |  | ) | const

pure virtual

Makes a translation from `Eos_bifluid` to `Eos` .

(virtual function implemented in the derived classes).

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

Parameters

  relat | [input] Relativistic EOS or not.

Implemented in Lorene::Eos_bf_poly, Lorene::Eos_bf_poly_newt, and Lorene::Eos_bf_tabul.

## Friends And Related Symbol Documentation

## operator<<

ostream & operator<< | ( | ostream & | ost,
|  | const Eos_bifluid & | eqetat )

friend

Display.

Definition at line 264 of file eos_bifluid.C.

References Eos_bifluid(), get_m1(), get_m2(), get_name(), and operator<<.

## Member Data Documentation

## m_1

double Lorene::Eos_bifluid::m_1

protected

Individual particle mass
[unit: ].

Definition at line 184 of file eos_bifluid.h.

## m_2

double Lorene::Eos_bifluid::m_2

protected

Individual particle mass
[unit: ].

Definition at line 189 of file eos_bifluid.h.

## name

string Lorene::Eos_bifluid::name

protected

EOS name.

Definition at line 179 of file eos_bifluid.h.

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

- eos_bifluid.h
- eos_bf_file.C
- eos_bifluid.C