Lorene::Eos_bf_poly_newt Class Reference
Equations of state

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

`#include <eos_bifluid.h>`

Inheritance diagram for Lorene::Eos_bf_poly_newt:

## Public Member Functions

| Eos_bf_poly_newt (double kappa1, double kappa2, double kappa3, double beta)
| Standard constructor.
| Eos_bf_poly_newt (double gamma1, double gamma2, double gamma3, double gamma4, double gamma5, double gamma6, double kappa1, double kappa2, double kappa3, double beta, double mass1, double mass2, double relax=0.5, double precis=1.e-9, double ecart=1.e-8)
| Standard constructor with all parameters.
| Eos_bf_poly_newt (const Eos_bf_poly_newt &)
| Copy constructor.
virtual | ~Eos_bf_poly_newt ()
| Destructor.
void | operator= (const Eos_bf_poly_newt &)
| Assignment to another `Eos_bf_poly_newt`.
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.
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 function implemented in the derived classes).
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 Eos * | trans2Eos () 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) .
virtual double | get_K12 (const double n1, const double n2, const double delta2) const
| Computes the derivative of the energy with respect to .
virtual double | get_K22 (const double n1, const double n2, const double delta2) const
| Computes the derivative of the energy/(baryonic density 2) .
double | get_gam1 () const
| Returns the adiabatic index .
double | get_gam2 () const
| Returns the adiabatic index .
double | get_gam3 () const
| Returns the adiabatic index .
double | get_gam4 () const
| Returns the adiabatic index .
double | get_gam5 () const
| Returns the adiabatic index .
double | get_gam6 () const
| Returns the adiabatic index .
double | get_kap1 () const
| Returns the pressure coefficient [unit: ], where .
double | get_kap2 () const
| Returns the pressure coefficient [unit: ], where .
double | get_kap3 () const
| Returns the pressure coefficient [unit: ], where .
double | get_beta () const
| Returns the coefficient [unit: ], where .
int | get_typeos () const
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 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) .
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).

## 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_bf_poly_newt (FILE *)
| Constructor from a binary file (created by the function `sauve(FILE*)` ).
| Eos_bf_poly_newt (const char *fname)
| Constructor from a formatted file.
virtual ostream & | operator>> (ostream &) const
| Operator >>.
void | set_auxiliary ()
| Computes the auxiliary quantities `gam1m1` , `gam2m1` and `gam3m1`.
void | determine_type ()
| Determines the type of the analytical EOS (see `typeos` ).

## Protected Attributes

double | gam1
| Adiabatic indexes , see Eq.~eeosbfpolye}.
double | gam2
| Adiabatic indexes , see Eq.~eeosbfpolye}.
double | gam3
| Adiabatic indexes , see Eq.~eeosbfpolye}.
double | gam4
| Adiabatic indexes , see Eq.~eeosbfpolye}.
double | gam5
| Adiabatic indexes , see Eq.~eeosbfpolye}.
double | gam6
| Adiabatic indexes , see Eq.~eeosbfpolye}.
double | kap1
| Pressure coefficient , see Eq.
double | kap2
| Pressure coefficient , see Eq.
double | kap3
| Pressure coefficient , see Eq.
double | beta
| Coefficient , see Eq.
double | gam1m1
double | gam2m1
double | gam34m1
double | gam56m1
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 [unit: ].
double | m_2
| Individual particle mass [unit: ].

## Friends

Eos_bifluid * | Eos_bifluid::eos_from_file (FILE *)
| The construction functions from a file.
Eos_bifluid * | Eos_bifluid::eos_from_file (const char *fname)

## Detailed Description

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

This equation of state (EOS) corresponds to two types of non-relativistic particles of rest mass is and , whose total energy density is related to their numerical densities , and relative velocity

by

The non-relativistic chemical potentials are then

The pressure is given by the (zero-temperature) First Law of Thermodynamics: , so that

The specific enthalpies are related to the chemical potentials by

From this system, the particle densities are obtained in term of the enthalpies. (The system is a linear one if and ).()

The energy density and pressure p can then be obtained.

Definition at line 1258 of file eos_bifluid.h.

## Constructor & Destructor Documentation

## Eos_bf_poly_newt() [1/5]

Lorene::Eos_bf_poly_newt::Eos_bf_poly_newt | ( | double | kappa1,
|  | double | kappa2,
|  | double | kappa3,
|  | double | beta )

Standard constructor.

The adiabatic indexes and are set to 2. All other adiabatic indexes , are set to 1. The individual particle masses and are set to the mean baryon mass . The inversion parameters are set to their default values (see hereafter the consrtuctor with all parameters).

Parameters

  kappa1 | pressure coefficient
  kappa2 | pressure coefficient
  kappa3 | pressure coefficient
  beta | coefficient in the entrainment term (cf. Eq.~(eeosbfpolye})) [unit: ], where

Definition at line 117 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::Eos_bf_poly(), and Lorene::Eos_bifluid::name.

## Eos_bf_poly_newt() [2/5]

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

Standard constructor with all parameters.

Parameters

  gamma1 | adiabatic index
  gamma2 | adiabatic index
  gamma3 | adiabatic index
  gamma4 | adiabatic index
  gamma5 | adiabatic index
  gamma6 | adiabatic index (cf. Eq.~(eeosbfpolye}))
  kappa1 | pressure coefficient
  kappa2 | pressure coefficient
  kappa3 | pressure coefficient
  beta | coefficient in the entrainment term (cf. Eq.~(eeosbfpolye})) [unit: ], where
  mass1 | individual particule mass (neutrons)
  mass2 | individual particule mass (protons)
  relax | relaxation parameter (see `par_inv`)
  precis | precision parameter for zerosec_b (see `par_inv`)
  relax | precision parameter for relaxation procedure (see `par_inv`)

[unit: ]

Definition at line 125 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::Eos_bf_poly(), and Lorene::Eos_bifluid::name.

## Eos_bf_poly_newt() [3/5]

Lorene::Eos_bf_poly_newt::Eos_bf_poly_newt | ( | const Eos_bf_poly_newt & | eosi | ) |

Copy constructor.

Definition at line 138 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::Eos_bf_poly(), and Eos_bf_poly_newt().

## Eos_bf_poly_newt() [4/5]

Lorene::Eos_bf_poly_newt::Eos_bf_poly_newt | ( | 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 144 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::Eos_bf_poly().

## Eos_bf_poly_newt() [5/5]

Lorene::Eos_bf_poly_newt::Eos_bf_poly_newt | ( | 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 149 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::Eos_bf_poly().

## ~Eos_bf_poly_newt()

Lorene::Eos_bf_poly_newt::~Eos_bf_poly_newt | ( |  | ) |

virtual

Destructor.

Definition at line 156 of file eos_bf_poly_newt.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

inherited

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

inherited

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 inherited

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().

## determine_type()

void Lorene::Eos_bf_poly::determine_type | ( |  | ) |

protected inherited

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

Definition at line 334 of file eos_bf_poly.C.

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

## ener_ent()

Cmp Lorene::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: ] 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()

double Lorene::Eos_bf_poly_newt::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: ]
  delta2 | [input, unit: ] relative velocity

Returns
  energy density [unit: ], where

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 664 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::beta, Lorene::Eos_bf_poly::gam1, Lorene::Eos_bf_poly::gam2, Lorene::Eos_bf_poly::gam3, Lorene::Eos_bf_poly::gam4, Lorene::Eos_bf_poly::gam5, Lorene::Eos_bf_poly::gam6, Lorene::Eos_bf_poly::kap1, Lorene::Eos_bf_poly::kap2, Lorene::Eos_bf_poly::kap3, and Lorene::pow().

## eos_from_file() [1/3]

Eos_bifluid * Lorene::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 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 inherited

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 inherited

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_beta()

double Lorene::Eos_bf_poly::get_beta | ( |  | ) | const

inline inherited

Returns the coefficient
[unit: ], where .

Definition at line 1050 of file eos_bifluid.h.

References beta.

## get_gam1()

double Lorene::Eos_bf_poly::get_gam1 | ( |  | ) | const

inline inherited

Returns the adiabatic index .

Definition at line 1011 of file eos_bifluid.h.

References gam1.

## get_gam2()

double Lorene::Eos_bf_poly::get_gam2 | ( |  | ) | const

inline inherited

Returns the adiabatic index .

Definition at line 1014 of file eos_bifluid.h.

References gam2.

## get_gam3()

double Lorene::Eos_bf_poly::get_gam3 | ( |  | ) | const

inline inherited

Returns the adiabatic index .

Definition at line 1017 of file eos_bifluid.h.

References gam3.

## get_gam4()

double Lorene::Eos_bf_poly::get_gam4 | ( |  | ) | const

inline inherited

Returns the adiabatic index .

Definition at line 1020 of file eos_bifluid.h.

References gam4.

## get_gam5()

double Lorene::Eos_bf_poly::get_gam5 | ( |  | ) | const

inline inherited

Returns the adiabatic index .

Definition at line 1023 of file eos_bifluid.h.

References gam5.

## get_gam6()

double Lorene::Eos_bf_poly::get_gam6 | ( |  | ) | const

inline inherited

Returns the adiabatic index .

Definition at line 1026 of file eos_bifluid.h.

References gam6.

## get_K11()

double Lorene::Eos_bf_poly_newt::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) .

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

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 700 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::beta, Lorene::Eos_bf_poly::gam5, Lorene::Eos_bf_poly::gam6, Lorene::Eos_bifluid::m_1, and Lorene::pow().

## get_K12()

double Lorene::Eos_bf_poly_newt::get_K12 | ( | const double | n1,
|  | const double | n2,
|  | const double | delta2 ) const

virtual

Computes the derivative of the energy with respect to .

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

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 720 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::beta, Lorene::Eos_bf_poly::gam5, Lorene::Eos_bf_poly::gam6, and Lorene::pow().

## get_K22()

double Lorene::Eos_bf_poly_newt::get_K22 | ( | const double | n1,
|  | const double | n2,
|  | const double | delta2 ) const

virtual

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

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

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 710 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::beta, Lorene::Eos_bf_poly::gam5, Lorene::Eos_bf_poly::gam6, Lorene::Eos_bifluid::m_2, and Lorene::pow().

## get_kap1()

double Lorene::Eos_bf_poly::get_kap1 | ( |  | ) | const

inline inherited

Returns the pressure coefficient
[unit: ], where .

Definition at line 1032 of file eos_bifluid.h.

References kap1.

## get_kap2()

double Lorene::Eos_bf_poly::get_kap2 | ( |  | ) | const

inline inherited

Returns the pressure coefficient
[unit: ], where .

Definition at line 1038 of file eos_bifluid.h.

References kap2.

## get_kap3()

double Lorene::Eos_bf_poly::get_kap3 | ( |  | ) | const

inline inherited

Returns the pressure coefficient
[unit: ], where .

Definition at line 1044 of file eos_bifluid.h.

References kap3.

## get_Knn()

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

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

inherited

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

inherited

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

inherited

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

inherited

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

inherited

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 inherited

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 inherited

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 inherited

Returns the EOS name.

Definition at line 246 of file eos_bifluid.h.

References name.

## get_typeos()

int Lorene::Eos_bf_poly::get_typeos | ( |  | ) | const

inline inherited

Definition at line 1053 of file eos_bifluid.h.

## identify()

int Lorene::Eos_bf_poly_newt::identify | ( |  | ) | const

virtual

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

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 97 of file eos_bf_file.C.

## 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

inherited

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()

bool Lorene::Eos_bf_poly_newt::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: ] 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: ]

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 285 of file eos_bf_poly_newt.C.

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

## nbar_ent_p1()

double Lorene::Eos_bf_poly_newt::nbar_ent_p1 | ( | const double | ent1 | ) | const

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

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 653 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::gam1, Lorene::Eos_bf_poly::gam1m1, Lorene::Eos_bf_poly::kap1, and Lorene::Eos_bifluid::m_1.

## nbar_ent_p2()

double Lorene::Eos_bf_poly_newt::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: ] log-enthalpy

Returns
  nbar1 baryonic density of the first fluid

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 657 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::gam2, Lorene::Eos_bf_poly::gam2m1, Lorene::Eos_bf_poly::kap2, and Lorene::Eos_bifluid::m_2.

## operator!=()

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

virtual

Comparison operator (difference).

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 232 of file eos_bf_poly_newt.C.

References operator==().

## operator=()

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

Assignment to another `Eos_bf_poly_newt`.

Definition at line 165 of file eos_bf_poly_newt.C.

References Eos_bf_poly_newt(), and Lorene::Eos_bf_poly::operator=().

## operator==()

bool Lorene::Eos_bf_poly_newt::operator== | ( | const Eos_bifluid & | eos_i | ) | const

virtual

Comparison operator (egality).

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 176 of file eos_bf_poly_newt.C.

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

## operator>>()

ostream & Lorene::Eos_bf_poly_newt::operator>> | ( | ostream & | ost | ) | const

protected virtual

Operator >>.

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 248 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::beta, Lorene::Eos_bf_poly::ecart, Lorene::Eos_bf_poly::gam1, Lorene::Eos_bf_poly::gam2, Lorene::Eos_bf_poly::gam3, Lorene::Eos_bf_poly::gam4, Lorene::Eos_bf_poly::gam5, Lorene::Eos_bf_poly::gam6, Lorene::Eos_bf_poly::kap1, Lorene::Eos_bf_poly::kap2, Lorene::Eos_bf_poly::kap3, Lorene::Eos_bifluid::m_1, Lorene::Eos_bifluid::m_2, Lorene::Eos_bf_poly::precis, and Lorene::Eos_bf_poly::relax.

## press_ent()

Cmp Lorene::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: ] 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()

double Lorene::Eos_bf_poly_newt::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: ]
  delta2 | [input, unit: ] relative velocity

Returns
  pressure p [unit: ], where

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 682 of file eos_bf_poly_newt.C.

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

## sauve()

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

virtual

Save in a file.

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 243 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::sauve().

## set_auxiliary()

void Lorene::Eos_bf_poly::set_auxiliary | ( |  | ) |

protected inherited

Computes the auxiliary quantities `gam1m1` , `gam2m1` and `gam3m1`.

Definition at line 320 of file eos_bf_poly.C.

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

## trans2Eos()

Eos * Lorene::Eos_bf_poly_newt::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.

Reimplemented from Lorene::Eos_bf_poly.

Definition at line 733 of file eos_bf_poly_newt.C.

References Lorene::Eos_bf_poly::gam1, and Lorene::Eos_bf_poly::kap1.

## Friends And Related Symbol Documentation

## Eos_bifluid::eos_from_file

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

friend

The construction functions from a file.

References Eos_bf_poly_newt().

## Member Data Documentation

## beta

double Lorene::Eos_bf_poly::beta

protected inherited

Coefficient , see Eq.

~eeosbfpolye} [unit: ], where and .

Definition at line 864 of file eos_bifluid.h.

## ecart

double Lorene::Eos_bf_poly::ecart

protected inherited

contains the precision required in the relaxation nbar_ent_p

Definition at line 904 of file eos_bifluid.h.

## gam1

double Lorene::Eos_bf_poly::gam1

protected inherited

Adiabatic indexes , see Eq.~eeosbfpolye}.

Definition at line 821 of file eos_bifluid.h.

## gam1m1

double Lorene::Eos_bf_poly::gam1m1

protected inherited

Definition at line 866 of file eos_bifluid.h.

## gam2

double Lorene::Eos_bf_poly::gam2

protected inherited

Adiabatic indexes , see Eq.~eeosbfpolye}.

Definition at line 824 of file eos_bifluid.h.

## gam2m1

double Lorene::Eos_bf_poly::gam2m1

protected inherited

Definition at line 867 of file eos_bifluid.h.

## gam3

double Lorene::Eos_bf_poly::gam3

protected inherited

Adiabatic indexes , see Eq.~eeosbfpolye}.

Definition at line 827 of file eos_bifluid.h.

## gam34m1

double Lorene::Eos_bf_poly::gam34m1

protected inherited

Definition at line 868 of file eos_bifluid.h.

## gam4

double Lorene::Eos_bf_poly::gam4

protected inherited

Adiabatic indexes , see Eq.~eeosbfpolye}.

Definition at line 830 of file eos_bifluid.h.

## gam5

double Lorene::Eos_bf_poly::gam5

protected inherited

Adiabatic indexes , see Eq.~eeosbfpolye}.

Definition at line 833 of file eos_bifluid.h.

## gam56m1

double Lorene::Eos_bf_poly::gam56m1

protected inherited

Definition at line 869 of file eos_bifluid.h.

## gam6

double Lorene::Eos_bf_poly::gam6

protected inherited

Adiabatic indexes , see Eq.~eeosbfpolye}.

Definition at line 836 of file eos_bifluid.h.

## kap1

double Lorene::Eos_bf_poly::kap1

protected inherited

Pressure coefficient , see Eq.

~eeosbfpolye} [unit: ], where and .

Definition at line 843 of file eos_bifluid.h.

## kap2

double Lorene::Eos_bf_poly::kap2

protected inherited

Pressure coefficient , see Eq.

~eeosbfpolye} [unit: ], where and .

Definition at line 850 of file eos_bifluid.h.

## kap3

double Lorene::Eos_bf_poly::kap3

protected inherited

Pressure coefficient , see Eq.

~eeosbfpolye} [unit: ], where and .

Definition at line 857 of file eos_bifluid.h.

## m_1

double Lorene::Eos_bifluid::m_1

protected inherited

Individual particle mass
[unit: ].

Definition at line 184 of file eos_bifluid.h.

## m_2

double Lorene::Eos_bifluid::m_2

protected inherited

Individual particle mass
[unit: ].

Definition at line 189 of file eos_bifluid.h.

## name

string Lorene::Eos_bifluid::name

protected inherited

EOS name.

Definition at line 179 of file eos_bifluid.h.

## precis

double Lorene::Eos_bf_poly::precis

protected inherited

contains the precision required in zerosec_b

Definition at line 901 of file eos_bifluid.h.

## relax

double Lorene::Eos_bf_poly::relax

protected inherited

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 899 of file eos_bifluid.h.

## typeos

int Lorene::Eos_bf_poly::typeos

protected inherited

The bi-fluid analytical EOS type:

0 - and . In this case, the EOS can be inverted analytically.

1 - , but or .

2 - , but none of the previous cases.

3 - , 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 893 of file eos_bifluid.h.

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

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